Hi Andrew,

> I'm currently adding heartbeat capability into the qpid
broker/client.
> In order to do that I'm adding functionality to the IO subsystem, in
> particular I've added a capability to make a callback "in the 
> context of an IOHandle". That means that the callback is guaranteed
to
> be run serialised with all other callbacks for that IOHandle.

Ok - is this the RequestCallback addition to AsynchIO?

> I have no idea
> how to structure this change in the windows code so I added stub
code.

Ok, thanks for the heads up - I'll check it out and see what to do.

> This capability should be generally very useful as well so is 
> likely to
> be more widely used in the future (it would have been used in the
past
> if it had been available).
> 
> I'm planning to entirely remove the Dispatcher class and roll 
> the Poller
> dispatch loop into the Poller class. I note you've implemented
> Poller::run now, but have done the opposite to the posix code, if
you
> move the code itself into Poller and call it from Dispatcher::run
then
> (I think) everything will carry on working when I replace calls to
> Dispatcher::run with calls to Poller::run.

Ah, that makes sense. I saw the new Poller::run() method, so I just
called the Dispatcher method - I'll copy the Dispatcher code to
IocpPoller today.

> I hope this makes sense, get back to me if not.

Yes... I'll let you know if anything comes up.

Thanks,
-Steve

Reply via email to