Re: Call queueing

Doug McCallum (dougm@violet.ICO.ISC.COM)
Mon, 29 Aug 88 09:48:02 mdt

In reply to your message of 25 Aug 88 16:10:01 GMT
> The BSD listen(2) syscall (on a socket) provides for the specification
> of a queue of pending connection requests. So does the TLI T_LISTEN function.

> What are the pros and cons of this functionality? Is it merely a matter
> of the cost of copying a protocol control block versus the cost of opening
> and initialising one? Or is there also a functional benefit?

The reason you want to allow for queueing of incoming connection requests is
that you want to buffer them while an application is processing a previous
one. The alternative is to reject the connections until the application is
ready again. Even with minimal overhead tin getting the appliation started
there will be cases where multiple connection requests arrive back-to-back
from the network. You don't want to reject these so you queue them until
there is time to properly respond.

In the BSD systems, the queued connection requests get accepted
automatically. In the TLI mechanism, it is possible that the connection
request has not been responded to giving the application final say on
whether to accept or reject the request.

One minor clarification, the TLI indication to queue connection requests is
in the t_bind call and not the t_listen. T_listen is not the same as the
socket listen. t_listen waits for an incoming connection request and
returns that to the application. The information in the connection request
is then given to the t_accept call if the connection is to be accepted or
the t_snddis call if the connection is to be rejected.

This archive was generated by hypermail 2.0b3 on Thu Mar 09 2000 - 14:43:14 GMT