$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Jeremy Maitin-Shepard (jbms_at_[hidden])
Date: 2005-12-15 18:32:21
Christopher Kohlhoff <chris_at_[hidden]> writes:
> [snip]
> I don't think that the need to pass a demuxer to the socket
> constructor is conceptually difficult to explain. It's there for
> the asynchronous operations, if and when you need them.
> I also do not agree that it is onerous to have to pass the
> demuxer to the constructor, or to pass it wherever it's needed
> in the program. You can make it a global, declare a new one for
> each use, or even use one associated with an existing object, as
> in:
> stream_socket s(my_acceptor.demuxer());
> Therefore I stand by my design choices as the best balance
> between usability, functionality and flexibility.
It seems that a possible solution is to provide a `dummy' demuxer that
simply makes asynchronous operations fail. This `dummy' demuxer could
then be the default parameter to the socket constructors, thus
eliminating the need to specify a demuxer for synchronous-only use.
It seems that this would indeed clean up the interface for
synchronous-only use.
> [snip]
-- Jeremy Maitin-Shepard