![]() |
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... | |
A synchronize queue for incoming data.
Definition at line 36 of file XrdClInQueue.hh.
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 |
Definition at line 54 of file XrdClInQueue.cc.
References XrdCl::MsgHandler::GetSid().
Referenced by XrdCl::Stream::OnMessageSent().
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 |
Definition at line 66 of file XrdClInQueue.cc.
References XrdCl::Log::Debug(), XrdCl::MsgHandler::Examine(), XrdCl::ExDbgMsg, XrdCl::DefaultEnv::GetLog(), and XrdCl::MsgHandler::RemoveHandler.
Referenced by XrdCl::Stream::InstallIncHandler().
void XrdCl::InQueue::ReAddMessageHandler | ( | MsgHandler * | handler, |
time_t | expires | ||
) |
Re-insert the handler without scanning the cached messages.
Definition at line 113 of file XrdClInQueue.cc.
References XrdCl::MsgHandler::GetSid().
Referenced by XrdCl::Stream::ForceError(), and XrdCl::Stream::OnError().
void XrdCl::InQueue::RemoveMessageHandler | ( | MsgHandler * | handler | ) |
Remove a listener.
Definition at line 124 of file XrdClInQueue.cc.
References XrdCl::Log::Debug(), XrdCl::ExDbgMsg, XrdCl::DefaultEnv::GetLog(), and XrdCl::MsgHandler::GetSid().
Referenced by XrdCl::Stream::InspectStatusRsp().
void XrdCl::InQueue::ReportStreamEvent | ( | MsgHandler::StreamEvent | event, |
XRootDStatus | status | ||
) |
Report an event to the handlers.
Definition at line 138 of file XrdClInQueue.cc.
References XrdCl::MsgHandler::RemoveHandler.
Referenced by XrdCl::Stream::ForceError(), and XrdCl::Stream::OnError().
void XrdCl::InQueue::ReportTimeout | ( | time_t | now = 0 | ) |
Timeout handlers.
Definition at line 161 of file XrdClInQueue.cc.
References XrdCl::errOperationExpired, XrdCl::MsgHandler::RemoveHandler, XrdCl::stError, and XrdCl::MsgHandler::Timeout.
Referenced by XrdCl::Stream::Tick().