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

Public Member Functions | |
| void | AddMessageHandler (MsgHandler *handler, time_t expires, bool &rmMsg) |
| MsgHandler * | GetHandlerForMessage (std::shared_ptr< Message > &msg, time_t &expires, uint16_t &action) |
| void | ReAddMessageHandler (MsgHandler *handler, time_t expires) |
| Re-insert the handler without scanning the cached messages. More... | |
| void | RemoveMessageHandler (MsgHandler *handler) |
| Remove a listener. More... | |
| void | ReportStreamEvent (MsgHandler::StreamEvent event, XRootDStatus status) |
| Report an event to the handlers. More... | |
| void | ReportTimeout (time_t now=0) |
| Timeout handlers. More... | |
Private Types | |
| typedef std::pair< MsgHandler *, time_t > | HandlerAndExpire |
| typedef std::map< uint16_t, HandlerAndExpire > | HandlerMap |
Private Member Functions | |
| bool | DiscardMessage (Message &msg, uint16_t &sid) const |
Private Attributes | |
| HandlerMap | pHandlers |
| XrdSysRecMutex | pMutex |
A synchronize queue for incoming data.
|
private |
|
private |
| void XrdCl::InQueue::AddMessageHandler | ( | MsgHandler * | handler, |
| time_t | expires, | ||
| bool & | rmMsg | ||
| ) |
Add a listener that should be notified about incoming messages
| handler | message handler |
| expires | time when the message handler expires |
| rmMsg | will be set to true if a left over message matching the request has been removed from the queue |
|
private |
Discard messages that don't meet basic criteria and extract the message sid
| msg | message object |
| sid | extracted message sid used later for matching with the handler |
| MsgHandler* XrdCl::InQueue::GetHandlerForMessage | ( | std::shared_ptr< Message > & | msg, |
| time_t & | expires, | ||
| uint16_t & | action | ||
| ) |
Get a message handler interested in receiving message whose header is stored in msg
| msg | message header |
| expires | handle's expiration timestamp |
| action | the action declared by the handler |
| void XrdCl::InQueue::ReAddMessageHandler | ( | MsgHandler * | handler, |
| time_t | expires | ||
| ) |
Re-insert the handler without scanning the cached messages.
| void XrdCl::InQueue::RemoveMessageHandler | ( | MsgHandler * | handler | ) |
Remove a listener.
| void XrdCl::InQueue::ReportStreamEvent | ( | MsgHandler::StreamEvent | event, |
| XRootDStatus | status | ||
| ) |
Report an event to the handlers.
| void XrdCl::InQueue::ReportTimeout | ( | time_t | now = 0 | ) |
Timeout handlers.
|
private |
|
private |
1.8.5