// $Id$
//
-// Copyright (C) 2008
+// Copyright (C) 2008
// Fraunhofer Institute for Open Communication Systems (FOKUS)
// Competence Center NETwork research (NET), St. Augustin, GERMANY
// Stefan Bund <g0dil@berlios.de>
#include <boost/range/iterator_range.hpp>
//#include "Poller.mpp"
-///////////////////////////////hh.p////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
namespace senf {
namespace scheduler {
static int const NumEvents = 8;
public:
- ///////////////////////////////////////////////////////////////////////////
+ //-////////////////////////////////////////////////////////////////////////
// Types
-
+
typedef Value value_type;
typedef boost::transform_iterator<GetPollResult, epoll_event*> iterator;
typedef boost::iterator_range<iterator> range;
- enum Events {
+ enum Events {
EV_READ = EPOLLIN, EV_PRIO = EPOLLPRI, EV_WRITE = EPOLLOUT,
- EV_HUP = EPOLLHUP, EV_ERR = EPOLLERR
+ EV_HUP = EPOLLHUP, EV_ERR = EPOLLERR
};
-
- ///////////////////////////////////////////////////////////////////////////
+
+ //-////////////////////////////////////////////////////////////////////////
///\name Structors and default members
- ///@{
+ //\{
Poller();
~Poller();
- ///@}
- ///////////////////////////////////////////////////////////////////////////
+ //\}
+ //-////////////////////////////////////////////////////////////////////////
bool set(int fd, int events, Value * data); ///< Set file descriptor event data and mask
/**< The Poller does \e not own \a data. The value is owned
range wait(); ///< Wait for one event
/**< \returns a range of iterators which iterate over the
data values registered with the event */
-
+
void timeout(int t); ///< Set event timeout to \a t milliseconds
int timeout() const; ///< Current event timeout
}}}
-///////////////////////////////hh.e////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
//#include "Poller.cci"
#include "Poller.ct"
#include "Poller.cti"