Pipe handle. More...
#include "handle-stream.hpp"
Public Types | |
using | uv_t = ::uv_pipe_t |
Public Types inherited from uv::stream | |
using | uv_t = ::uv_stream_t |
using | on_connection_t = std::function< void(stream _server) > |
The function type of the callback called when a stream server has received an incoming connection. More... | |
Public Types inherited from uv::io | |
using | uv_t = void |
using | on_read_t = std::function< void(io _handle, ssize_t _nread, buffer _buffer, int64_t _offset, void *_info) > |
The function type of the callback called by read_start() when data was read from an I/O endpoint. More... | |
Public Types inherited from uv::handle | |
using | uv_t = ::uv_handle_t |
using | on_destroy_t = std::function< void(void *_data) > |
The function type of the callback called when the handle has been closed and about to be destroyed. More... | |
Public Member Functions | |
pipe (const pipe &)=default | |
pipe & | operator= (const pipe &)=default |
pipe (pipe &&) noexcept=default | |
pipe & | operator= (pipe &&) noexcept=default |
pipe (uv::loop &_loop, const char *_name, bool _ipc) | |
Create a pipe bound to a file path (Unix domain socket) or a name (Windows named pipe). More... | |
pipe (uv::loop &_loop, ::uv_file _fd, bool _ipc, bool _set_blocking) | |
Create a pipe object from an existing OS native pipe descriptor. More... | |
int | ipc () const noexcept |
Non-zero if this pipe is used for passing handles. | |
std::string | getsockname () const noexcept |
Get the name of the Unix domain socket or the Windows named pipe for this pipe object. | |
std::string | getpeername () const noexcept |
Get the name of the Unix domain socket or the Windows named pipe which this pipe object is connected to. | |
void | pending_instances (int _count) noexcept |
Set the number of pending pipe instances when this pipe server is waiting for connections. (Windows only.) | |
int | pending_handle_count () const noexcept |
The number of pending handles being sent over the IPC pipe. More... | |
stream | accept_pending_handle () const |
Used to receive handles over the IPC pipe. More... | |
unsigned int | send_buffer_size () const noexcept |
Get the size of the send buffer that the operating system uses for the pipe. More... | |
void | send_buffer_size (unsigned int _value) noexcept |
Set the size of the send buffer that the operating system uses for the pipe. More... | |
unsigned int | recv_buffer_size () const noexcept |
Get the size of the receive buffer that the operating system uses for the pipe. More... | |
void | recv_buffer_size (unsigned int _value) noexcept |
Set the size of the receive buffer that the operating system uses for the pipe. More... | |
operator const uv_t * () const noexcept | |
operator uv_t * () noexcept | |
Public Member Functions inherited from uv::stream | |
stream (const stream &)=default | |
stream & | operator= (const stream &)=default |
stream (stream &&) noexcept=default | |
stream & | operator= (stream &&) noexcept=default |
on_connection_t & | on_connection () const noexcept |
int | listen (int _backlog, const on_connection_t &_connection_cb) const |
Start listening for incoming connections. More... | |
stream | accept () const |
Accept incoming connections. More... | |
std::size_t | write_queue_size () const noexcept |
The amount of queued bytes waiting to be sent. | |
bool | is_readable () const noexcept |
Check if the stream is readable. | |
bool | is_writable () const noexcept |
Check if the stream is writable. | |
int | set_blocking (bool _enable) noexcept |
Enable or disable blocking mode for the stream. More... | |
operator const uv_t * () const noexcept | |
operator uv_t * () noexcept | |
Public Member Functions inherited from uv::io | |
io (const io &)=default | |
io & | operator= (const io &)=default |
io (io &&) noexcept=default | |
io & | operator= (io &&) noexcept=default |
std::size_t | write_queue_size () const noexcept |
The amount of queued bytes waiting to be written/sent to the I/O endpoint. More... | |
on_buffer_alloc_t & | on_alloc () const noexcept |
Set the input buffer allocation callback. | |
on_read_t & | on_read () const noexcept |
Set the read callback function. | |
int | read_start (std::size_t _size=0, int64_t _offset=-1) const |
Start reading incoming data from the I/O endpoint. More... | |
int | read_start (const on_buffer_alloc_t &_alloc_cb, const on_read_t &_read_cb, std::size_t _size=0, int64_t _offset=-1) const |
Start reading incoming data from the I/O endpoint with provided input buffer allocation callback (_alloc_cb ) and read callback function (_read_cb ). More... | |
int | read_stop () const |
Stop reading data from the I/O endpoint. More... | |
int | read_pause (bool _trigger_condition) const |
Pause reading data from the I/O endpoint. More... | |
int | read_resume (bool _trigger_condition) |
Resume reading data from the I/O endpoint after having been paused. More... | |
operator const uv_t * () const noexcept | |
operator uv_t * () noexcept | |
Public Member Functions inherited from uv::handle | |
handle (const handle &_that) | |
handle & | operator= (const handle &_that) |
handle (handle &&_that) noexcept | |
handle & | operator= (handle &&_that) noexcept |
void | swap (handle &_that) noexcept |
std::uintptr_t | id () const noexcept |
The unique ID of the instance managed by this handle variable or 0 if the handle is void. | |
long | nrefs () const noexcept |
The current number of existing references to the same object as this handle variable refers to. | |
int | uv_status () const noexcept |
The status value returned by the last executed libuv API function on this handle. | |
on_destroy_t & | on_destroy () const noexcept |
::uv_handle_type | type () const noexcept |
The tag indicating the libuv type of the handle. | |
const char * | type_name () const noexcept |
A string containing the name of the handle type. | |
uv::loop | loop () const noexcept |
The libuv loop where the handle is running on. More... | |
void *& | data () const noexcept |
The pointer to the user-defined arbitrary data. libuv and uvcc does not use this field. | |
int | is_active () const noexcept |
Check if the handle is active. More... | |
int | is_closing () const noexcept |
Check if the handle is closing or closed. More... | |
::uv_os_fd_t | fileno () const noexcept |
Get the platform dependent handle/file descriptor. More... | |
operator const uv_t * () const noexcept | |
operator uv_t * () noexcept | |
operator bool () const noexcept | |
Equivalent to (id() and uv_status() >= 0) . | |
void | attached (bool _state) const noexcept |
bool | attached () const noexcept |
Additional Inherited Members | |
Static Public Member Functions inherited from uv::io | |
static io | guess_handle (uv::loop &, ::uv_file) |
Create an io handle object which actual type is derived from an existing file descriptor. More... | |
Pipe handle.
uv_pipe_t
— Pipe handle. Definition at line 299 of file handle-stream.hpp.
|
inline |
Create a pipe bound to a file path (Unix domain socket) or a name (Windows named pipe).
uv_pipe_init()
, uv_pipe_bind()
. Definition at line 341 of file handle-stream.hpp.
|
inline |
Create a pipe object from an existing OS native pipe descriptor.
uv_pipe_open()
. Definition at line 349 of file handle-stream.hpp.
|
inlinenoexcept |
The number of pending handles being sent over the IPC pipe.
Used in conjunction with accept_pending_handle()
.
Definition at line 401 of file handle-stream.hpp.
|
inline |
Used to receive handles over the IPC pipe.
uv_pipe_pending_type()
. Definition at line 552 of file handle-stream.hpp.
|
inlinenoexcept |
Get the size of the send buffer that the operating system uses for the pipe.
uv_send_buffer_size()
. Definition at line 409 of file handle-stream.hpp.
|
inlinenoexcept |
Set the size of the send buffer that the operating system uses for the pipe.
uv_send_buffer_size()
. Definition at line 417 of file handle-stream.hpp.
|
inlinenoexcept |
Get the size of the receive buffer that the operating system uses for the pipe.
uv_recv_buffer_size()
. Definition at line 421 of file handle-stream.hpp.
|
inlinenoexcept |
Set the size of the receive buffer that the operating system uses for the pipe.
uv_recv_buffer_size()
. Definition at line 429 of file handle-stream.hpp.