FYI, I completed this moving the dispatcher code from IocpDispatcher.cpp to IocpPoller.cpp - the IocpDispatcher.cpp code is no longer needed.
-Steve > -----Original Message----- > From: Andrew Stitcher [mailto:[email protected]] > Sent: Thursday, January 08, 2009 11:14 AM > To: Steve Huston > Cc: qpid-dev > Subject: Some quick notes qbout recent changes in the low > level IO code > > > Steve, > > 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. I have no idea > how to structure this change in the windows code so I added stub code. > > 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. > > I hope this makes sense, get back to me if not. > > Andrew > >
