Open Search
    NetworkTcpConnectionInterface Class Reference

    #include <network_ip_tcp.h>

    Inheritance diagram for NetworkTcpConnectionInterface:

    Detailed Description

    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")
     
    - Private Member Functions inherited from AioReaderInterface
    MAXON_METHOD Result< void > NotifyForRead (SocketT sockfd, Result< void > result)
     
    - Private Member Functions inherited from AioWriterInterface
    MAXON_METHOD Result< void > NotifyForWrite (SocketT sockfd, Result< void > result)
     

    Member Typedef Documentation

    ◆ ReceiveCompletionHandler

    ◆ SendCompletionHandler

    ◆ ConnectCompletionHandler

    using ConnectCompletionHandler = Delegate<Result<void>(Result<void>, NetworkTcpConnectionRef)>

    Member Function Documentation

    ◆ MAXON_INTERFACE()

    MAXON_INTERFACE ( NetworkTcpConnectionInterface  ,
    MAXON_REFERENCE_NORMAL  ,
    "net.maxon.interface.networktcpconnection"   
    )
    private

    ◆ DefaultSendCompletionHandler()

    static Result<void> DefaultSendCompletionHandler ( Result< void >  res)
    static

    ◆ Receive() [1/2]

    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.

    Parameters
    [in]statusStatus monitor for the operation.
    [in]handlerHandler delegate.
    Returns
    True if the request has been enqueued, error otherwise.

    ◆ Receive() [2/2]

    MAXON_METHOD Result<void> Receive ( ReceiveCompletionHandler  handler)

    Equivalent to Receive(AioStatusRef(), handler).

    ◆ Send() [1/2]

    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.

    Parameters
    [in]statusStatus monitor for the operation.
    [in]dataBuffer containing data to be sent.
    [in]handlerHandler delegate.
    Returns
    True if the request has been enqueued, error otherwise.

    ◆ Send() [2/2]

    Equivalent to Send(AioStatusRef(), data, handler).

    ◆ GetLocalAddress()

    MAXON_METHOD NetworkIpAddrPort GetLocalAddress ( ) const

    Returns the address of the local endpoint of this connection.

    ◆ GetRemoteAddress()

    MAXON_METHOD NetworkIpAddrPort GetRemoteAddress ( ) const

    Returns the address of the remote endpoint of this connection.

    ◆ GetIoService()

    MAXON_METHOD AioServiceRef GetIoService ( ) const

    Returns the I/O service that processes I/O operations of this connection.

    ◆ GetJobQueue()

    MAXON_METHOD JobQueueRef GetJobQueue ( ) const

    Returns the job queue that runs completion handlers of this connection.