XrdCl::AsyncSocketHandler Class Reference
#include <XrdClAsyncSocketHandler.hh>
List of all members.
Classes |
| class | WaitTask |
Public Member Functions |
| | AsyncSocketHandler (Poller *poller, TransportHandler *transport, AnyObject *channelData, uint16_t subStreamNum) |
| | Constructor.
|
| | ~AsyncSocketHandler () |
| | Destructor.
|
| void | SetAddress (const XrdNetAddr &address) |
| | Set address.
|
| const XrdNetAddr & | GetAddress () const |
| | Get the address that the socket is connected to.
|
| Status | Connect (time_t timeout) |
| | Connect to the currently set address.
|
| Status | Close () |
| | Close the connection.
|
| void | SetStream (Stream *stream) |
| | Set a stream object to be notified about the status of the operations.
|
| virtual void | Event (uint8_t type, XrdCl::Socket *) |
| | Handle a socket event.
|
| Status | EnableUplink () |
| | Enable uplink.
|
| Status | DisableUplink () |
| | Disable uplink.
|
| const std::string & | GetStreamName () |
| | Get stream name.
|
| time_t | GetLastActivity () |
| | Get timestamp of last registered socket activity.
|
Private Member Functions |
| void | OnConnectionReturn () |
| void | OnWrite () |
| void | OnWriteWhileHandshaking () |
| Status | WriteMessageAndRaw (Message *toWrite, Message *&sign) |
| Status | WriteSeparately (Message *toWrite, Message *&sign) |
| Status | WriteCurrentMessage (Message *toWrite) |
| Status | WriteVMessage (Message *toWrite, Message *&sign, ChunkList *chunks, uint32_t *asyncOffset) |
| void | OnRead () |
| void | OnReadWhileHandshaking () |
| Status | ReadMessage (Message *&toRead) |
| void | OnFault (Status st) |
| void | OnFaultWhileHandshaking (Status st) |
| void | OnWriteTimeout () |
| void | OnReadTimeout () |
| void | OnTimeoutWhileHandshaking () |
| Status | GetSignature (Message *toSign, Message *&sign) |
| void | ToIov (Message &msg, iovec &iov) |
| void | UpdateAfterWrite (Message &msg, iovec &iov, int &bytesRead) |
| uint32_t | ToIov (ChunkList *chunks, const uint32_t *offset, iovec *iov) |
| void | UpdateAfterWrite (ChunkList *chunks, uint32_t *offset, iovec *iov, int &bytesWritten) |
| void | RetryHSMsg (Message *msg) |
| kXR_int32 | HandleWaitRsp (Message *rsp) |
| Status | ClassifyErrno (int error) |
Private Attributes |
| Poller * | pPoller |
| TransportHandler * | pTransport |
| AnyObject * | pChannelData |
| uint16_t | pSubStreamNum |
| Stream * | pStream |
| std::string | pStreamName |
| Socket * | pSocket |
| Message * | pIncoming |
| Message * | pHSIncoming |
| Message * | pOutgoing |
| Message * | pSignature |
| Message * | pHSOutgoing |
| XrdNetAddr | pSockAddr |
| HandShakeData * | pHandShakeData |
| bool | pHandShakeDone |
| uint16_t | pTimeoutResolution |
| time_t | pConnectionStarted |
| time_t | pConnectionTimeout |
| bool | pHeaderDone |
std::pair< IncomingMsgHandler
*, bool > | pIncHandler |
| bool | pOutMsgDone |
| OutgoingMsgHandler * | pOutHandler |
| uint32_t | pIncMsgSize |
| uint32_t | pOutMsgSize |
| time_t | pLastActivity |
Detailed Description
Utility class handling asynchronous socket interactions and forwarding events to the parent stream.
Constructor & Destructor Documentation
| XrdCl::AsyncSocketHandler::~AsyncSocketHandler |
( |
|
) |
|
Member Function Documentation
| Status XrdCl::AsyncSocketHandler::ClassifyErrno |
( |
int |
error |
) |
[private] |
Classify errno while reading/writing
Once we are at R5, change Transport interface and use: Transport::ClassifyErrno
| Status XrdCl::AsyncSocketHandler::Close |
( |
|
) |
|
| Status XrdCl::AsyncSocketHandler::Connect |
( |
time_t |
timeout |
) |
|
Connect to the currently set address.
| Status XrdCl::AsyncSocketHandler::DisableUplink |
( |
|
) |
[inline] |
| Status XrdCl::AsyncSocketHandler::EnableUplink |
( |
|
) |
[inline] |
| virtual void XrdCl::AsyncSocketHandler::Event |
( |
uint8_t |
type, |
|
|
XrdCl::Socket * |
| |
|
) |
| | [virtual] |
| const XrdNetAddr& XrdCl::AsyncSocketHandler::GetAddress |
( |
|
) |
const [inline] |
Get the address that the socket is connected to.
References pSockAddr.
| time_t XrdCl::AsyncSocketHandler::GetLastActivity |
( |
|
) |
[inline] |
Get timestamp of last registered socket activity.
References pLastActivity.
| const std::string& XrdCl::AsyncSocketHandler::GetStreamName |
( |
|
) |
[inline] |
| kXR_int32 XrdCl::AsyncSocketHandler::HandleWaitRsp |
( |
Message * |
rsp |
) |
[inline, private] |
| void XrdCl::AsyncSocketHandler::OnConnectionReturn |
( |
|
) |
[private] |
| void XrdCl::AsyncSocketHandler::OnFault |
( |
Status |
st |
) |
[private] |
| void XrdCl::AsyncSocketHandler::OnFaultWhileHandshaking |
( |
Status |
st |
) |
[private] |
| void XrdCl::AsyncSocketHandler::OnRead |
( |
|
) |
[private] |
| void XrdCl::AsyncSocketHandler::OnReadTimeout |
( |
|
) |
[private] |
| void XrdCl::AsyncSocketHandler::OnReadWhileHandshaking |
( |
|
) |
[private] |
| void XrdCl::AsyncSocketHandler::OnTimeoutWhileHandshaking |
( |
|
) |
[private] |
| void XrdCl::AsyncSocketHandler::OnWrite |
( |
|
) |
[private] |
| void XrdCl::AsyncSocketHandler::OnWriteTimeout |
( |
|
) |
[private] |
| void XrdCl::AsyncSocketHandler::OnWriteWhileHandshaking |
( |
|
) |
[private] |
| Status XrdCl::AsyncSocketHandler::ReadMessage |
( |
Message *& |
toRead |
) |
[private] |
| void XrdCl::AsyncSocketHandler::RetryHSMsg |
( |
Message * |
msg |
) |
[private] |
| void XrdCl::AsyncSocketHandler::SetAddress |
( |
const XrdNetAddr & |
address |
) |
[inline] |
| void XrdCl::AsyncSocketHandler::SetStream |
( |
Stream * |
stream |
) |
|
Set a stream object to be notified about the status of the operations.
| uint32_t XrdCl::AsyncSocketHandler::ToIov |
( |
ChunkList * |
chunks, |
|
|
const uint32_t * |
offset, |
|
|
iovec * |
iov | |
|
) |
| | [inline, private] |
| void XrdCl::AsyncSocketHandler::ToIov |
( |
Message & |
msg, |
|
|
iovec & |
iov | |
|
) |
| | [inline, private] |
| void XrdCl::AsyncSocketHandler::UpdateAfterWrite |
( |
ChunkList * |
chunks, |
|
|
uint32_t * |
offset, |
|
|
iovec * |
iov, |
|
|
int & |
bytesWritten | |
|
) |
| | [inline, private] |
| void XrdCl::AsyncSocketHandler::UpdateAfterWrite |
( |
Message & |
msg, |
|
|
iovec & |
iov, |
|
|
int & |
bytesRead | |
|
) |
| | [inline, private] |
| Status XrdCl::AsyncSocketHandler::WriteCurrentMessage |
( |
Message * |
toWrite |
) |
[private] |
| Status XrdCl::AsyncSocketHandler::WriteMessageAndRaw |
( |
Message * |
toWrite, |
|
|
Message *& |
sign | |
|
) |
| | [private] |
Member Data Documentation
The documentation for this class was generated from the following file: