47 return std::static_pointer_cast<NetworkStream>(Handle::shared_from_this());
51 return std::static_pointer_cast<const NetworkStream>(
52 Handle::shared_from_this());
90 std::shared_ptr<NetworkStream>
Accept() {
110 bool Accept(
const std::shared_ptr<NetworkStream>& client) {
125template <
typename T,
typename U>
129 return std::static_pointer_cast<T>(Handle::shared_from_this());
133 return std::static_pointer_cast<const T>(Handle::shared_from_this());
NetworkStream & GetStream() const
Definition NetworkStream.hpp:27
wpi::util::sig::Signal connected
Connection completed signal.
Definition NetworkStream.hpp:34
bool Invoke(F &&f, Args &&... args) const
Definition Handle.hpp:265
uv_handle_t * GetRawHandle() const noexcept
Get the underlying handle data structure.
Definition Handle.hpp:178
Network stream handle.
Definition NetworkStream.hpp:42
std::shared_ptr< const NetworkStream > shared_from_this() const
Definition NetworkStream.hpp:50
virtual NetworkStream * DoAccept()=0
std::shared_ptr< NetworkStream > shared_from_this()
Definition NetworkStream.hpp:46
wpi::util::sig::Signal connection
Signal generated when an incoming connection is received.
Definition NetworkStream.hpp:117
NetworkStream(uv_stream_t *uv_stream)
Definition NetworkStream.hpp:120
bool Accept(const std::shared_ptr< NetworkStream > &client)
Accept incoming connection.
Definition NetworkStream.hpp:110
void Listen(std::function< void()> callback, int backlog=kDefaultBacklog)
Start listening for incoming connections.
std::shared_ptr< NetworkStream > Accept()
Accept incoming connection.
Definition NetworkStream.hpp:90
static constexpr int kDefaultBacklog
Definition NetworkStream.hpp:44
void Listen(int backlog=kDefaultBacklog)
Start listening for incoming connections.
std::shared_ptr< const T > shared_from_this() const
Definition NetworkStream.hpp:132
U * GetRaw() const noexcept
Get the underlying handle data structure.
Definition NetworkStream.hpp:141
std::shared_ptr< T > shared_from_this()
Definition NetworkStream.hpp:128
NetworkStreamImpl()
Definition NetworkStream.hpp:146
uv_connect_t * GetRaw() noexcept
Definition Request.hpp:149
RequestImpl()
Definition Request.hpp:162
Stream(uv_stream_t *uv_stream)
Definition Stream.hpp:303
uv_stream_t * GetRawStream() const noexcept
Get the underlying stream data structure.
Definition Stream.hpp:288
Definition StringMap.hpp:773
Definition Prepare.hpp:14
SignalBase< detail::NullMutex, T... > Signal
Specialization of SignalBase to be used in single threaded contexts.
Definition Signal.h:809
uv_stream_t * handle
Definition uv.h:639
UV_EXTERN int uv_accept(uv_stream_t *server, uv_stream_t *client)
struct uv_stream_s uv_stream_t
Definition uv.h:218