XrdCl::InQueue Class Reference
A synchronize queue for incoming data.
More...
#include <XrdClInQueue.hh>
List of all members.
Public Member Functions |
bool | AddMessage (Message *msg) |
| Add a fully reconstructed message to the queue.
|
void | AddMessageHandler (IncomingMsgHandler *handler, time_t expires) |
IncomingMsgHandler * | GetHandlerForMessage (Message *msg, time_t &expires, uint16_t &action) |
void | ReAddMessageHandler (IncomingMsgHandler *handler, time_t expires) |
| Re-insert the handler without scanning the cached messages.
|
void | RemoveMessageHandler (IncomingMsgHandler *handler) |
| Remove a listener.
|
void | ReportStreamEvent (IncomingMsgHandler::StreamEvent event, uint16_t streamNum, Status status) |
| Report an event to the handlers.
|
void | ReportTimeout (time_t now=0) |
| Timeout handlers.
|
Private Types |
typedef std::pair
< IncomingMsgHandler *, time_t > | HandlerAndExpire |
typedef std::map< uint16_t,
HandlerAndExpire > | HandlerMap |
typedef std::map< uint16_t,
Message * > | MessageMap |
Private Member Functions |
bool | DiscardMessage (Message *msg, uint16_t &sid) const |
Private Attributes |
MessageMap | pMessages |
HandlerMap | pHandlers |
XrdSysRecMutex | pMutex |
Detailed Description
A synchronize queue for incoming data.
Member Typedef Documentation
Member Function Documentation
bool XrdCl::InQueue::AddMessage |
( |
Message * |
msg |
) |
|
Add a listener that should be notified about incoming messages
- Parameters:
-
| handler | message handler |
| expires | time when the message handler expires |
bool XrdCl::InQueue::DiscardMessage |
( |
Message * |
msg, |
|
|
uint16_t & |
sid | |
|
) |
| | const [private] |
Discard messages that don't meet basic criteria and extract the message sid
- Parameters:
-
| msg | message object |
| sid | extracted message sid used later for matching with the handler |
- Returns:
- true if message discarded, otherwise false
Get a message handler interested in receiving message whose header is stored in msg
- Parameters:
-
| msg | message header |
| expires | handle's expiration timestamp |
| action | the action declared by the handler |
- Returns:
- handler or 0 if none is interested
Re-insert the handler without scanning the cached messages.
Report an event to the handlers.
void XrdCl::InQueue::ReportTimeout |
( |
time_t |
now = 0 |
) |
|
Member Data Documentation
The documentation for this class was generated from the following file: