template <>
class WireServer
Defined at line 91804 of file fidling/gen/sdk/fidl/fuchsia.posix.socket/fuchsia.posix.socket/cpp/fidl/fuchsia.posix.socket/cpp/wire_messaging.h
Pure-virtual interface to be implemented by a server.
This interface uses typed channels (i.e. |::fidl::ClientEnd
<
::fuchsia_posix_socket::SynchronousDatagramSocket>|
and |::fidl::ServerEnd
<
::fuchsia_posix_socket::SynchronousDatagramSocket>|).
Public Methods
void Clone (::fuchsia_unknown::wire::CloneableCloneRequest * 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 SetReuseAddress (::fuchsia_posix_socket::wire::BaseSocketSetReuseAddressRequest * 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 (::fuchsia_posix_socket::wire::BaseSocketSetBroadcastRequest * request, SetBroadcastCompleter::Sync & completer)
Set `SOL_SOCKET` -> `SO_BROADCAST`.
void GetBroadcast (GetBroadcastCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_BROADCAST`.
void SetSendBuffer (::fuchsia_posix_socket::wire::BaseSocketSetSendBufferRequest * request, SetSendBufferCompleter::Sync & completer)
Set `SOL_SOCKET` -> `SO_SNDBUF`.
void GetSendBuffer (GetSendBufferCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_SNDBUF`.
void SetReceiveBuffer (::fuchsia_posix_socket::wire::BaseSocketSetReceiveBufferRequest * request, SetReceiveBufferCompleter::Sync & completer)
Set `SOL_SOCKET` -> `SO_RCVBUF`.
void GetReceiveBuffer (GetReceiveBufferCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_RCVBUF`.
void SetKeepAlive (::fuchsia_posix_socket::wire::BaseSocketSetKeepAliveRequest * request, SetKeepAliveCompleter::Sync & completer)
Set `SOL_SOCKET` -> `SO_KEEPALIVE`.
void GetKeepAlive (GetKeepAliveCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_KEEPALIVE`.
void SetOutOfBandInline (::fuchsia_posix_socket::wire::BaseSocketSetOutOfBandInlineRequest * request, SetOutOfBandInlineCompleter::Sync & completer)
Set `SOL_SOCKET` -> `SO_OOBINLINE`.
void GetOutOfBandInline (GetOutOfBandInlineCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_OOBINLINE`.
void SetNoCheck (::fuchsia_posix_socket::wire::BaseSocketSetNoCheckRequest * request, SetNoCheckCompleter::Sync & completer)
Set `SOL_SOCKET` -> `SO_NO_CHECK`.
void GetNoCheck (GetNoCheckCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_NO_CHECK`.
void SetLinger (::fuchsia_posix_socket::wire::BaseSocketSetLingerRequest * request, SetLingerCompleter::Sync & completer)
Set `SOL_SOCKET` -> `SO_LINGER`.
void GetLinger (GetLingerCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_LINGER`.
void SetReusePort (::fuchsia_posix_socket::wire::BaseSocketSetReusePortRequest * request, SetReusePortCompleter::Sync & completer)
Set `SOL_SOCKET` -> `SO_REUSEPORT`.
void SetReusePortDeprecated (::fuchsia_posix_socket::wire::BaseSocketSetReusePortDeprecatedRequest * 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 (::fuchsia_posix_socket::wire::BaseSocketSetBindToDeviceRequest * request, SetBindToDeviceCompleter::Sync & completer)
Set `SOL_SOCKET` -> `SO_BINDTODEVICE`.
void GetBindToDevice (GetBindToDeviceCompleter::Sync & completer)
Get `SOL_SOCKET` -> `SO_BINDTODEVICE`.
void SetBindToInterfaceIndex (::fuchsia_posix_socket::wire::BaseSocketSetBindToInterfaceIndexRequest * 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 (::fuchsia_posix_socket::wire::BaseSocketSetTimestampRequest * 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 (::fuchsia_posix_socket::wire::BaseSocketSetMarkRequest * 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 (::fuchsia_posix_socket::wire::BaseSocketGetMarkRequest * 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`.
void Bind (::fuchsia_posix_socket::wire::BaseNetworkSocketBindRequest * request, BindCompleter::Sync & completer)
Sets the local address used for the socket.
void Connect (::fuchsia_posix_socket::wire::BaseNetworkSocketConnectRequest * request, ConnectCompleter::Sync & completer)
Initiates a connection to a remote address.
void Disconnect (DisconnectCompleter::Sync & completer)
Clears connection information from this socket.
void GetSockName (GetSockNameCompleter::Sync & completer)
Retrieves the local socket address.
void GetPeerName (GetPeerNameCompleter::Sync & completer)
Retrieves the remote socket address.
void Shutdown (::fuchsia_posix_socket::wire::BaseNetworkSocketShutdownRequest * request, ShutdownCompleter::Sync & completer)
Shuts down part of the socket.
void SetIpTypeOfService (::fuchsia_posix_socket::wire::BaseNetworkSocketSetIpTypeOfServiceRequest * request, SetIpTypeOfServiceCompleter::Sync & completer)
Set `SOL_IP` -> `IP_TOS`.
void GetIpTypeOfService (GetIpTypeOfServiceCompleter::Sync & completer)
Get `SOL_IP` -> `IP_TOS`.
void SetIpTtl (::fuchsia_posix_socket::wire::BaseNetworkSocketSetIpTtlRequest * request, SetIpTtlCompleter::Sync & completer)
Set `SOL_IP` -> `IP_TTL`.
void GetIpTtl (GetIpTtlCompleter::Sync & completer)
Get `SOL_IP` -> `IP_TTL`.
void SetIpPacketInfo (::fuchsia_posix_socket::wire::BaseNetworkSocketSetIpPacketInfoRequest * request, SetIpPacketInfoCompleter::Sync & completer)
Set `SOL_IP` -> `IP_PKTINFO`.
void GetIpPacketInfo (GetIpPacketInfoCompleter::Sync & completer)
Get `SOL_IP` -> `IP_PKTINFO`.
void SetIpReceiveTypeOfService (::fuchsia_posix_socket::wire::BaseNetworkSocketSetIpReceiveTypeOfServiceRequest * request, SetIpReceiveTypeOfServiceCompleter::Sync & completer)
Set `SOL_IP` -> `IP_RECVTOS`.
void GetIpReceiveTypeOfService (GetIpReceiveTypeOfServiceCompleter::Sync & completer)
Get `SOL_IP` -> `IP_RECVTOS`.
void SetIpReceiveTtl (::fuchsia_posix_socket::wire::BaseNetworkSocketSetIpReceiveTtlRequest * request, SetIpReceiveTtlCompleter::Sync & completer)
Set `SOL_IP` -> `IP_RECVTTL`.
void GetIpReceiveTtl (GetIpReceiveTtlCompleter::Sync & completer)
Get `SOL_IP` -> `IP_RECVTTL`.
void SetIpMulticastInterface (::fuchsia_posix_socket::wire::BaseNetworkSocketSetIpMulticastInterfaceRequest * request, SetIpMulticastInterfaceCompleter::Sync & completer)
Set `SOL_IP` -> `IP_MULTICAST_IF`.
void GetIpMulticastInterface (GetIpMulticastInterfaceCompleter::Sync & completer)
Get `SOL_IP` -> `IP_MULTICAST_IF`.
void SetIpMulticastTtl (::fuchsia_posix_socket::wire::BaseNetworkSocketSetIpMulticastTtlRequest * request, SetIpMulticastTtlCompleter::Sync & completer)
Set `SOL_IP` -> `IP_MULTICAST_TTL`.
void GetIpMulticastTtl (GetIpMulticastTtlCompleter::Sync & completer)
Get `SOL_IP` -> `IP_MULTICAST_TTL`.
void SetIpMulticastLoopback (::fuchsia_posix_socket::wire::BaseNetworkSocketSetIpMulticastLoopbackRequest * request, SetIpMulticastLoopbackCompleter::Sync & completer)
Set `SOL_IP` -> `IP_MULTICAST_LOOP`.
void GetIpMulticastLoopback (GetIpMulticastLoopbackCompleter::Sync & completer)
Get `SOL_IP` -> `IP_MULTICAST_LOOP`.
void AddIpMembership (::fuchsia_posix_socket::wire::BaseNetworkSocketAddIpMembershipRequest * request, AddIpMembershipCompleter::Sync & completer)
Set `SOL_IP` -> `IP_ADD_MEMBERSHIP`
void DropIpMembership (::fuchsia_posix_socket::wire::BaseNetworkSocketDropIpMembershipRequest * request, DropIpMembershipCompleter::Sync & completer)
Set `SOL_IP` -> `IP_DROP_MEMBERSHIP`
void SetIpTransparent (::fuchsia_posix_socket::wire::BaseNetworkSocketSetIpTransparentRequest * request, SetIpTransparentCompleter::Sync & completer)
Set `SOL_IP` -> `IP_TRANSPARENT`
void GetIpTransparent (GetIpTransparentCompleter::Sync & completer)
Get `SOL_IP` -> `IP_TRANSPARENT`
void SetIpReceiveOriginalDestinationAddress (::fuchsia_posix_socket::wire::BaseNetworkSocketSetIpReceiveOriginalDestinationAddressRequest * request, SetIpReceiveOriginalDestinationAddressCompleter::Sync & completer)
Set `SOL_IP` -> `IP_RECVORIGDSTADDR`
void GetIpReceiveOriginalDestinationAddress (GetIpReceiveOriginalDestinationAddressCompleter::Sync & completer)
Get `SOL_IP` -> `IP_RECVORIGDSTADDR`
void AddIpv6Membership (::fuchsia_posix_socket::wire::BaseNetworkSocketAddIpv6MembershipRequest * request, AddIpv6MembershipCompleter::Sync & completer)
Set `SOL_IPV6` -> `IPV6_ADD_MEMBERSHIP`.
void DropIpv6Membership (::fuchsia_posix_socket::wire::BaseNetworkSocketDropIpv6MembershipRequest * request, DropIpv6MembershipCompleter::Sync & completer)
Set `SOL_IPV6` -> `IPV6_DROP_MEMBERSHIP`.
void SetIpv6MulticastInterface (::fuchsia_posix_socket::wire::BaseNetworkSocketSetIpv6MulticastInterfaceRequest * request, SetIpv6MulticastInterfaceCompleter::Sync & completer)
Set `SOL_IPV6` -> `IPV6_MULTICAST_IF`.
void GetIpv6MulticastInterface (GetIpv6MulticastInterfaceCompleter::Sync & completer)
Get `SOL_IPV6` -> `IPV6_MULTICAST_IF`.
void SetIpv6UnicastHops (::fuchsia_posix_socket::wire::BaseNetworkSocketSetIpv6UnicastHopsRequest * request, SetIpv6UnicastHopsCompleter::Sync & completer)
Set `SOL_IPV6` -> `IPV6_UNICAST_HOPS`.
void GetIpv6UnicastHops (GetIpv6UnicastHopsCompleter::Sync & completer)
Get `SOL_IPV6` -> `IPV6_UNICAST_HOPS`.
void SetIpv6ReceiveHopLimit (::fuchsia_posix_socket::wire::BaseNetworkSocketSetIpv6ReceiveHopLimitRequest * request, SetIpv6ReceiveHopLimitCompleter::Sync & completer)
Set `SOL_IPV6` -> `IPV6_RECVHOPLIMIT`.
void GetIpv6ReceiveHopLimit (GetIpv6ReceiveHopLimitCompleter::Sync & completer)
Get `SOL_IPV6` -> `IPV6_RECVHOPLIMIT`.
void SetIpv6MulticastHops (::fuchsia_posix_socket::wire::BaseNetworkSocketSetIpv6MulticastHopsRequest * request, SetIpv6MulticastHopsCompleter::Sync & completer)
Set `SOL_IPV6` -> `IPV6_MULTICAST_HOPS`.
void GetIpv6MulticastHops (GetIpv6MulticastHopsCompleter::Sync & completer)
Get `SOL_IPV6` -> `IPV6_MULTICAST_HOPS`.
void SetIpv6MulticastLoopback (::fuchsia_posix_socket::wire::BaseNetworkSocketSetIpv6MulticastLoopbackRequest * request, SetIpv6MulticastLoopbackCompleter::Sync & completer)
Set `SOL_IPV6` -> `IPV6_MULTICAST_LOOP`.
void GetIpv6MulticastLoopback (GetIpv6MulticastLoopbackCompleter::Sync & completer)
Get `SOL_IPV6` -> `IPV6_MULTICAST_LOOP`.
void SetIpv6Only (::fuchsia_posix_socket::wire::BaseNetworkSocketSetIpv6OnlyRequest * request, SetIpv6OnlyCompleter::Sync & completer)
Set `SOL_IPV6` -> `IPV6_V6ONLY`.
void GetIpv6Only (GetIpv6OnlyCompleter::Sync & completer)
Get `SOL_IPV6` -> `IPV6_V6ONLY`.
void SetIpv6ReceiveTrafficClass (::fuchsia_posix_socket::wire::BaseNetworkSocketSetIpv6ReceiveTrafficClassRequest * request, SetIpv6ReceiveTrafficClassCompleter::Sync & completer)
Set `SOL_IPV6` -> `IPV6_RECVTCLASS`.
void GetIpv6ReceiveTrafficClass (GetIpv6ReceiveTrafficClassCompleter::Sync & completer)
Get `SOL_IPV6` -> `IPV6_RECVTCLASS`.
void SetIpv6TrafficClass (::fuchsia_posix_socket::wire::BaseNetworkSocketSetIpv6TrafficClassRequest * request, SetIpv6TrafficClassCompleter::Sync & completer)
Set `SOL_IPV6` -> `IPV6_TCLASS`
void GetIpv6TrafficClass (GetIpv6TrafficClassCompleter::Sync & completer)
Get `SOL_IPV6` -> `IPV6_TCLASS`.
void SetIpv6ReceivePacketInfo (::fuchsia_posix_socket::wire::BaseNetworkSocketSetIpv6ReceivePacketInfoRequest * request, SetIpv6ReceivePacketInfoCompleter::Sync & completer)
Set `SOL_IPV6` -> `IPV6_RECVPKTINFO`.
void GetIpv6ReceivePacketInfo (GetIpv6ReceivePacketInfoCompleter::Sync & completer)
Get `SOL_IPV6` -> `IPV6_RECVPKTINFO`.
void GetOriginalDestination (GetOriginalDestinationCompleter::Sync & completer)
Get `SOL_IP` -> `SO_ORIGINAL_DST`.
void GetInfo (GetInfoCompleter::Sync & completer)
Retrieves creation information from the socket.
- response `domain` the socket's associated domain.
- response `proto` the socket's associated protocol.
void Describe (DescribeCompleter::Sync & completer)
void RecvMsg (::fuchsia_posix_socket::wire::SynchronousDatagramSocketRecvMsgRequest * request, RecvMsgCompleter::Sync & completer)
Receives a message from the socket.
+ request `want_addr` request message's source address information to
be returned.
+ request `data_len` the maximum allowed length of the response data
buffer.
+ request `want_control` request ancillary data to be returned.
+ request `flags` flags for the receive request.
- response `addr` the message's source address information, if
requested.
- response `data` the message.
- response `control` control messages, if requested.
- response `truncated` indicates whether or not the returned message
was truncated.
void SendMsg (::fuchsia_posix_socket::wire::SynchronousDatagramSocketSendMsgRequest * request, SendMsgCompleter::Sync & completer)
Sends a message on the socket.
+ request `addr` the address to send the message to. If unset, will send
to the connected peer.
+ request `data` the message.
+ request `control` ancillary data.
+ request `flags` flags for the send request.
- response `len` the number of bytes sent.
void WireServer ()
Defined at line 91807 of file fidling/gen/sdk/fidl/fuchsia.posix.socket/fuchsia.posix.socket/cpp/fidl/fuchsia.posix.socket/cpp/wire_messaging.h
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 ~WireServer ()
Defined at line 91808 of file fidling/gen/sdk/fidl/fuchsia.posix.socket/fuchsia.posix.socket/cpp/fidl/fuchsia.posix.socket/cpp/wire_messaging.h