You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
3b70f7b doc: fix broken doc/design/multiprocess.md links after #24352 (Ryan Ofsky)
6d43aad span: Make Span template deduction guides work in SFINAE context (Ryan Ofsky)
8062c3b util: Add ArgsManager SetConfigFilePath method (Ryan Ofsky)
441d00c interfaces: Rename CalculateBumpFees methods to be compatible with capn'proto (Ryan Ofsky)
156f49d interfaces: Change getUnspentOutput return type to avoid multiprocess segfault (Ryan Ofsky)
4978754 interfaces: Add schedulerMockForward method so mockscheduler RPC can work across processes (Ryan Ofsky)
924327e interfaces: Fix const virtual method that breaks multiprocess support (Ryan Ofsky)
82a379e streams: Add SpanReader ignore method (Russell Yanofsky)
Pull request description:
This is a collection of small changes to interfaces and code which were needed as part of multiprocess PR #10102, but have been moved here to make that PR smaller.
All of these changes are refactoring changes which do not affect behavior of current code
---
This PR is part of the [process separation project](bitcoin/bitcoin#28722).
ACKs for top commit:
achow101:
ACK 3b70f7b
naumenkogs:
ACK 3b70f7b
maflcko:
re-ACK 3b70f7b 🎆
Tree-SHA512: 2368772b887056ad8a9f84c299cfde76ba45943770e3b5353130580900afa9611302195b899ced7b6e303b11f053ff204cae7c28ff4e12c55562fcc81119ba4c
Copy file name to clipboardexpand all lines: doc/design/multiprocess.md
+4-4
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ The `-debug=ipc` command line option can be used to see requests and responses b
19
19
20
20
## Installation
21
21
22
-
The multiprocess feature requires [Cap'n Proto](https://capnproto.org/) and [libmultiprocess](https://github.com/chaincodelabs/libmultiprocess) as dependencies. A simple way to get starting using it without installing these dependencies manually is to use the [depends system](../depends) with the `MULTIPROCESS=1`[dependency option](../depends#dependency-options) passed to make:
22
+
The multiprocess feature requires [Cap'n Proto](https://capnproto.org/) and [libmultiprocess](https://github.com/chaincodelabs/libmultiprocess) as dependencies. A simple way to get starting using it without installing these dependencies manually is to use the [depends system](../../depends) with the `MULTIPROCESS=1`[dependency option](../../depends#dependency-options) passed to make:
The configure script will pick up settings and library locations from the depends directory, so there is no need to pass `--enable-multiprocess` as a separate flag when using the depends system (it's controlled by the `MULTIPROCESS=1` option).
34
34
35
-
Alternately, you can install [Cap'n Proto](https://capnproto.org/) and [libmultiprocess](https://github.com/chaincodelabs/libmultiprocess) packages on your system, and just run `./configure --enable-multiprocess` without using the depends system. The configure script will be able to locate the installed packages via [pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/). See [Installation](https://github.com/chaincodelabs/libmultiprocess#installation) section of the libmultiprocess readme for install steps. See [build-unix.md](build-unix.md) and [build-osx.md](build-osx.md) for information about installing dependencies in general.
35
+
Alternately, you can install [Cap'n Proto](https://capnproto.org/) and [libmultiprocess](https://github.com/chaincodelabs/libmultiprocess) packages on your system, and just run `./configure --enable-multiprocess` without using the depends system. The configure script will be able to locate the installed packages via [pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/). See [Installation](https://github.com/chaincodelabs/libmultiprocess/blob/master/doc/install.md) section of the libmultiprocess readme for install steps. See [build-unix.md](../build-unix.md) and [build-osx.md](../build-osx.md) for information about installing dependencies in general.
36
36
37
37
## IPC implementation details
38
38
39
39
Cross process Node, Wallet, and Chain interfaces are defined in
40
-
[`src/interfaces/`](../src/interfaces/). These are C++ classes which follow
40
+
[`src/interfaces/`](../../src/interfaces/). These are C++ classes which follow
41
41
[conventions](../developer-notes.md#internal-interface-guidelines), like passing
42
42
serializable arguments so they can be called from different processes, and
43
43
making methods pure virtual so they can have proxy implementations that forward
@@ -58,7 +58,7 @@ actual serialization and socket communication.
58
58
As much as possible, calls between processes are meant to work the same as
59
59
calls within a single process without adding limitations or requiring extra
60
60
implementation effort. Processes communicate with each other by calling regular
61
-
[C++ interface methods](../src/interfaces/README.md). Method arguments and
61
+
[C++ interface methods](../../src/interfaces/README.md). Method arguments and
62
62
return values are automatically serialized and sent between processes. Object
63
63
references and `std::function` arguments are automatically tracked and mapped
64
64
to allow invoked code to call back into invoking code at any time, and there is
errors.push_back(strprintf(Untranslated("Failed to calculate bump fees, because unconfirmed UTXOs depend on enormous cluster of unconfirmed transactions.")));
0 commit comments