IPQueue.mesa
This is the interface to the shared variables of the IP world.
Last Edited by: Nichols, August 1, 1983 1:11 pm
Last Edited by: Taft, January 5, 1984 5:13 pm
John Larson, April 14, 1986 9:22:53 pm PST
DIRECTORY
IPDefs USING [Datagram, InternetHandle, neverTimeout, RequestData];
IPQueue:
CEDAR
DEFINITIONS
~ BEGIN
CreateIPHandle:
PROC [requestData: IPDefs.RequestData]
RETURNS [handle: IPDefs.InternetHandle];
Add a new request for incoming packets. Returns a handle on the Internet. If the reqest conflicts with an existing one, then CreateIPHandle returns NIL.
DestroyIPHandle:
PROC [handle: IPDefs.InternetHandle];
Removes the request and flushes all waiting datagrams.
Receive:
PROC [handle: IPDefs.InternetHandle, timeout:
INT ← IPDefs.neverTimeout]
RETURNS [data: IPDefs.Datagram];
Waits for a datagram that matches the request that was used to create the handle. Returns the datagram or NIL if timeout milliseconds (?) pass with no packet arriving. A value of neverTimeout for timeout will cause Receive to wait forever.
QueueDatagram:
PROC [data: IPDefs.Datagram];
Find a home for this datagram and queue it.
END.