Bitcoin Core  27.99.0
P2P Digital Currency
Public Member Functions | Private Member Functions | Private Attributes | List of all members
subprocess::detail::Communication Class Reference

#include <subprocess.h>

Collaboration diagram for subprocess::detail::Communication:
[legend]

Public Member Functions

 Communication (Streams *stream)
 
void operator= (const Communication &)=delete
 
int send (const char *msg, size_t length)
 
int send (const std::vector< char > &msg)
 
std::pair< OutBuffer, ErrBuffercommunicate (const char *msg, size_t length)
 
std::pair< OutBuffer, ErrBuffercommunicate (const std::vector< char > &msg)
 
void set_out_buf_cap (size_t cap)
 
void set_err_buf_cap (size_t cap)
 

Private Member Functions

std::pair< OutBuffer, ErrBuffercommunicate_threaded (const char *msg, size_t length)
 

Private Attributes

Streamsstream_
 
size_t out_buf_cap_ = DEFAULT_BUF_CAP_BYTES
 
size_t err_buf_cap_ = DEFAULT_BUF_CAP_BYTES
 

Detailed Description

A helper class to Streams. This takes care of management of communicating with the child process with the means of the correct file descriptor.

Definition at line 808 of file subprocess.h.

Constructor & Destructor Documentation

◆ Communication()

subprocess::detail::Communication::Communication ( Streams stream)
inline

Definition at line 811 of file subprocess.h.

Member Function Documentation

◆ communicate() [1/2]

std::pair< OutBuffer, ErrBuffer > subprocess::detail::Communication::communicate ( const char *  msg,
size_t  length 
)
inline

Definition at line 1495 of file subprocess.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ communicate() [2/2]

std::pair<OutBuffer, ErrBuffer> subprocess::detail::Communication::communicate ( const std::vector< char > &  msg)
inline

Definition at line 819 of file subprocess.h.

Here is the call graph for this function:

◆ communicate_threaded()

std::pair< OutBuffer, ErrBuffer > subprocess::detail::Communication::communicate_threaded ( const char *  msg,
size_t  length 
)
inlineprivate

Definition at line 1561 of file subprocess.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

void subprocess::detail::Communication::operator= ( const Communication )
delete

◆ send() [1/2]

int subprocess::detail::Communication::send ( const char *  msg,
size_t  length 
)
inline

Definition at line 1483 of file subprocess.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ send() [2/2]

int subprocess::detail::Communication::send ( const std::vector< char > &  msg)
inline

Definition at line 1489 of file subprocess.h.

Here is the call graph for this function:

◆ set_err_buf_cap()

void subprocess::detail::Communication::set_err_buf_cap ( size_t  cap)
inline

Definition at line 823 of file subprocess.h.

Here is the caller graph for this function:

◆ set_out_buf_cap()

void subprocess::detail::Communication::set_out_buf_cap ( size_t  cap)
inline

Definition at line 822 of file subprocess.h.

Here is the caller graph for this function:

Member Data Documentation

◆ err_buf_cap_

size_t subprocess::detail::Communication::err_buf_cap_ = DEFAULT_BUF_CAP_BYTES
private

Definition at line 832 of file subprocess.h.

◆ out_buf_cap_

size_t subprocess::detail::Communication::out_buf_cap_ = DEFAULT_BUF_CAP_BYTES
private

Definition at line 831 of file subprocess.h.

◆ stream_

Streams* subprocess::detail::Communication::stream_
private

Definition at line 830 of file subprocess.h.


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