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.
I wasn't specifically referring to polling, but that is another good
exaple of where you can have non request-response sequences that use
anonymous endpoints for the response.
My example was more along the lines of a persistent TCP connection
across which multiple requests and responses were sent without regard
for direct pairing/sequencing of the responses.
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.
Absolutely. Note that conneciton oriented can be duplex or it can be
monoplex (e.g. just one side sending "requests" and the other side
sending responses to those requests).
Conor