uvco 0.1
Loading...
Searching...
No Matches
Public Member Functions | List of all members
uvco::UnixStream Class Reference

#include <uds_stream.h>

Inheritance diagram for uvco::UnixStream:
Inheritance graph
[legend]
Collaboration diagram for uvco::UnixStream:
Collaboration graph
[legend]

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< void > shutdown ()
 
Promise< void > close ()
 
const uv_stream_t * underlying () const
 Return the underlying UV stream object.
 

Additional Inherited Members

- Static Public Attributes inherited from uvco::StreamBase
static constexpr size_t defaultMaxReadSize = 4096
 
- 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:91
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
36 : stream_{(uv_stream_t *)stream.release()} {}
std::unique_ptr< uv_stream_t, UvHandleDeleter > stream_
Definition stream.h:101

◆ StreamBase() [3/3]

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

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