XrdCl::PostMaster Class Reference
A hub for dispatching and receiving messages.
More...
#include <XrdClPostMaster.hh>
List of all members.
Public Member Functions |
| PostMaster () |
| Constructor.
|
virtual | ~PostMaster () |
| Destructor.
|
bool | Initialize () |
| Initializer.
|
bool | Finalize () |
| Finalizer.
|
bool | Start () |
| Start the post master.
|
bool | Stop () |
| Stop the postmaster.
|
bool | Reinitialize () |
| Reinitialize after fork.
|
Status | Send (const URL &url, Message *msg, bool stateful, time_t expires) |
Status | Send (const URL &url, Message *msg, OutgoingMsgHandler *handler, bool stateful, time_t expires) |
Status | Redirect (const URL &url, Message *msg, IncomingMsgHandler *handler) |
Status | Receive (const URL &url, Message *&msg, MessageFilter *filter, time_t expires) |
Status | Receive (const URL &url, IncomingMsgHandler *handler, time_t expires) |
Status | QueryTransport (const URL &url, uint16_t query, AnyObject &result) |
Status | RegisterEventHandler (const URL &url, ChannelEventHandler *handler) |
| Register channel event handler.
|
Status | RemoveEventHandler (const URL &url, ChannelEventHandler *handler) |
| Remove a channel event handler.
|
TaskManager * | GetTaskManager () |
| Get the task manager object user by the post master.
|
JobManager * | GetJobManager () |
| Get the job manager object user by the post master.
|
Status | ForceDisconnect (const URL &url) |
| Shut down a channel.
|
Private Types |
typedef std::map< std::string,
Channel * > | ChannelMap |
Private Member Functions |
Channel * | GetChannel (const URL &url) |
Private Attributes |
Poller * | pPoller |
TaskManager * | pTaskManager |
ChannelMap | pChannelMap |
XrdSysMutex | pChannelMapMutex |
bool | pInitialized |
JobManager * | pJobManager |
Detailed Description
A hub for dispatching and receiving messages.
Member Typedef Documentation
Constructor & Destructor Documentation
XrdCl::PostMaster::PostMaster |
( |
|
) |
|
virtual XrdCl::PostMaster::~PostMaster |
( |
|
) |
[virtual] |
Member Function Documentation
bool XrdCl::PostMaster::Finalize |
( |
|
) |
|
Status XrdCl::PostMaster::ForceDisconnect |
( |
const URL & |
url |
) |
|
Channel* XrdCl::PostMaster::GetChannel |
( |
const URL & |
url |
) |
[private] |
JobManager* XrdCl::PostMaster::GetJobManager |
( |
|
) |
[inline] |
Get the job manager object user by the post master.
References pJobManager.
TaskManager* XrdCl::PostMaster::GetTaskManager |
( |
|
) |
[inline] |
Get the task manager object user by the post master.
References pTaskManager.
bool XrdCl::PostMaster::Initialize |
( |
|
) |
|
Status XrdCl::PostMaster::QueryTransport |
( |
const URL & |
url, |
|
|
uint16_t |
query, |
|
|
AnyObject & |
result | |
|
) |
| | |
Query the transport handler for a given URL
- Parameters:
-
| url | the channel to be queried |
| query | the query as defined in the TransportQuery struct or others that may be recognized by the protocol transport |
| result | the result of the query |
- Returns:
- status of the query
Listen to incoming messages, the listener is notified when a new message arrives and when the timeout passes
- Parameters:
-
| url | sender of the message |
| handler | handler to be notified about new messages |
| expires | expiration timestamp |
- Returns:
- success when the listener has been inserted correctly
Synchronously receive a message - blocks until a message matching a filter is found in the incoming queue or the timeout passes
- Parameters:
-
| url | sender of the message |
| msg | reference to a message pointer, the pointer will point to the received message |
| filter | filter object defining what to look for |
| expires | expiration timestamp |
- Returns:
- success when the message has been received successfully, failure otherwise
Register channel event handler.
bool XrdCl::PostMaster::Reinitialize |
( |
|
) |
|
Remove a channel event handler.
Send the message asynchronously - the message is inserted into the send queue and a listener is called when the message is succesfsully pushed through the wire or when the timeout elapses
DEADLOCK WARNING: no lock should be taken while calling this method that are used in the callback as well.
- Parameters:
-
| url | recipient of the message |
| msg | message to be sent |
| expires | unix timestamp after which a failure is reported to the handler |
| handler | handler will be notified about the status |
| stateful | physical stream disconnection causes an error |
- Returns:
- success if the message was successfully inserted into the send queues, failure otherwise
Status XrdCl::PostMaster::Send |
( |
const URL & |
url, |
|
|
Message * |
msg, |
|
|
bool |
stateful, |
|
|
time_t |
expires | |
|
) |
| | |
Send a message synchronously - synchronously means that it will block until the message is written to a socket
DEADLOCK WARNING: no lock should be taken while calling this method that are used in the callback as well.
- Parameters:
-
| url | recipient of the message |
| msg | message to be sent |
| stateful | physical stream disconnection causes an error |
| expires | unix timestamp after which a failure should be reported if sending was unsuccessful |
- Returns:
- success if the message has been pushed through the wire, failure otherwise
bool XrdCl::PostMaster::Start |
( |
|
) |
|
bool XrdCl::PostMaster::Stop |
( |
|
) |
|
Member Data Documentation
The documentation for this class was generated from the following file: