|
Boost : |
From: Hu Xinwei (huxw_at_[hidden])
Date: 2002-11-25 08:45:14
hi boosters:
>http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?BoostSocket/SocketSetConcept
>Can we use std::set like method names...
>remove -> erase
>add -> insert
>is_set -> count (I'm not fussed about this one)
Wrap fd_set is interesting, but I don't think it is necessary.
IMHO, fd_set is used with select to provide I/O multiplex, which is called "reactor" in ACE. But, select itself is an implementation only, not a concept. For example, we'd better use kqueue instead of select in freebsd, we'd better also use /dev/epoll instead of select in linux.
And what is more. I think I/O multiplex(reactor) or Async I/O(proactor) are heavily used on server-side, but only will be used on client-side accidently. So, all these classes should be invisiable to client, we should provide server models directly. I think, some things like boost::reactor_server, boost::proactor_server, boost::threadpool_server will be much more useful. reactor_server and proactor_server can be implemented platform-dependently, and threadpool_server can be simplified by using boost::thread.
>Also for library implementors I think we need
>update_width()
>To be called after the OS has updated the fd_set
>--
>Hamish Mackenzie <hamish_at_[hidden]>
>_______________________________________________
>Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk