|
xrootd
|
A synchronize queue for incomming data. More...
#include <XrdClInQueue.hh>

Public Member Functions | |
| bool | AddMessage (Message *msg) |
| Add a message to the queue. More... | |
| void | AddMessageHandler (IncomingMsgHandler *handler, time_t expires) |
| void | RemoveMessageHandler (IncomingMsgHandler *handler) |
| Remove a listener. More... | |
| void | ReportStreamEvent (IncomingMsgHandler::StreamEvent event, uint16_t streamNum, Status status) |
| Report an event to the handlers. More... | |
| void | ReportTimeout (time_t now=0) |
| Timeout handlers. More... | |
Private Types | |
| typedef std::pair < IncomingMsgHandler *, time_t > | HandlerAndExpire |
| typedef std::list < HandlerAndExpire > | HandlerList |
Private Attributes | |
| std::list< Message * > | pMessages |
| HandlerList | pHandlers |
| XrdSysMutex | pMutex |
A synchronize queue for incomming data.
|
private |
|
private |
| bool XrdCl::InQueue::AddMessage | ( | Message * | msg | ) |
Add a message to the queue.
References pHandlers, pMessages, pMutex, XrdCl::IncomingMsgHandler::RemoveHandler, and XrdCl::IncomingMsgHandler::Take.
Referenced by XrdCl::Stream::OnIncoming().
| void XrdCl::InQueue::AddMessageHandler | ( | IncomingMsgHandler * | handler, |
| time_t | expires | ||
| ) |
Add a listener that should be notified about incomming messages
| handler | message handler |
| expires | time when the message handler expires |
References XrdCl::IncomingMsgHandler::OnIncoming(), pHandlers, pMessages, pMutex, XrdCl::IncomingMsgHandler::RemoveHandler, and XrdCl::IncomingMsgHandler::Take.
Referenced by XrdCl::Channel::Receive().
| void XrdCl::InQueue::RemoveMessageHandler | ( | IncomingMsgHandler * | handler | ) |
| void XrdCl::InQueue::ReportStreamEvent | ( | IncomingMsgHandler::StreamEvent | event, |
| uint16_t | streamNum, | ||
| Status | status | ||
| ) |
Report an event to the handlers.
References pHandlers, pMutex, and XrdCl::IncomingMsgHandler::RemoveHandler.
Referenced by XrdCl::Stream::OnError(), and XrdCl::Stream::OnFatalError().
| void XrdCl::InQueue::ReportTimeout | ( | time_t | now = 0 | ) |
Timeout handlers.
References XrdCl::errOperationExpired, pHandlers, pMutex, XrdCl::stError, and XrdCl::IncomingMsgHandler::Timeout.
Referenced by XrdCl::Stream::Tick().
|
private |
Referenced by AddMessage(), AddMessageHandler(), RemoveMessageHandler(), ReportStreamEvent(), and ReportTimeout().
|
private |
Referenced by AddMessage(), and AddMessageHandler().
|
private |
Referenced by AddMessage(), AddMessageHandler(), RemoveMessageHandler(), ReportStreamEvent(), and ReportTimeout().
1.8.3.1