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 756 of file subprocess.h.

Constructor & Destructor Documentation

◆ Communication()

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

Definition at line 759 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 1343 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 767 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 1409 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 1331 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 1337 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 771 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 770 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 780 of file subprocess.h.

◆ out_buf_cap_

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

Definition at line 779 of file subprocess.h.

◆ stream_

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

Definition at line 778 of file subprocess.h.


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