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: