template <>

class NaturalClientImpl

Defined at line 1824 of file fidling/gen/sdk/fidl/fuchsia.posix.socket/fuchsia.posix.socket/cpp/fidl/fuchsia.posix.socket/cpp/natural_messaging.h

Public Methods

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::Close> Close ()

Terminates the connection.

After calling `Close`, the client must not send any other requests.

Servers, after sending the status response, should close the connection

regardless of status and without sending an epitaph.

Closing the client end of the channel should be semantically equivalent

to calling `Close` without knowing when the close has completed or its

status.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::Query> Query ()
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::SetReuseAddress> SetReuseAddress (const ::fidl::Request< ::fuchsia_posix_socket::BaseSocket::SetReuseAddress> & request)

Set `SOL_SOCKET` -> `SO_REUSEADDR`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::GetReuseAddress> GetReuseAddress ()

Get `SOL_SOCKET` -> `SO_REUSEADDR`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::GetError> GetError ()

Get `SOL_SOCKET` -> `SO_ERROR`.

Returns the last error if there is an error set on the socket.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::SetBroadcast> SetBroadcast (const ::fidl::Request< ::fuchsia_posix_socket::BaseSocket::SetBroadcast> & request)

Set `SOL_SOCKET` -> `SO_BROADCAST`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::GetBroadcast> GetBroadcast ()

Get `SOL_SOCKET` -> `SO_BROADCAST`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::SetSendBuffer> SetSendBuffer (const ::fidl::Request< ::fuchsia_posix_socket::BaseSocket::SetSendBuffer> & request)

Set `SOL_SOCKET` -> `SO_SNDBUF`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::GetSendBuffer> GetSendBuffer ()

Get `SOL_SOCKET` -> `SO_SNDBUF`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::SetReceiveBuffer> SetReceiveBuffer (const ::fidl::Request< ::fuchsia_posix_socket::BaseSocket::SetReceiveBuffer> & request)

Set `SOL_SOCKET` -> `SO_RCVBUF`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::GetReceiveBuffer> GetReceiveBuffer ()

Get `SOL_SOCKET` -> `SO_RCVBUF`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::SetKeepAlive> SetKeepAlive (const ::fidl::Request< ::fuchsia_posix_socket::BaseSocket::SetKeepAlive> & request)

Set `SOL_SOCKET` -> `SO_KEEPALIVE`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::GetKeepAlive> GetKeepAlive ()

Get `SOL_SOCKET` -> `SO_KEEPALIVE`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::SetOutOfBandInline> SetOutOfBandInline (const ::fidl::Request< ::fuchsia_posix_socket::BaseSocket::SetOutOfBandInline> & request)

Set `SOL_SOCKET` -> `SO_OOBINLINE`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::GetOutOfBandInline> GetOutOfBandInline ()

Get `SOL_SOCKET` -> `SO_OOBINLINE`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::SetNoCheck> SetNoCheck (const ::fidl::Request< ::fuchsia_posix_socket::BaseSocket::SetNoCheck> & request)

Set `SOL_SOCKET` -> `SO_NO_CHECK`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::GetNoCheck> GetNoCheck ()

Get `SOL_SOCKET` -> `SO_NO_CHECK`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::SetLinger> SetLinger (const ::fidl::Request< ::fuchsia_posix_socket::BaseSocket::SetLinger> & request)

Set `SOL_SOCKET` -> `SO_LINGER`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::GetLinger> GetLinger ()

Get `SOL_SOCKET` -> `SO_LINGER`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::SetReusePort> SetReusePort (::fidl::Request< ::fuchsia_posix_socket::BaseSocket::SetReusePort> request)

Set `SOL_SOCKET` -> `SO_REUSEPORT`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::SetReusePortDeprecated> SetReusePortDeprecated (const ::fidl::Request< ::fuchsia_posix_socket::BaseSocket::SetReusePortDeprecated> & request)
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::GetReusePort> GetReusePort ()

Get `SOL_SOCKET` -> `SO_REUSEPORT`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::GetAcceptConn> GetAcceptConn ()

Get `SOL_SOCKET` -> `SO_ACCEPTCONN`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::SetBindToDevice> SetBindToDevice (const ::fidl::Request< ::fuchsia_posix_socket::BaseSocket::SetBindToDevice> & request)

Set `SOL_SOCKET` -> `SO_BINDTODEVICE`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::GetBindToDevice> GetBindToDevice ()

Get `SOL_SOCKET` -> `SO_BINDTODEVICE`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::SetBindToInterfaceIndex> SetBindToInterfaceIndex (const ::fidl::Request< ::fuchsia_posix_socket::BaseSocket::SetBindToInterfaceIndex> & request)

Set `SOL_SOCKET` -> `SO_BINDTOIFINDEX`.

If `value` is 0, this clears the bound interface.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::GetBindToInterfaceIndex> GetBindToInterfaceIndex ()

Get `SOL_SOCKET` -> `SO_BINDTOIFINDEX`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::SetTimestamp> SetTimestamp (const ::fidl::Request< ::fuchsia_posix_socket::BaseSocket::SetTimestamp> & request)

Set `SOL_SOCKET` -> `SO_TIMESTAMP` or `SO_TIMESTAMPNS`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::GetTimestamp> GetTimestamp ()

Get `SOL_SOCKET` -> `SO_TIMESTAMP` or `SO_TIMESTAMPNS`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::SetMark> SetMark (const ::fidl::Request< ::fuchsia_posix_socket::BaseSocket::SetMark> & request)

Like setting `SOL_SOCKET` -> `SO_MARK`. The major difference is that

unlike the standard SO_MARK, this API has multiple mark domains and each

mark can be set independently in each domain.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::GetMark> GetMark (const ::fidl::Request< ::fuchsia_posix_socket::BaseSocket::GetMark> & request)

Like getting `SOL_SOCKET` -> `SO_MARK`. The major difference is that

unlike the standard SO_MARK, this API has multiple mark domains and each

mark can be retrieved independently in each domain.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::BaseSocket::GetCookie> GetCookie ()

Get `SOL_SOCKET` -> `SO_COOKIE`.

::fit::result< ::fidl::OneWayError> Clone (::fidl::Request< ::fuchsia_posix_socket::BaseSocket::Clone> request)