template <>

class NaturalClientImpl

Defined at line 20743 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::SynchronousDatagramSocket::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::SynchronousDatagramSocket::Query> Query ()
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetReuseAddress> SetReuseAddress (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetReuseAddress> & request)

Set `SOL_SOCKET` -> `SO_REUSEADDR`.

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

Get `SOL_SOCKET` -> `SO_REUSEADDR`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::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::SynchronousDatagramSocket::SetBroadcast> SetBroadcast (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetBroadcast> & request)

Set `SOL_SOCKET` -> `SO_BROADCAST`.

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

Get `SOL_SOCKET` -> `SO_BROADCAST`.

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

Set `SOL_SOCKET` -> `SO_SNDBUF`.

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

Get `SOL_SOCKET` -> `SO_SNDBUF`.

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

Set `SOL_SOCKET` -> `SO_RCVBUF`.

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

Get `SOL_SOCKET` -> `SO_RCVBUF`.

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

Set `SOL_SOCKET` -> `SO_KEEPALIVE`.

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

Get `SOL_SOCKET` -> `SO_KEEPALIVE`.

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

Set `SOL_SOCKET` -> `SO_OOBINLINE`.

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

Get `SOL_SOCKET` -> `SO_OOBINLINE`.

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

Set `SOL_SOCKET` -> `SO_NO_CHECK`.

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

Get `SOL_SOCKET` -> `SO_NO_CHECK`.

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

Set `SOL_SOCKET` -> `SO_LINGER`.

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

Get `SOL_SOCKET` -> `SO_LINGER`.

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

Set `SOL_SOCKET` -> `SO_REUSEPORT`.

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

Get `SOL_SOCKET` -> `SO_REUSEPORT`.

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

Get `SOL_SOCKET` -> `SO_ACCEPTCONN`.

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

Set `SOL_SOCKET` -> `SO_BINDTODEVICE`.

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

Get `SOL_SOCKET` -> `SO_BINDTODEVICE`.

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

Set `SOL_SOCKET` -> `SO_BINDTOIFINDEX`.

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

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

