Cahill, Conor P wrote:
>
>
>
>
>>When submitting a message for potentially asynchronous
>>processing, it would seem that the response message must come
>>back on a different channel than that used to submit the request.
>>
>>
>
>I'm not sure this is the case. There are many situations where
>the client and server can maintain a permanent connection pipeline
>to asynchronously send messages back and forth where the server
>is not able to separately connect to the client (most instant
>messaging services work this way).
>
>Conor
>
>
>
>
A polling protocol should probably provide for 0 .. * messages coming
back on each poll (e.g., send request one, poll, no response, send
request two, poll again, get both responses). Given this, one might
consider the combination of request messages flowing one way and poll
responses flowing the other as a sort of virtual channel, split across
multiple connections.
It occurs to me that I'm bringing in yet another notion of
asynchronicity here, namely that response messages may not arrive in the
same order as their corresponding requests. This is a more general
definition, in that it can be realized by the "non-anonymous callback
EPR" pattern, by the polling pattern and by something
connection-oriented but duplex like an IM protocol.