#include <network_ip_tcp.h>
An asynchronous TCP connection.
Public Types | |
using | ReceiveCompletionHandler = Delegate< Result< void >(Result< void >, AioBuffer)> |
using | SendCompletionHandler = Delegate< Result< void >(Result< void >)> |
using | ConnectCompletionHandler = Delegate< Result< void >(Result< void >, NetworkTcpConnectionRef)> |
Public Member Functions | |
MAXON_METHOD Result< void > | Receive (const AioStatusRef &status, ReceiveCompletionHandler handler) |
MAXON_METHOD Result< void > | Receive (ReceiveCompletionHandler handler) |
MAXON_METHOD Result< void > | Send (const AioStatusRef &status, AioBuffer data, SendCompletionHandler handler=DefaultSendCompletionHandler) |
MAXON_METHOD Result< void > | Send (AioBuffer data, SendCompletionHandler handler=DefaultSendCompletionHandler) |
MAXON_METHOD NetworkIpAddrPort | GetLocalAddress () const |
MAXON_METHOD NetworkIpAddrPort | GetRemoteAddress () const |
MAXON_METHOD AioServiceRef | GetIoService () const |
MAXON_METHOD JobQueueRef | GetJobQueue () const |
Static Public Member Functions | |
static Result< void > | DefaultSendCompletionHandler (Result< void > res) |
Private Member Functions | |
MAXON_INTERFACE (NetworkTcpConnectionInterface, MAXON_REFERENCE_NORMAL, "net.maxon.interface.networktcpconnection") | |
![]() | |
MAXON_METHOD Result< void > | NotifyForRead (SocketT sockfd, Result< void > result) |
![]() | |
MAXON_METHOD Result< void > | NotifyForWrite (SocketT sockfd, Result< void > result) |
using ReceiveCompletionHandler = Delegate<Result<void>(Result<void>, AioBuffer)> |
using SendCompletionHandler = Delegate<Result<void>(Result<void>)> |
using ConnectCompletionHandler = Delegate<Result<void>(Result<void>, NetworkTcpConnectionRef)> |
|
private |
MAXON_METHOD Result<void> Receive | ( | const AioStatusRef & | status, |
ReceiveCompletionHandler | handler | ||
) |
Enqueues an asynchronous receive request. As soon as data has been received, the given handler delegate is called. A status instance can be used to synchronously wait on the operation and check its success.
[in] | status | Status monitor for the operation. |
[in] | handler | Handler delegate. |
MAXON_METHOD Result<void> Receive | ( | ReceiveCompletionHandler | handler | ) |
Equivalent to Receive(AioStatusRef(), handler).
MAXON_METHOD Result<void> Send | ( | const AioStatusRef & | status, |
AioBuffer | data, | ||
SendCompletionHandler | handler = DefaultSendCompletionHandler |
||
) |
Enqueues an asynchronous send request. As soon as data has been sent, the given handler delegate is called. A status instance can be used to synchronously wait on the operation and check its success.
[in] | status | Status monitor for the operation. |
[in] | data | Buffer containing data to be sent. |
[in] | handler | Handler delegate. |
MAXON_METHOD Result<void> Send | ( | AioBuffer | data, |
SendCompletionHandler | handler = DefaultSendCompletionHandler |
||
) |
Equivalent to Send(AioStatusRef(), data, handler).
MAXON_METHOD NetworkIpAddrPort GetLocalAddress | ( | ) | const |
Returns the address of the local endpoint of this connection.
MAXON_METHOD NetworkIpAddrPort GetRemoteAddress | ( | ) | const |
Returns the address of the remote endpoint of this connection.
MAXON_METHOD AioServiceRef GetIoService | ( | ) | const |
Returns the I/O service that processes I/O operations of this connection.
MAXON_METHOD JobQueueRef GetJobQueue | ( | ) | const |
Returns the job queue that runs completion handlers of this connection.