Get `SOL_SOCKET` -> `SO_BINDTOIFINDEX`.

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

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

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

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

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetMark> SetMark (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::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::SynchronousDatagramSocket::GetMark> GetMark (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::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::SynchronousDatagramSocket::GetCookie> GetCookie ()

Get `SOL_SOCKET` -> `SO_COOKIE`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::Bind> Bind (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::Bind> & request)

Sets the local address used for the socket.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::Connect> Connect (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::Connect> & request)

Initiates a connection to a remote address.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::Disconnect> Disconnect ()

Clears connection information from this socket.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetSockName> GetSockName ()

Retrieves the local socket address.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetPeerName> GetPeerName ()

Retrieves the remote socket address.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::Shutdown> Shutdown (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::Shutdown> & request)

Shuts down part of the socket.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpTypeOfService> SetIpTypeOfService (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpTypeOfService> & request)

Set `SOL_IP` -> `IP_TOS`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetIpTypeOfService> GetIpTypeOfService ()

Get `SOL_IP` -> `IP_TOS`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpTtl> SetIpTtl (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpTtl> & request)

Set `SOL_IP` -> `IP_TTL`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetIpTtl> GetIpTtl ()

Get `SOL_IP` -> `IP_TTL`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpPacketInfo> SetIpPacketInfo (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpPacketInfo> & request)

Set `SOL_IP` -> `IP_PKTINFO`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetIpPacketInfo> GetIpPacketInfo ()

Get `SOL_IP` -> `IP_PKTINFO`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpReceiveTypeOfService> SetIpReceiveTypeOfService (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpReceiveTypeOfService> & request)

Set `SOL_IP` -> `IP_RECVTOS`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetIpReceiveTypeOfService> GetIpReceiveTypeOfService ()

Get `SOL_IP` -> `IP_RECVTOS`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpReceiveTtl> SetIpReceiveTtl (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpReceiveTtl> & request)

Set `SOL_IP` -> `IP_RECVTTL`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetIpReceiveTtl> GetIpReceiveTtl ()

Get `SOL_IP` -> `IP_RECVTTL`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpMulticastInterface> SetIpMulticastInterface (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpMulticastInterface> & request)

Set `SOL_IP` -> `IP_MULTICAST_IF`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetIpMulticastInterface> GetIpMulticastInterface ()

Get `SOL_IP` -> `IP_MULTICAST_IF`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpMulticastTtl> SetIpMulticastTtl (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpMulticastTtl> & request)

Set `SOL_IP` -> `IP_MULTICAST_TTL`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetIpMulticastTtl> GetIpMulticastTtl ()

Get `SOL_IP` -> `IP_MULTICAST_TTL`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpMulticastLoopback> SetIpMulticastLoopback (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpMulticastLoopback> & request)

Set `SOL_IP` -> `IP_MULTICAST_LOOP`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetIpMulticastLoopback> GetIpMulticastLoopback ()

Get `SOL_IP` -> `IP_MULTICAST_LOOP`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::AddIpMembership> AddIpMembership (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::AddIpMembership> & request)

Set `SOL_IP` -> `IP_ADD_MEMBERSHIP`

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::DropIpMembership> DropIpMembership (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::DropIpMembership> & request)

Set `SOL_IP` -> `IP_DROP_MEMBERSHIP`

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpTransparent> SetIpTransparent (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpTransparent> & request)

Set `SOL_IP` -> `IP_TRANSPARENT`

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetIpTransparent> GetIpTransparent ()

Get `SOL_IP` -> `IP_TRANSPARENT`

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpReceiveOriginalDestinationAddress> SetIpReceiveOriginalDestinationAddress (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpReceiveOriginalDestinationAddress> & request)

Set `SOL_IP` -> `IP_RECVORIGDSTADDR`

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetIpReceiveOriginalDestinationAddress> GetIpReceiveOriginalDestinationAddress ()

Get `SOL_IP` -> `IP_RECVORIGDSTADDR`

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::AddIpv6Membership> AddIpv6Membership (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::AddIpv6Membership> & request)

Set `SOL_IPV6` -> `IPV6_ADD_MEMBERSHIP`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::DropIpv6Membership> DropIpv6Membership (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::DropIpv6Membership> & request)

Set `SOL_IPV6` -> `IPV6_DROP_MEMBERSHIP`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpv6MulticastInterface> SetIpv6MulticastInterface (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpv6MulticastInterface> & request)

Set `SOL_IPV6` -> `IPV6_MULTICAST_IF`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetIpv6MulticastInterface> GetIpv6MulticastInterface ()

Get `SOL_IPV6` -> `IPV6_MULTICAST_IF`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpv6UnicastHops> SetIpv6UnicastHops (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpv6UnicastHops> & request)

Set `SOL_IPV6` -> `IPV6_UNICAST_HOPS`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetIpv6UnicastHops> GetIpv6UnicastHops ()

Get `SOL_IPV6` -> `IPV6_UNICAST_HOPS`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpv6ReceiveHopLimit> SetIpv6ReceiveHopLimit (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpv6ReceiveHopLimit> & request)

Set `SOL_IPV6` -> `IPV6_RECVHOPLIMIT`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetIpv6ReceiveHopLimit> GetIpv6ReceiveHopLimit ()

Get `SOL_IPV6` -> `IPV6_RECVHOPLIMIT`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpv6MulticastHops> SetIpv6MulticastHops (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpv6MulticastHops> & request)

Set `SOL_IPV6` -> `IPV6_MULTICAST_HOPS`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetIpv6MulticastHops> GetIpv6MulticastHops ()

Get `SOL_IPV6` -> `IPV6_MULTICAST_HOPS`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpv6MulticastLoopback> SetIpv6MulticastLoopback (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpv6MulticastLoopback> & request)

Set `SOL_IPV6` -> `IPV6_MULTICAST_LOOP`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetIpv6MulticastLoopback> GetIpv6MulticastLoopback ()

Get `SOL_IPV6` -> `IPV6_MULTICAST_LOOP`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpv6Only> SetIpv6Only (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpv6Only> & request)

Set `SOL_IPV6` -> `IPV6_V6ONLY`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetIpv6Only> GetIpv6Only ()

Get `SOL_IPV6` -> `IPV6_V6ONLY`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpv6ReceiveTrafficClass> SetIpv6ReceiveTrafficClass (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpv6ReceiveTrafficClass> & request)

Set `SOL_IPV6` -> `IPV6_RECVTCLASS`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetIpv6ReceiveTrafficClass> GetIpv6ReceiveTrafficClass ()

Get `SOL_IPV6` -> `IPV6_RECVTCLASS`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpv6TrafficClass> SetIpv6TrafficClass (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpv6TrafficClass> & request)

Set `SOL_IPV6` -> `IPV6_TCLASS`

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetIpv6TrafficClass> GetIpv6TrafficClass ()

Get `SOL_IPV6` -> `IPV6_TCLASS`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpv6ReceivePacketInfo> SetIpv6ReceivePacketInfo (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SetIpv6ReceivePacketInfo> & request)

Set `SOL_IPV6` -> `IPV6_RECVPKTINFO`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetIpv6ReceivePacketInfo> GetIpv6ReceivePacketInfo ()

Get `SOL_IPV6` -> `IPV6_RECVPKTINFO`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::GetOriginalDestination> GetOriginalDestination ()

Get `SOL_IP` -> `SO_ORIGINAL_DST`.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::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::SynchronousDatagramSocket::Describe> Describe ()
::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::RecvMsg> RecvMsg (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::RecvMsg> & request)

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.

::fidl::internal::NaturalThenable< ::fuchsia_posix_socket::SynchronousDatagramSocket::SendMsg> SendMsg (const ::fidl::Request< ::fuchsia_posix_socket::SynchronousDatagramSocket::SendMsg> & request)

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.

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