uvco 0.1
Loading...
Searching...
No Matches
uvco::UnixStream Class Reference

#include <uds_stream.h>

Inheritance diagram for uvco::UnixStream:
Collaboration diagram for uvco::UnixStream:

Public Member Functions

 UnixStream (const UnixStream &)=delete
 UnixStream (UnixStream &&)=default
UnixStreamoperator= (const UnixStream &)=delete
UnixStreamoperator= (UnixStream &&)=default
 ~UnixStream () override=default
std::string getSockName ()
std::string getPeerName ()
template<typename Stream>
 StreamBase (std::unique_ptr< Stream > stream)
 StreamBase (const StreamBase &)=delete
 StreamBase (StreamBase &&)=default
Public Member Functions inherited from uvco::StreamBase
template<typename Stream>
 StreamBase (std::unique_ptr< Stream > stream)
 StreamBase (const StreamBase &)=delete
 StreamBase (StreamBase &&)=default
StreamBaseoperator= (const StreamBase &)=delete
StreamBaseoperator= (StreamBase &&)=default
virtual ~StreamBase ()
Promise< std::optional< std::string > > read (size_t maxSize=defaultMaxReadSize)
Promise< size_t > read (std::span< char > buffer)
Promise< size_t > write (std::string buf)
Promise< size_t > writeBorrowed (std::span< const char > buf)
Promise< void > shutdown ()
void close ()
const uv_stream_t * underlying () const
 Return the underlying UV stream object.
uv_os_fd_t fd () const

Additional Inherited Members

Static Public Attributes inherited from uvco::StreamBase
static constexpr size_t defaultMaxReadSize = 4080
Protected Member Functions inherited from uvco::StreamBase
uv_stream_t & stream ()
void destroyStream ()

Detailed Description

A stream served by a Unix domain socket. In addition to the StreamBase functionality, it provides getSockname() and getPeerName() methods.

A UnixStream cannot be created directly; use a UnixStreamClient or a UnixStreamServer to create streams.

Constructor & Destructor Documentation

◆ UnixStream() [1/2]

uvco::UnixStream::UnixStream ( const UnixStream & )
delete

◆ UnixStream() [2/2]

uvco::UnixStream::UnixStream ( UnixStream && )
default

◆ ~UnixStream()

uvco::UnixStream::~UnixStream ( )
overridedefault

Member Function Documentation

◆ getPeerName()

std::string uvco::UnixStream::getPeerName ( )
40 {
41 return getXname((uv_pipe_t *)&stream(), uv_pipe_getpeername);
42}
uv_stream_t & stream()
Definition stream.h:105
std::string getXname(uv_pipe_t *stream, int(*getName)(const uv_pipe_t *, char *, size_t *))
Definition uds_stream.cc:20

◆ getSockName()

std::string uvco::UnixStream::getSockName ( )
36 {
37 return getXname((uv_pipe_t *)&stream(), uv_pipe_getsockname);
38}

◆ operator=() [1/2]

UnixStream & uvco::UnixStream::operator= ( const UnixStream & )
delete

◆ operator=() [2/2]

UnixStream & uvco::UnixStream::operator= ( UnixStream && )
default

◆ StreamBase() [1/3]

uvco::StreamBase::StreamBase ( const StreamBase & )
delete

◆ StreamBase() [2/3]

template<typename Stream>
uvco::StreamBase::StreamBase ( std::unique_ptr< Stream > stream)
inlineexplicit
38 : stream_{(uv_stream_t *)stream.release()} {}
std::unique_ptr< uv_stream_t, UvHandleDeleter > stream_
Definition stream.h:115

◆ StreamBase() [3/3]

uvco::StreamBase::StreamBase ( StreamBase && )
default

The documentation for this class was generated from the following files: