13 inline ConnectionlessSocket::Ptr::Ptr (nullptr_t)
14 : Socket::Ptr{nullptr}
17 inline ConnectionlessSocket::Ptr::Ptr (
const shared_ptr<_IRep>& rep)
21 inline ConnectionlessSocket::Ptr::Ptr (shared_ptr<_IRep>&& rep)
22 : Socket::Ptr{move (rep)}
25 inline uint8_t ConnectionlessSocket::Ptr::GetMulticastTTL ()
const
28 return _cref ().GetMulticastTTL ();
30 inline void ConnectionlessSocket::Ptr::SetMulticastTTL (uint8_t ttl)
const
33 _ref ().SetMulticastTTL (ttl);
35 inline bool ConnectionlessSocket::Ptr::GetMulticastLoopMode ()
const
38 return _cref ().GetMulticastLoopMode ();
40 inline void ConnectionlessSocket::Ptr::SetMulticastLoopMode (
bool loopMode)
const
43 _ref ().SetMulticastLoopMode (loopMode);
48 _ref ().JoinMulticastGroup (iaddr, onInterface);
50 inline void ConnectionlessSocket::Ptr::LeaveMulticastGroup (
const InternetAddress& iaddr,
const InternetAddress& onInterface)
const
53 _ref ().LeaveMulticastGroup (iaddr, onInterface);
55 inline void ConnectionlessSocket::Ptr::SendTo (span<const byte> data,
const SocketAddress& sockAddr)
const
58 _ref ().SendTo (data.data (), data.data () + data.size (), sockAddr);
63 size_t r = _ref ().ReceiveFrom (into.data (), into.data () + into.size (), flag, fromAddress, timeout);
64 return into.subspan (0, r);
66 inline shared_ptr<ConnectionlessSocket::_IRep> ConnectionlessSocket::Ptr::_GetSharedRep ()
const
69 return Debug::UncheckedDynamicPointerCast<ConnectionlessSocket::_IRep> (inherited::_GetSharedRep ());
71 inline ConnectionlessSocket::_IRep& ConnectionlessSocket::Ptr::_ref ()
const
74 return *
reinterpret_cast<_IRep*
> (&inherited::_ref ());
76 inline const ConnectionlessSocket::_IRep& ConnectionlessSocket::Ptr::_cref ()
const
79 return *
reinterpret_cast<const _IRep*
> (&inherited::_cref ());
#define AssertMember(p, c)
chrono::duration< double > DurationSeconds
chrono::duration<double> - a time span (length of time) measured in seconds, but high precision.
shared_lock< const AssertExternallySynchronizedMutex > ReadContext
Instantiate AssertExternallySynchronizedMutex::ReadContext to designate an area of code where protect...