On Thu, 2015-02-26 at 15:09 -0500, Rafael Schloming wrote:
> It sounds like one way or another we need at least some design changes. I
> don't think it's workable to have overlapping/close but distinct semantics
> for the API on different platforms (e.g. you can move sockets on one
> platform but not on another). I'm starting to think we either need one
> platform to precisely and fully emulate the semantics of the other
> platform, or they both need to implement some interface that is slightly
> higher level and can better accommodate the differences.
I may have misremembered, but I think the essential platform difference
here is that Windows IOCP really tries to implement a Proactor type of
pattern rather than the reactor type of pattern that we are using in
[Proactor is where fundamentally the system calls back a processing
function on a thread that you give it]
In the qpid implementation I had to effectively make the exposed
interface a proactor type interface in all platforms, to bridge the gap.
I'm not sure this is workable in a context where the user can supply
their own event loop.