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: