Jim Schaad
2017-11-16 23:53:59 UTC
In UDP there is a vague requirement that a client should only have one
message in transit to any given server at a time. This means that it is up
to the client, if it wants to break this rule, to ensure that a response to
message A has been received before sending message B if there is going to be
a dependency between them. This is needed because UDP does not do ordered
delivery among other things.
TCP however does have ordered delivery. Thus the question is does the same
rule still exist for a client when using a TCP channel. In theory, it would
be possible to send message A and then send message B before getting the
answer back and have an assumption that message A would complete before
message B starts. This implies that the server would need to have an
enforcement of such a rule. My server currently does parallel processing of
requests and thus would not do this unless it was enforced by the transport.
Should such enforcement be done? I see nothing about this in the document
so I assume that the UDP rules would still apply.
Jim
message in transit to any given server at a time. This means that it is up
to the client, if it wants to break this rule, to ensure that a response to
message A has been received before sending message B if there is going to be
a dependency between them. This is needed because UDP does not do ordered
delivery among other things.
TCP however does have ordered delivery. Thus the question is does the same
rule still exist for a client when using a TCP channel. In theory, it would
be possible to send message A and then send message B before getting the
answer back and have an assumption that message A would complete before
message B starts. This implies that the server would need to have an
enforcement of such a rule. My server currently does parallel processing of
requests and thus would not do this unless it was enforced by the transport.
Should such enforcement be done? I see nothing about this in the document
so I assume that the UDP rules would still apply.
Jim