[OpenAFS-devel] When is an AFS request-response completed?
Andrew J Klosterman
andrew5@andrew.cmu.edu
Fri, 2 Nov 2001 20:05:21 -0500 (EST)
How do I know when a packet is a sent by a server in response to a
particular client's request?
With help from readers of this list, I have come to understand that a
packet that *starts* an AFS operation is structured as follows:
If the packet is of Rx type RX_PACKET_TYPE_DATA and has the
RX_CLIENT_INITIATED flag set, and has a sequence number of "1", then
it contains an operation and args.
The next question becomes, how are the responses to a request identified?
From other sources, I have come to believe that the a client's requests
are uniquely identified by three fields of the Rx header: epoch, cid,
callNumber.
Servers, as I understand it, *must* send a response with this same
information (epoch, cid, and callNumber from the original client request)
in a RX_PACKET_TYPE_DATA packet, and this would be the response to the
client's call.
Thus, I only need to keep an (epoch, cid, callNumber) tuple around, and
when a RX_PACKET_TYPE_DATA packet is sent to the originating client's IP
address, if the sent packet matches on (epoch, cid, callNumber), then it
is the response I was waiting for.
Is my understanding correct on this count? If not, what piece of
information am I missing?
Thanks in advance.
-- Andrew J. Klosterman
andrew5@andrew.cmu.edu
http://www.ece.cmu.edu/~andrew5
If the packet is of Rx type RX_PACKET_TYPE_DATA and has the
RX_CLIENT_INITIATED flag set, then it contains an operation and args.
And to relegate all other packets to a bin where I believe that they do
not contain operations and arguments.
Are my assumptions and analysis correct? Am I missing some (critical)
piece of information in the Rx header or state in the Rx connection or
call that is necessary to make the determination?
--Andrew J. Klosterman
andrew5@andrew.cmu.edu
http://www.ece.cmu.edu/~andrew5
_______________________________________________
OpenAFS-devel mailing list
OpenAFS-devel@openafs.org
https://lists.openafs.org/mailman/listinfo/openafs-devel