BOSS 7.0.6
BESIII Offline Software System
|
#include <XmlRpcDispatch.h>
Classes | |
struct | MonitoredSource |
Public Types | |
enum | EventType { ReadableEvent = 1 , WritableEvent = 2 , Exception = 4 } |
Values indicating the type of events a source is interested in. More... | |
Public Member Functions | |
XmlRpcDispatch () | |
Constructor. | |
~XmlRpcDispatch () | |
void | addSource (XmlRpcSource *source, unsigned eventMask) |
void | removeSource (XmlRpcSource *source) |
void | setSourceEvents (XmlRpcSource *source, unsigned eventMask) |
Modify the types of events to watch for on this source. | |
void | work (double msTime) |
void | exit () |
Exit from work routine. | |
void | clear () |
Clear all sources from the monitored sources list. Sources are closed. | |
Protected Types | |
typedef std::list< MonitoredSource > | SourceList |
Protected Member Functions | |
double | getTime () |
Protected Attributes | |
SourceList | _sources |
double | _endTime |
bool | _doClear |
bool | _inWork |
An object which monitors file descriptors for events and performs callbacks when interesting events happen.
Definition at line 22 of file XmlRpcDispatch.h.
|
protected |
Definition at line 74 of file XmlRpcDispatch.h.
Values indicating the type of events a source is interested in.
Enumerator | |
---|---|
ReadableEvent | data available to read |
WritableEvent | connected/data can be written without blocking |
Exception | uh oh |
Definition at line 29 of file XmlRpcDispatch.h.
XmlRpcDispatch::XmlRpcDispatch | ( | ) |
XmlRpcDispatch::~XmlRpcDispatch | ( | ) |
Definition at line 34 of file XmlRpcDispatch.cpp.
void XmlRpcDispatch::addSource | ( | XmlRpcSource * | source, |
unsigned | eventMask | ||
) |
Monitor this source for the event types specified by the event mask and call its event handler when any of the events occur.
source | The source to monitor |
eventMask | Which event types to watch for. |
Definition at line 41 of file XmlRpcDispatch.cpp.
Referenced by XmlRpc::XmlRpcServer::acceptConnection(), XmlRpc::XmlRpcServer::bindAndListen(), and XmlRpc::XmlRpcClient::setupConnection().
void XmlRpcDispatch::clear | ( | ) |
Clear all sources from the monitored sources list. Sources are closed.
Definition at line 180 of file XmlRpcDispatch.cpp.
Referenced by XmlRpc::XmlRpcServer::shutdown().
void XmlRpcDispatch::exit | ( | ) |
Exit from work routine.
Definition at line 173 of file XmlRpcDispatch.cpp.
Referenced by XmlRpc::XmlRpcClient::close(), and XmlRpc::XmlRpcServer::exit().
|
protected |
Definition at line 195 of file XmlRpcDispatch.cpp.
Referenced by work().
void XmlRpcDispatch::removeSource | ( | XmlRpcSource * | source | ) |
Stop monitoring this source.
source | The source to stop monitoring |
Definition at line 48 of file XmlRpcDispatch.cpp.
Referenced by XmlRpc::XmlRpcClient::close(), XmlRpc::XmlRpcServer::removeConnection(), and XmlRpc::XmlRpcClient::setupConnection().
void XmlRpcDispatch::setSourceEvents | ( | XmlRpcSource * | source, |
unsigned | eventMask | ||
) |
Modify the types of events to watch for on this source.
Definition at line 61 of file XmlRpcDispatch.cpp.
void XmlRpcDispatch::work | ( | double | msTime | ) |
Watch current set of sources and process events for the specified duration (in ms, -1 implies wait forever, or until exit is called)
Definition at line 75 of file XmlRpcDispatch.cpp.
Referenced by XmlRpc::XmlRpcClient::execute(), and XmlRpc::XmlRpcServer::work().
|
protected |
Definition at line 82 of file XmlRpcDispatch.h.
Referenced by clear(), work(), and XmlRpcDispatch().
|
protected |
Definition at line 80 of file XmlRpcDispatch.h.
Referenced by exit(), work(), and XmlRpcDispatch().
|
protected |
Definition at line 83 of file XmlRpcDispatch.h.
Referenced by clear(), work(), and XmlRpcDispatch().
|
protected |
Definition at line 77 of file XmlRpcDispatch.h.
Referenced by addSource(), clear(), removeSource(), setSourceEvents(), and work().