From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gary Thomas To: Grant Edwards Cc: ecos-discuss@sources.redhat.com Subject: Re: [ECOS] RedBoot gets() problems Date: Fri, 02 Mar 2001 08:48:00 -0000 Message-id: References: <20010302104312.A1391@visi.com> X-SW-Source: 2001-03/msg00067.html On 02-Mar-2001 Grant Edwards wrote: >> > I think I'm going to have to re-design the input scheme so that >> > Redboot still responds to the network and to all ports while in >> > the "middle" of reading an input line. >> >> I'm not convinced that this is the right thing to do. Maybe >> the check for network packets is OK (but I ruled out doing it >> all the time because of overhead costs), > > I'm not sure what you mean by "overhead costs". Are you > concerned about not handling characters fast enough once they > start to arrive? The minimum inter-character gap is already > defined by the length of time it takes to do a network poll. > I'm mostly concerned about the cost of checking the network interface for data. This involves seeing if any packets have arrived, processing them if they have and then checking to see if a request to make a Telnet/TCP connection has been made. This is all quite expensive and should not be encumbered on every input character, thus the choice to only make such a check when the "console" port is idle. One change which might help (wrt network packets) is to treat all characters the same, i.e. with a timeout, that would let you check for network activity while input was being received on a serial port. I think that the code would get very upset if a Telnet/TCP connection arrived while a command was being entered though, another reason for only handling it at the pure idle point, when no [serial] characters have arrived at all.