X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FScheduler%2FFdEvent.hh;h=cec23a74cbb0f3504da7d92766833a335e59daeb;hb=94e4eda4358a4def564175ae42173f91307e36a4;hp=fed1446d21eb9405d348278084ee01aacce40450;hpb=26610f603ebdd465307b9621f532c1fe19fd5571;p=senf.git diff --git a/senf/Scheduler/FdEvent.hh b/senf/Scheduler/FdEvent.hh index fed1446..cec23a7 100644 --- a/senf/Scheduler/FdEvent.hh +++ b/senf/Scheduler/FdEvent.hh @@ -1,6 +1,6 @@ // $Id$ // -// Copyright (C) 2008 +// Copyright (C) 2008 // Fraunhofer Institute for Open Communication Systems (FOKUS) // Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund @@ -27,13 +27,13 @@ #define HH_SENF_Scheduler_FdEvent_ 1 // Custom includes -#include +#include #include #include "FdManager.hh" #include "FIFORunner.hh" //#include "FdEvent.mpp" -///////////////////////////////hh.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// namespace senf { namespace scheduler { @@ -61,13 +61,13 @@ namespace scheduler { The callback will be called with one additional argument. This argument is the event mask of type int. This mask will tell, which of the registered events are signaled. There are some additional flags which can be set when calling the handler callback: - + \li \c EV_HUP: The other end has closed the connection \li \c EV_ERR: Transport error Only a single handler may be registered for any combination of file descriptor and event otherwise a DuplicateEventRegistrationException is thrown. - + The file descriptor is specified using an arbitrary handle type which supports the \c retrieve_filehandle() protocol: There must be a global function \c retrieve_filehandle callable with the handle type. This function must return the file descriptor associated with @@ -84,27 +84,27 @@ namespace scheduler { public detail::FdSetBase, public detail::FdManager::Event { - public: - /////////////////////////////////////////////////////////////////////////// + public: + //-//////////////////////////////////////////////////////////////////////// // Types typedef boost::function Callback; - enum Events { + enum Events { EV_NONE = 0 ///< No event , EV_READ = detail::FdManager::EV_READ ///< fd readable (or EOF) , EV_PRIO = detail::FdManager::EV_PRIO ///< OOB data available for read , EV_WRITE = detail::FdManager::EV_WRITE ///< fd writable , EV_HUP = detail::FdManager::EV_HUP ///< remote end closed connection , EV_ERR = detail::FdManager::EV_ERR ///< transport error - , EV_ALL = (detail::FdManager::EV_READ - | detail::FdManager::EV_WRITE + , EV_ALL = (detail::FdManager::EV_READ + | detail::FdManager::EV_WRITE | detail::FdManager::EV_PRIO) ///< register all events (read, prio and write) }; - /////////////////////////////////////////////////////////////////////////// + //-//////////////////////////////////////////////////////////////////////// ///\name Structors and default members - ///@{ + //\{ template FdEvent(std::string const & name, Callback const & cb, Handle const & handle, int events, @@ -132,9 +132,9 @@ namespace scheduler { explicitly be set to \c 0 if the value cannot be initialized. */ ~FdEvent(); - - ///@} - /////////////////////////////////////////////////////////////////////////// + + //\} + //-//////////////////////////////////////////////////////////////////////// void disable(); ///< Disable event void enable(); ///< Enable event @@ -145,7 +145,7 @@ namespace scheduler { FdEvent & addEvents(int events); ///< Add additional events to event mask FdEvent & removeEvents(int events); ///< Remove events from event mask int events(); ///< Current event mask - + template FdEvent & handle(Handle const & handle); ///< Change event file handle @@ -182,7 +182,7 @@ namespace scheduler { int get_descriptor(Handle const & handle); }} -///////////////////////////////hh.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #include "FdEvent.cci" #include "FdEvent.ct" #include "FdEvent.cti"