Bitcoin Core 28.99.0
P2P Digital Currency
Public Member Functions | List of all members
ipc::Process Class Referenceabstract

IPC process interface for spawning bitcoin processes and serving requests in processes that have been spawned. More...

#include <process.h>

Public Member Functions

virtual ~Process ()=default
 
virtual int spawn (const std::string &new_exe_name, const fs::path &argv0_path, int &pid)=0
 Spawn process and return socket file descriptor for communicating with it. More...
 
virtual int waitSpawned (int pid)=0
 Wait for spawned process to exit and return its exit code. More...
 
virtual bool checkSpawned (int argc, char *argv[], int &fd)=0
 Parse command line and determine if current process is a spawned child process. More...
 
virtual int connect (const fs::path &data_dir, const std::string &dest_exe_name, std::string &address)=0
 Canonicalize and connect to address, returning socket descriptor. More...
 
virtual int bind (const fs::path &data_dir, const std::string &exe_name, std::string &address)=0
 Create listening socket, bind and canonicalize address, and return socket descriptor. More...
 

Detailed Description

IPC process interface for spawning bitcoin processes and serving requests in processes that have been spawned.

There will be different implementations of this interface depending on the platform (e.g. unix, windows).

Definition at line 21 of file process.h.

Constructor & Destructor Documentation

◆ ~Process()

virtual ipc::Process::~Process ( )
virtualdefault

Member Function Documentation

◆ bind()

virtual int ipc::Process::bind ( const fs::path data_dir,
const std::string &  exe_name,
std::string &  address 
)
pure virtual

Create listening socket, bind and canonicalize address, and return socket descriptor.

◆ checkSpawned()

virtual bool ipc::Process::checkSpawned ( int  argc,
char *  argv[],
int &  fd 
)
pure virtual

Parse command line and determine if current process is a spawned child process.

If so, return true and a file descriptor for communicating with the parent process.

◆ connect()

virtual int ipc::Process::connect ( const fs::path data_dir,
const std::string &  dest_exe_name,
std::string &  address 
)
pure virtual

Canonicalize and connect to address, returning socket descriptor.

◆ spawn()

virtual int ipc::Process::spawn ( const std::string &  new_exe_name,
const fs::path argv0_path,
int &  pid 
)
pure virtual

Spawn process and return socket file descriptor for communicating with it.

◆ waitSpawned()

virtual int ipc::Process::waitSpawned ( int  pid)
pure virtual

Wait for spawned process to exit and return its exit code.


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