template <>
class Server
Defined at line 2398 of file fidling/gen/sdk/fidl/fuchsia.posix.socket/fuchsia.posix.socket/cpp/fidl/fuchsia.posix.socket/cpp/natural_messaging.h
Public Methods
void Clone (CloneRequest & request, CloneCompleter::Sync & completer)
void Close (CloseCompleter::Sync & completer)
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.
void Query (QueryCompleter::Sync & completer)
void GetOutOfBandInline (GetOutOfBandInlineCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_OOBINLINE`.
void Server ()
Defined at line 2401 of file fidling/gen/sdk/fidl/fuchsia.posix.socket/fuchsia.posix.socket/cpp/fidl/fuchsia.posix.socket/cpp/natural_messaging.h
void SetReuseAddress (SetReuseAddressRequest & request, SetReuseAddressCompleter::Sync & completer)
Set `SOL_SOCKET` -> `SO_REUSEADDR`.
void GetReuseAddress (GetReuseAddressCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_REUSEADDR`.
void GetError (GetErrorCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_ERROR`.
Returns the last error if there is an error set on the socket.
void SetBroadcast (SetBroadcastRequest & request, SetBroadcastCompleter::Sync & completer)
Set `SOL_SOCKET` -> `SO_BROADCAST`.
void GetBroadcast (GetBroadcastCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_BROADCAST`.
void SetSendBuffer (SetSendBufferRequest & request, SetSendBufferCompleter::Sync & completer)
Set `SOL_SOCKET` -> `SO_SNDBUF`.
void GetSendBuffer (GetSendBufferCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_SNDBUF`.
void SetReceiveBuffer (SetReceiveBufferRequest & request, SetReceiveBufferCompleter::Sync & completer)
Set `SOL_SOCKET` -> `SO_RCVBUF`.
void GetReceiveBuffer (GetReceiveBufferCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_RCVBUF`.
void SetKeepAlive (SetKeepAliveRequest & request, SetKeepAliveCompleter::Sync & completer)
Set `SOL_SOCKET` -> `SO_KEEPALIVE`.
void GetKeepAlive (GetKeepAliveCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_KEEPALIVE`.
void SetOutOfBandInline (SetOutOfBandInlineRequest & request, SetOutOfBandInlineCompleter::Sync & completer)
Set `SOL_SOCKET` -> `SO_OOBINLINE`.
void SetNoCheck (SetNoCheckRequest & request, SetNoCheckCompleter::Sync & completer)
Set `SOL_SOCKET` -> `SO_NO_CHECK`.
void GetNoCheck (GetNoCheckCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_NO_CHECK`.
void SetLinger (SetLingerRequest & request, SetLingerCompleter::Sync & completer)
Set `SOL_SOCKET` -> `SO_LINGER`.
void GetLinger (GetLingerCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_LINGER`.
void SetReusePort (SetReusePortRequest & request, SetReusePortCompleter::Sync & completer)
Set `SOL_SOCKET` -> `SO_REUSEPORT`.
void SetReusePortDeprecated (SetReusePortDeprecatedRequest & request, SetReusePortDeprecatedCompleter::Sync & completer)
void GetReusePort (GetReusePortCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_REUSEPORT`.
void GetAcceptConn (GetAcceptConnCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_ACCEPTCONN`.
void SetBindToDevice (SetBindToDeviceRequest & request, SetBindToDeviceCompleter::Sync & completer)
Set `SOL_SOCKET` -> `SO_BINDTODEVICE`.
void GetBindToDevice (GetBindToDeviceCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_BINDTODEVICE`.
void SetBindToInterfaceIndex (SetBindToInterfaceIndexRequest & request, SetBindToInterfaceIndexCompleter::Sync & completer)
Set `SOL_SOCKET` -> `SO_BINDTOIFINDEX`.
If `value` is 0, this clears the bound interface.
void GetBindToInterfaceIndex (GetBindToInterfaceIndexCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_BINDTOIFINDEX`.
void SetTimestamp (SetTimestampRequest & request, SetTimestampCompleter::Sync & completer)
Set `SOL_SOCKET` -> `SO_TIMESTAMP` or `SO_TIMESTAMPNS`.
void GetTimestamp (GetTimestampCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_TIMESTAMP` or `SO_TIMESTAMPNS`.
void SetMark (SetMarkRequest & request, SetMarkCompleter::Sync & completer)
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.
void GetMark (GetMarkRequest & request, GetMarkCompleter::Sync & completer)
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.
void GetCookie (GetCookieCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_COOKIE`.
Handler bind_handler (async_dispatcher_t * dispatcher)
|bind_handler| returns a handler that binds incoming connections to this
server implementation.
The returned handler borrows the server instance.
The server must outlive the provided |dispatcher|. Only after
the dispatcher is shutdown will it be safe to destroy the servers.
The server should not be moved.
void ~Server ()
Defined at line 2402 of file fidling/gen/sdk/fidl/fuchsia.posix.socket/fuchsia.posix.socket/cpp/fidl/fuchsia.posix.socket/cpp/natural_messaging.h