library: libCore #include "TMonitor.h" |
TMonitor
class description - source file - inheritance tree (.pdf)
private:
virtual void* GetSender()
void SetReady(TSocket* sock)
public:
TMonitor(Bool_t mainloop = kTRUE)
TMonitor(const TMonitor&)
virtual ~TMonitor()
virtual void Activate(TSocket* sock)
virtual void ActivateAll()
virtual void Add(TSocket* sock, Int_t interest = kRead)
static TClass* Class()
virtual void DeActivate(TSocket* sock)
virtual void DeActivateAll()
Int_t GetActive() const
Int_t GetDeActive() const
TList* GetListOfActives() const
TList* GetListOfDeActives() const
virtual TClass* IsA() const
TMonitor& operator=(const TMonitor&)
virtual void Ready(TSocket* sock)
virtual void Remove(TSocket* sock)
virtual void RemoveAll()
TSocket* Select()
TSocket* Select(Long_t timeout)
Int_t Select(TList* rdready, TList* wrready, Long_t timeout)
virtual void SetInterest(TSocket* sock, Int_t interest = kRead)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
private:
TList* fActive list of sockets to monitor
TList* fDeActive list of (temporary) disabled sockets
TSocket* fReady socket which is ready to be read or written
Bool_t fMainLoop true if monitoring sockets within the main
public:
static const TMonitor::EInterest kRead
static const TMonitor::EInterest kWrite
TMonitor
This class monitors activity on a number of network sockets.
The actual monitoring is done by TSystem::DispatchOneEvent().
Typical usage: create a TMonitor object. Register a number of
TSocket objects and call TMonitor::Select(). Select() returns the
socket object which has data waiting. TSocket objects can be added,
removed, (temporary) enabled or disabled.
TMonitor(Bool_t mainloop)
Create a monitor object. If mainloop is true the monitoring will be
done in the main event loop.
~TMonitor()
Cleanup the monitor object. Does not delete socket being monitored.
void Add(TSocket *sock, Int_t interest)
Add socket to the monitor's active list. If interest=kRead then we
want to monitor the socket for read readiness, if interest=kWrite
then we monitor the socket for write readiness, if interest=kRead|kWrite
then we monitor both read and write readiness.
void SetInterest(TSocket *sock, Int_t interest)
Set interest mask for socket sock to interest. If the socket is not
in the active list move it or add it there.
If interest=kRead then we want to monitor the socket for read readiness,
if interest=kWrite then we monitor the socket for write readiness,
if interest=kRead|kWrite then we monitor both read and write readiness.
void Remove(TSocket *sock)
Remove a socket from the monitor.
void RemoveAll()
Remove all sockets from the monitor.
void Activate(TSocket *sock)
Activate a de-activated socket.
void ActivateAll()
Activate all de-activated sockets.
void DeActivate(TSocket *sock)
De-activate a socket.
void DeActivateAll()
De-activate all activated sockets.
TSocket* Select()
Return pointer to socket for which an event is waiting.
Return 0 in case of error.
TSocket* Select(Long_t timeout)
Return pointer to socket for which an event is waiting.
Wait a maximum of timeout milliseconds.
If return is due to timeout it returns (TSocket *)-1.
Return 0 in case of any other error situation.
Int_t Select(TList *rdready, TList *wrready, Long_t timeout)
Return numbers of sockets that are ready for reading or writing.
Wait a maximum of timeout milliseconds.
Return 0 if timed-out. Return < 0 in case of error.
If rdready and/or wrready are not 0, the lists of sockets with
something to read and/or write are also returned.
void SetReady(TSocket *sock)
Called by TSocketHandler::Notify() to signal which socket is ready
to be read or written. User should not call this routine. The ready
socket will be returned via the Select() user function.
Ready(TSocket *sock) signal is emitted.
Int_t GetActive() const
Return number of sockets in the active list.
Int_t GetDeActive() const
Return number of sockets in the de-active list.
TList* GetListOfActives() const
Returns a list with all active sockets. This list must be deleted
by the user. DO NOT call Delete() on this list as it will delete
the sockets that are still being used by the monitor.
TList* GetListOfDeActives() const
Returns a list with all de-active sockets. This list must be deleted
by the user. DO NOT call Delete() on this list as it will delete
the sockets that are still being used by the monitor.
void Ready(TSocket *sock)
Emit signal when some socket is ready
Inline Functions
void* GetSender()
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
TMonitor TMonitor(const TMonitor&)
TMonitor& operator=(const TMonitor&)
Author: Fons Rademakers 09/01/97
Last update: root/net:$Name: $:$Id: TMonitor.cxx,v 1.7 2004/12/15 17:48:03 rdm Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.