
Johan Nilsson <johan.nilsson <at> esrange.ssc.se> writes:
Wouldn't it be "better" to build the foundation on non-blocking (or preferrably, asynchronous) I/O?
It sure would.
Implementing a blocking/synchronous communications layer on top of that should be a lot easier than the other way around.
I realize that this would decrease the performance soemwhat for the blocking mode, but if you're after performance you're very likely to go for async I/O anyway.
Agreed, async is the natural way to do socket i/o. Like you say its trivial to implement blocking functionality on top of non-blocking, and a lot less trivial than doing it the other way around.
As for messaging vs RPC, I think the same thing applies; it is easier to build an RPC layer on top of messaging than the other way around.
If you have oneway RPC's, why would it be difficult to build messaging on top of that? The two seem to me to be almost the same thing. /Jarl