XrdCl::OutQueue Class Reference

A synchronized queue for the outgoing data. More...

#include <XrdClOutQueue.hh>

List of all members.

Classes

struct  MsgHelper

Public Member Functions

void PushBack (Message *msg, OutgoingMsgHandler *handler, time_t expires, bool stateful)
void PushFront (Message *msg, OutgoingMsgHandler *handler, time_t expires, bool stateful)
MessagePopMessage (OutgoingMsgHandler *&handler, time_t &expires, bool &stateful)
void PopFront ()
 Remove a message from the front.
void Report (Status status)
 Report status to all the handlers.
bool IsEmpty () const
 Check if the queue is empty.
uint64_t GetSize () const
uint64_t GetSizeStateless () const
 Return the size of the queue counting only the stateless messages.
void GrabExpired (OutQueue &queue, time_t exp=0)
void GrabStateful (OutQueue &queue)
void GrabItems (OutQueue &queue)

Private Types

typedef std::list< MsgHelperMessageList

Private Attributes

MessageList pMessages

Detailed Description

A synchronized queue for the outgoing data.


Member Typedef Documentation

typedef std::list<MsgHelper> XrdCl::OutQueue::MessageList [private]

Member Function Documentation

uint64_t XrdCl::OutQueue::GetSize (  )  const [inline]

References pMessages.

uint64_t XrdCl::OutQueue::GetSizeStateless (  )  const

Return the size of the queue counting only the stateless messages.

void XrdCl::OutQueue::GrabExpired ( OutQueue queue,
time_t  exp = 0 
)

Remove all the expired messages from the queue and put them in this one

Parameters:
queue queue to take the message from
exp expiration timestamp
void XrdCl::OutQueue::GrabItems ( OutQueue queue  ) 

Take all the items from the queue and put them in this one

Parameters:
queue queue to take the message
void XrdCl::OutQueue::GrabStateful ( OutQueue queue  ) 

Remove all the stateful messages from the queue and put them in this one

Parameters:
queue the queue to take the messages from
bool XrdCl::OutQueue::IsEmpty (  )  const [inline]

Check if the queue is empty.

References pMessages.

void XrdCl::OutQueue::PopFront (  ) 

Remove a message from the front.

Message* XrdCl::OutQueue::PopMessage ( OutgoingMsgHandler *&  handler,
time_t &  expires,
bool &  stateful 
)

Pop a message from the front of the queue

Returns:
0 if there is no message message
void XrdCl::OutQueue::PushBack ( Message msg,
OutgoingMsgHandler handler,
time_t  expires,
bool  stateful 
)

Add a message to the back the queue

Parameters:
msg message to be sent
handler handler to be notified about the status of the operation
expires timeout
stateful if true a disconnection will cause an error and removing from the queue, otherwise sending wil be re-attempted
void XrdCl::OutQueue::PushFront ( Message msg,
OutgoingMsgHandler handler,
time_t  expires,
bool  stateful 
)

Add a message to the front the queue

Parameters:
msg message to be sent
handler handler to be notified about the status of the operation
expires timeout
stateful if true a disconnection will cause an error and removing from the queue, otherwise sending wil be re-attempted
void XrdCl::OutQueue::Report ( Status  status  ) 

Report status to all the handlers.


Member Data Documentation

Referenced by GetSize(), and IsEmpty().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 5 Apr 2019 for xrootd by  doxygen 1.6.1