On 31/07/07, Rajith Attapattu <[EMAIL PROTECTED]> wrote: > > I also don't buy the arguments about performance being impacted by > layering. >
I am prepared to accept that the performance will not be affected noticeably by layering, at least not on the client. On the broker, for small transient messages, resulting in CPU bound performance, it will contribute to the load undoubtedly. However, framing, threading, synchronization and many other things will probably be a far greater consideration. I will say again, that I do like the way the comm layer hides the struc implementations behind interfaces with a factory, keeping the path open to the most efficient use of zer-copy direct buffers. The abstraction presented by the comm layer gets it just about right in terms of being at the right level, owning an easily understood set of responsibilities, hiding an implementation behind interfaces, and keeping open as many options as possible both as the protocol changes and also to experiment with improving efficiency of implementations. I think it is a much better starting point for designing a low-level API, than the proposed API. The proposed API is a superflous layer of jam in the sandwich. Rupert
