XRootD
Loading...
Searching...
No Matches
XrdCl::Poller Class Referenceabstract

Interface for socket pollers. More...

#include <XrdClPoller.hh>

Inheritance diagram for XrdCl::Poller:
Collaboration diagram for XrdCl::Poller:

Public Member Functions

virtual ~Poller ()
 Destructor.
virtual bool AddSocket (Socket *socket, SocketHandler *handler)=0
virtual bool EnableReadNotification (Socket *socket, bool notify, time_t timeout=60)=0
virtual bool EnableWriteNotification (Socket *socket, bool notify, time_t timeout=60)=0
virtual bool Finalize ()=0
 Finalize the poller.
virtual bool Initialize ()=0
 Initialize the poller.
virtual bool IsRegistered (Socket *socket)=0
 Check whether the socket is registered with the poller.
virtual bool IsRunning () const =0
 Is the event loop running?
virtual bool RemoveSocket (Socket *socket)=0
virtual void ShutdownEvents (Socket *socket)=0
virtual bool Start ()=0
 Start polling.
virtual bool Stop ()=0
 Stop polling.

Detailed Description

Interface for socket pollers.

Definition at line 87 of file XrdClPoller.hh.

Constructor & Destructor Documentation

◆ ~Poller()

virtual XrdCl::Poller::~Poller ( )
inlinevirtual

Destructor.

Definition at line 93 of file XrdClPoller.hh.

93{}

Member Function Documentation

◆ AddSocket()

virtual bool XrdCl::Poller::AddSocket ( Socket * socket,
SocketHandler * handler )
pure virtual

Add socket to the polling loop

Parameters
socketthe socket
handlerobject handling the events

Implemented in XrdCl::PollerBuiltIn.

◆ EnableReadNotification()

virtual bool XrdCl::Poller::EnableReadNotification ( Socket * socket,
bool notify,
time_t timeout = 60 )
pure virtual

Notify the handler about read events

Parameters
socketthe socket
notifyspecify if the handler should be notified
timeoutif no read event occurred after this time a timeout event will be generated

Implemented in XrdCl::PollerBuiltIn.

◆ EnableWriteNotification()

virtual bool XrdCl::Poller::EnableWriteNotification ( Socket * socket,
bool notify,
time_t timeout = 60 )
pure virtual

Notify the handler about write events

Parameters
socketthe socket
notifyspecify if the handler should be notified
timeoutif no write event occurred after this time a timeout event will be generated

Implemented in XrdCl::PollerBuiltIn.

◆ Finalize()

virtual bool XrdCl::Poller::Finalize ( )
pure virtual

Finalize the poller.

Implemented in XrdCl::PollerBuiltIn.

◆ Initialize()

virtual bool XrdCl::Poller::Initialize ( )
pure virtual

Initialize the poller.

Implemented in XrdCl::PollerBuiltIn.

◆ IsRegistered()

virtual bool XrdCl::Poller::IsRegistered ( Socket * socket)
pure virtual

Check whether the socket is registered with the poller.

Implemented in XrdCl::PollerBuiltIn.

◆ IsRunning()

virtual bool XrdCl::Poller::IsRunning ( ) const
pure virtual

Is the event loop running?

Implemented in XrdCl::PollerBuiltIn.

◆ RemoveSocket()

virtual bool XrdCl::Poller::RemoveSocket ( Socket * socket)
pure virtual

Remove the socket. Depending on the implementation this may block until the socket's poller event dispatch loop can finish dispatching all its currently queued events, which can include sockets for any channel. ShutdownEvents() may be used to have no more callbacks on the given socket, with fewer blocking conditions.

Implemented in XrdCl::PollerBuiltIn.

◆ ShutdownEvents()

virtual void XrdCl::Poller::ShutdownEvents ( Socket * socket)
pure virtual

Disables further callbacks to the socket's event handler. If callback is currently running wait for it, unless it is the current thread.

Implemented in XrdCl::PollerBuiltIn.

◆ Start()

virtual bool XrdCl::Poller::Start ( )
pure virtual

Start polling.

Implemented in XrdCl::PollerBuiltIn.

◆ Stop()

virtual bool XrdCl::Poller::Stop ( )
pure virtual

Stop polling.

Implemented in XrdCl::PollerBuiltIn.


The documentation for this class was generated from the following file: