13 inline ConnectionOrientedStreamSocket::Ptr::Ptr (nullptr_t)
17 inline ConnectionOrientedStreamSocket::Ptr::Ptr (shared_ptr<_IRep>&& rep)
18 : inherited{move (rep)}
21 inline ConnectionOrientedStreamSocket::Ptr::Ptr (
const shared_ptr<_IRep>& rep)
25 inline void ConnectionOrientedStreamSocket::Ptr::Close ()
const
30 inline void ConnectionOrientedStreamSocket::Ptr::Connect (
const SocketAddress& sockAddr)
const
33 _ref ().Connect (sockAddr, nullopt);
38 _ref ().Connect (sockAddr, timeout);
40 inline span<byte> ConnectionOrientedStreamSocket::Ptr::Read (span<byte> into)
const
43 return _ref ().Read (into);
45 inline optional<span<byte>> ConnectionOrientedStreamSocket::Ptr::ReadNonBlocking (span<byte> into)
const
47 Require (not into.empty ());
49 return _ref ().ReadNonBlocking (into);
51 inline optional<size_t> ConnectionOrientedStreamSocket::Ptr::AvailableToRead ()
const
54 return _ref ().AvailableToRead ();
56 inline void ConnectionOrientedStreamSocket::Ptr::Write (span<const byte> data)
const
61 inline optional<IO::Network::SocketAddress> ConnectionOrientedStreamSocket::Ptr::GetPeerAddress ()
const
64 return _cref ().GetPeerAddress ();
66 inline optional<Time::DurationSeconds> ConnectionOrientedStreamSocket::Ptr::GetAutomaticTCPDisconnectOnClose ()
const
69 return _cref ().GetAutomaticTCPDisconnectOnClose ();
71 inline void ConnectionOrientedStreamSocket::Ptr::SetAutomaticTCPDisconnectOnClose (
const optional<Time::DurationSeconds>& linger)
const
74 _ref ().SetAutomaticTCPDisconnectOnClose (linger);
76 inline auto ConnectionOrientedStreamSocket::Ptr::GetKeepAlives () const -> KeepAliveOptions
79 return _cref ().GetKeepAlives ();
81 inline void ConnectionOrientedStreamSocket::Ptr::SetKeepAlives (
const KeepAliveOptions& keepAliveOptions)
const
84 _ref ().SetKeepAlives (keepAliveOptions);
86 inline auto ConnectionOrientedStreamSocket::Ptr::GetTCPNoDelay () const ->
bool
89 return _cref ().GetTCPNoDelay ();
91 inline void ConnectionOrientedStreamSocket::Ptr::SetTCPNoDelay (
bool noDelay)
const
94 _ref ().SetTCPNoDelay (noDelay);
96 inline shared_ptr<ConnectionOrientedStreamSocket::_IRep> ConnectionOrientedStreamSocket::Ptr::_GetSharedRep ()
const
99 return Debug::UncheckedDynamicPointerCast<ConnectionOrientedStreamSocket::_IRep> (inherited::_GetSharedRep ());
101 inline ConnectionOrientedStreamSocket::_IRep& ConnectionOrientedStreamSocket::Ptr::_ref ()
const
104 return *
reinterpret_cast<_IRep*
> (&inherited::_ref ());
106 inline const ConnectionOrientedStreamSocket::_IRep& ConnectionOrientedStreamSocket::Ptr::_cref ()
const
109 return *
reinterpret_cast<const _IRep*
> (&inherited::_cref ());
#define AssertMember(p, c)
shared_lock< const AssertExternallySynchronizedMutex > ReadContext
Instantiate AssertExternallySynchronizedMutex::ReadContext to designate an area of code where protect...
nonvirtual void Connect(const SocketAddress &sockAddr) const
Connects to the argument sockAddr;.
nonvirtual FamilyType GetAddressFamily() const
Duration is a chrono::duration<double> (=.