Message handler.
More...
#include <XrdClPostMasterInterfaces.hh>
Actions to be taken after a message is processed by the handler.
Enumerator |
---|
Take |
Take ownership over the message.
|
Ignore |
Ignore the message.
|
RemoveHandler |
Remove the handler from the notification list
|
Raw |
the handler is interested in reading the message body directly from the socket
|
NoProcess |
don't call the processing callback even if the message belongs to this handler
|
Events that may have occurred to the stream.
Enumerator |
---|
Ready |
The stream has become connected.
|
Broken |
The stream is broken.
|
Timeout |
The declared timeout has occurred.
|
FatalError |
Stream has been broken and won't be recovered.
|
virtual XrdCl::IncomingMsgHandler::~IncomingMsgHandler |
( |
| ) |
|
|
inlinevirtual |
Event types that the message handler may receive.
virtual uint16_t XrdCl::IncomingMsgHandler::Examine |
( |
Message * |
msg | ) |
|
|
pure virtual |
Examine an incoming message, and decide on the action to be taken
- Parameters
-
msg | the message, may be zero if receive failed |
- Returns
- action type that needs to be take wrt the message and the handler
virtual uint16_t XrdCl::IncomingMsgHandler::GetSid |
( |
| ) |
const |
|
pure virtual |
Get handler sid
return sid of the corresponding request, otherwise 0
virtual uint8_t XrdCl::IncomingMsgHandler::OnStreamEvent |
( |
StreamEvent |
event, |
|
|
uint16_t |
streamNum, |
|
|
Status |
status |
|
) |
| |
|
inlinevirtual |
Handle an event other that a message arrival
- Parameters
-
event | type of the event |
streamNum | stream concerned |
status | status info |
- Returns
- Action::RemoveHandler or 0
virtual void XrdCl::IncomingMsgHandler::Process |
( |
Message * |
msg | ) |
|
|
inlinevirtual |
Process the message if it was "taken" by the examine action
- Parameters
-
msg | the message to be processed |
virtual Status XrdCl::IncomingMsgHandler::ReadMessageBody |
( |
Message * |
msg, |
|
|
int |
socket, |
|
|
uint32_t & |
bytesRead |
|
) |
| |
|
inlinevirtual |
Read message body directly from a socket - called if Examine returns Raw flag - only socket related errors may be returned here
- Parameters
-
msg | the corresponding message header |
socket | the socket to read from |
bytesRead | number of bytes read by the method |
- Returns
- stOK & suDone if the whole body has been processed stOK & suRetry if more data is needed stError on failure
References XrdCl::stOK, and XrdCl::suDone.
The documentation for this class was generated from the following file: