[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
UDP communication
- To: "Robin Kladke (303-977-9670)" <robin@ciani.den.mmc.com>
- Subject: UDP communication
- From: Barry Margolin <barmar@Think.COM>
- Date: Fri, 24 Jul 1992 12:46:00 -0400
- Cc: SLUG@ai.sri.com
- In-reply-to: The message of 23 Jul 1992 19:02 EDT from "Robin Kladke (303-977-9670)" <robin@ciani.den.mmc.com>
Date: Thu, 23 Jul 1992 19:02 EDT
From: robin@ciani.den.mmc.com (Robin Kladke (303-977-9670))
How do i (1) disable the ACK requirement associated with ...invoke-service...
so that i can disregard anything sent through this channel and just look
explicitly at messages received?
-- why is an ACK required? I thought UDP was supposed to be a non-ackd
protocol
The ACK is required because Symbolics's generic datagram service was
derived from the Chaosnet datagram facility, which always acks. They
were both designed with the assumption that they would be used for
low-overhead query/response facilities (i.e. remote procedure calls),
not one-way communication.
To get around the need for an ACK, you can use "futures". These allow
you to continue execution after transmitting, and later read the
response. But you can also abort the future before reading the
response. See NET:START-SERVICE-ACCESS-PATH-FUTURE and related
functions.
(2) Get the sun to send an ACK in a way that the symbolics will like it. The
sun is just using the standard UDP send; is there any UNIX stuff that needs
to be done that will associate the ACK sent out with the receipt of the
packet?
Genera expects the source port of the response to match the destination
port of the request. And until Genera 8.1, it also required the source
address of the response to match the destination address of the source
(in 8.1 it requires it to match one of the addresses in the destination
host's namespace entry).
barmar