Boost logo

Boost :

From: Christopher Kohlhoff (chris_at_[hidden])
Date: 2005-12-22 05:58:18

Hi Simon,

Even though you've already left for the holidays, just for the

--- simon meiklejohn <simon_at_[hidden]> wrote:
> A naive approach (i.e. all that comes to mind for me) would
> be to add a virtual method to demuxer. Where currently
> demuxer is calling the Handler directly, instead pass it
> to the virtual function 'deliver_handler( Handler& handler )'.
> Then someone who wants gui delivery can create a class
> derived from asio::demuxer typedef, override deliver_handler
> manage their own internal queue of Handlers and create
> a cross-thread notification mechanism appropriate to the platform
> The virtual function would impose a cost on all platforms
> so perhaps a special purpose demuxer base class could
> be created (special policy perhaps) intended for derivation.
> e.g. asio::forwarding_demuxer

I'll investigate using something similar to my proposed custom
allocation hook for this. E.g.:

template <typename Handler>
class handler_dispatch_hook
  template <typename Demuxer, typename Function_Object>
  static void dispatch(Demuxer& d, Handler& h,
    Function_Object& f)

Or something like that anyway.

Hope you enjoy your break.


Boost list run by bdawes at, gregod at, cpdaniel at, john at