template <>
class NaturalClientImpl
Defined at line 15601 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::DatagramSocket::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::DatagramSocket::Query> Query ()
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetReuseAddress> SetReuseAddress (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetReuseAddress> & request)
Set `SOL_SOCKET` -> `SO_REUSEADDR`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetReuseAddress> GetReuseAddress ()
Get `SOL_SOCKET` -> `SO_REUSEADDR`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::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::DatagramSocket::SetBroadcast> SetBroadcast (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetBroadcast> & request)
Set `SOL_SOCKET` -> `SO_BROADCAST`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetBroadcast> GetBroadcast ()
Get `SOL_SOCKET` -> `SO_BROADCAST`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetSendBuffer> SetSendBuffer (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetSendBuffer> & request)
Set `SOL_SOCKET` -> `SO_SNDBUF`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetSendBuffer> GetSendBuffer ()
Get `SOL_SOCKET` -> `SO_SNDBUF`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetReceiveBuffer> SetReceiveBuffer (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetReceiveBuffer> & request)
Set `SOL_SOCKET` -> `SO_RCVBUF`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetReceiveBuffer> GetReceiveBuffer ()
Get `SOL_SOCKET` -> `SO_RCVBUF`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetKeepAlive> SetKeepAlive (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetKeepAlive> & request)
Set `SOL_SOCKET` -> `SO_KEEPALIVE`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetKeepAlive> GetKeepAlive ()
Get `SOL_SOCKET` -> `SO_KEEPALIVE`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetOutOfBandInline> SetOutOfBandInline (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetOutOfBandInline> & request)
Set `SOL_SOCKET` -> `SO_OOBINLINE`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetOutOfBandInline> GetOutOfBandInline ()
Get `SOL_SOCKET` -> `SO_OOBINLINE`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetNoCheck> SetNoCheck (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetNoCheck> & request)
Set `SOL_SOCKET` -> `SO_NO_CHECK`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetNoCheck> GetNoCheck ()
Get `SOL_SOCKET` -> `SO_NO_CHECK`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetLinger> SetLinger (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetLinger> & request)
Set `SOL_SOCKET` -> `SO_LINGER`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetLinger> GetLinger ()
Get `SOL_SOCKET` -> `SO_LINGER`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetReusePort> SetReusePort (::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetReusePort> request)
Set `SOL_SOCKET` -> `SO_REUSEPORT`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetReusePortDeprecated> SetReusePortDeprecated (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetReusePortDeprecated> & request)
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetReusePort> GetReusePort ()
Get `SOL_SOCKET` -> `SO_REUSEPORT`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetAcceptConn> GetAcceptConn ()
Get `SOL_SOCKET` -> `SO_ACCEPTCONN`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetBindToDevice> SetBindToDevice (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetBindToDevice> & request)
Set `SOL_SOCKET` -> `SO_BINDTODEVICE`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetBindToDevice> GetBindToDevice ()
Get `SOL_SOCKET` -> `SO_BINDTODEVICE`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetBindToInterfaceIndex> SetBindToInterfaceIndex (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetBindToInterfaceIndex> & request)
Set `SOL_SOCKET` -> `SO_BINDTOIFINDEX`.
If `value` is 0, this clears the bound interface.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetBindToInterfaceIndex> GetBindToInterfaceIndex ()
Get `SOL_SOCKET` -> `SO_BINDTOIFINDEX`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetTimestamp> SetTimestamp (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetTimestamp> & request)
Set `SOL_SOCKET` -> `SO_TIMESTAMP` or `SO_TIMESTAMPNS`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetTimestamp> GetTimestamp ()
Get `SOL_SOCKET` -> `SO_TIMESTAMP` or `SO_TIMESTAMPNS`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetMark> SetMark (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::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::DatagramSocket::GetMark> GetMark (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::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::DatagramSocket::GetCookie> GetCookie ()
Get `SOL_SOCKET` -> `SO_COOKIE`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::Bind> Bind (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::Bind> & request)
Sets the local address used for the socket.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::Connect> Connect (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::Connect> & request)
Initiates a connection to a remote address.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::Disconnect> Disconnect ()
Clears connection information from this socket.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetSockName> GetSockName ()
Retrieves the local socket address.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetPeerName> GetPeerName ()
Retrieves the remote socket address.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::Shutdown> Shutdown (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::Shutdown> & request)
Shuts down part of the socket.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetIpTypeOfService> SetIpTypeOfService (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetIpTypeOfService> & request)
Set `SOL_IP` -> `IP_TOS`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetIpTypeOfService> GetIpTypeOfService ()
Get `SOL_IP` -> `IP_TOS`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetIpTtl> SetIpTtl (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetIpTtl> & request)
Set `SOL_IP` -> `IP_TTL`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetIpTtl> GetIpTtl ()
Get `SOL_IP` -> `IP_TTL`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetIpPacketInfo> SetIpPacketInfo (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetIpPacketInfo> & request)
Set `SOL_IP` -> `IP_PKTINFO`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetIpPacketInfo> GetIpPacketInfo ()
Get `SOL_IP` -> `IP_PKTINFO`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetIpReceiveTypeOfService> SetIpReceiveTypeOfService (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetIpReceiveTypeOfService> & request)
Set `SOL_IP` -> `IP_RECVTOS`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetIpReceiveTypeOfService> GetIpReceiveTypeOfService ()
Get `SOL_IP` -> `IP_RECVTOS`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetIpReceiveTtl> SetIpReceiveTtl (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetIpReceiveTtl> & request)
Set `SOL_IP` -> `IP_RECVTTL`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetIpReceiveTtl> GetIpReceiveTtl ()
Get `SOL_IP` -> `IP_RECVTTL`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetIpMulticastInterface> SetIpMulticastInterface (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetIpMulticastInterface> & request)
Set `SOL_IP` -> `IP_MULTICAST_IF`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetIpMulticastInterface> GetIpMulticastInterface ()
Get `SOL_IP` -> `IP_MULTICAST_IF`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetIpMulticastTtl> SetIpMulticastTtl (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetIpMulticastTtl> & request)
Set `SOL_IP` -> `IP_MULTICAST_TTL`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetIpMulticastTtl> GetIpMulticastTtl ()
Get `SOL_IP` -> `IP_MULTICAST_TTL`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetIpMulticastLoopback> SetIpMulticastLoopback (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetIpMulticastLoopback> & request)
Set `SOL_IP` -> `IP_MULTICAST_LOOP`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetIpMulticastLoopback> GetIpMulticastLoopback ()
Get `SOL_IP` -> `IP_MULTICAST_LOOP`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::AddIpMembership> AddIpMembership (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::AddIpMembership> & request)
Set `SOL_IP` -> `IP_ADD_MEMBERSHIP`
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::DropIpMembership> DropIpMembership (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::DropIpMembership> & request)
Set `SOL_IP` -> `IP_DROP_MEMBERSHIP`
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetIpTransparent> SetIpTransparent (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetIpTransparent> & request)
Set `SOL_IP` -> `IP_TRANSPARENT`
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetIpTransparent> GetIpTransparent ()
Get `SOL_IP` -> `IP_TRANSPARENT`
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetIpReceiveOriginalDestinationAddress> SetIpReceiveOriginalDestinationAddress (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetIpReceiveOriginalDestinationAddress> & request)
Set `SOL_IP` -> `IP_RECVORIGDSTADDR`
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetIpReceiveOriginalDestinationAddress> GetIpReceiveOriginalDestinationAddress ()
Get `SOL_IP` -> `IP_RECVORIGDSTADDR`
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::AddIpv6Membership> AddIpv6Membership (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::AddIpv6Membership> & request)
Set `SOL_IPV6` -> `IPV6_ADD_MEMBERSHIP`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::DropIpv6Membership> DropIpv6Membership (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::DropIpv6Membership> & request)
Set `SOL_IPV6` -> `IPV6_DROP_MEMBERSHIP`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetIpv6MulticastInterface> SetIpv6MulticastInterface (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetIpv6MulticastInterface> & request)
Set `SOL_IPV6` -> `IPV6_MULTICAST_IF`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetIpv6MulticastInterface> GetIpv6MulticastInterface ()
Get `SOL_IPV6` -> `IPV6_MULTICAST_IF`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetIpv6UnicastHops> SetIpv6UnicastHops (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetIpv6UnicastHops> & request)
Set `SOL_IPV6` -> `IPV6_UNICAST_HOPS`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetIpv6UnicastHops> GetIpv6UnicastHops ()
Get `SOL_IPV6` -> `IPV6_UNICAST_HOPS`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetIpv6ReceiveHopLimit> SetIpv6ReceiveHopLimit (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetIpv6ReceiveHopLimit> & request)
Set `SOL_IPV6` -> `IPV6_RECVHOPLIMIT`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetIpv6ReceiveHopLimit> GetIpv6ReceiveHopLimit ()
Get `SOL_IPV6` -> `IPV6_RECVHOPLIMIT`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetIpv6MulticastHops> SetIpv6MulticastHops (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetIpv6MulticastHops> & request)
Set `SOL_IPV6` -> `IPV6_MULTICAST_HOPS`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetIpv6MulticastHops> GetIpv6MulticastHops ()
Get `SOL_IPV6` -> `IPV6_MULTICAST_HOPS`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetIpv6MulticastLoopback> SetIpv6MulticastLoopback (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetIpv6MulticastLoopback> & request)
Set `SOL_IPV6` -> `IPV6_MULTICAST_LOOP`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetIpv6MulticastLoopback> GetIpv6MulticastLoopback ()
Get `SOL_IPV6` -> `IPV6_MULTICAST_LOOP`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetIpv6Only> SetIpv6Only (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetIpv6Only> & request)
Set `SOL_IPV6` -> `IPV6_V6ONLY`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetIpv6Only> GetIpv6Only ()
Get `SOL_IPV6` -> `IPV6_V6ONLY`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetIpv6ReceiveTrafficClass> SetIpv6ReceiveTrafficClass (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetIpv6ReceiveTrafficClass> & request)
Set `SOL_IPV6` -> `IPV6_RECVTCLASS`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetIpv6ReceiveTrafficClass> GetIpv6ReceiveTrafficClass ()
Get `SOL_IPV6` -> `IPV6_RECVTCLASS`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetIpv6TrafficClass> SetIpv6TrafficClass (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetIpv6TrafficClass> & request)
Set `SOL_IPV6` -> `IPV6_TCLASS`
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetIpv6TrafficClass> GetIpv6TrafficClass ()
Get `SOL_IPV6` -> `IPV6_TCLASS`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SetIpv6ReceivePacketInfo> SetIpv6ReceivePacketInfo (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SetIpv6ReceivePacketInfo> & request)
Set `SOL_IPV6` -> `IPV6_RECVPKTINFO`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetIpv6ReceivePacketInfo> GetIpv6ReceivePacketInfo ()
Get `SOL_IPV6` -> `IPV6_RECVPKTINFO`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetOriginalDestination> GetOriginalDestination ()
Get `SOL_IP` -> `SO_ORIGINAL_DST`.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::GetInfo> GetInfo ()
Retrieves creation information from the socket.
- response `domain` the socket's associated domain.
- response `proto` the socket's associated protocol.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::Describe> Describe ()
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::SendMsgPreflight> SendMsgPreflight (const ::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::SendMsgPreflight> & request)
Validates that data can be sent.
+ request `args` the requested disposition of data to be sent.
- response the constraints sent data must satisfy.
* error the error code indicating the reason for validation failure.
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::DatagramSocket::RecvMsgPostflight> RecvMsgPostflight ()
Returns the set of requested control messages.
- response the set of currently requested control messages.
::fit::result< ::fidl::OneWayError> Clone (::fidl::Request< ::fuchsia_posix_socket::DatagramSocket::Clone> request)