[BREAKGLASS] Append-only mirror of github.com/mempool/rust-electrum-client
Go to file
Alekos Filini f37bcd59e0
New multithreaded model
This new model is based on the idea of having only one thread monitor the socket and then
distribute the responses to every other thread that's waiting.

Whenever a request is made, a new mpsc channel is created and added to an internal map.
Then, if there are not other threads waiting for pending responses, that thread will
become the "reader thread" and monitor the socket until it receives the response it was
waiting for. In the meantime, if it sees responses coming on the socket with different
ids, it will lookup the correct Sender from the internal map and send that message to
the thread that created the request in the first place.

The other threads will be waiting trying to read from their Receiver, where they will
either get the message in response to their request, or a signal to wake up and
become the new "reader thread".
2020-07-16 14:06:13 +02:00
examples New multithreaded model 2020-07-16 14:06:13 +02:00
src New multithreaded model 2020-07-16 14:06:13 +02:00
test_data Add estimate_fee to batch methods 2020-02-26 20:04:59 +01:00
.gitignore Release 0.1.0-beta.1 2020-02-06 18:15:22 +01:00
.travis.yml Revert "Move to async I/O with Tokio" 2020-07-09 16:11:52 +02:00
Cargo.toml New multithreaded model 2020-07-16 14:06:13 +02:00
LICENSE Initial commit 2020-02-06 17:54:27 +01:00
README.md add crate and travis badges 2020-02-12 09:50:15 +01:00

rust-electrum-client Build Status Latest Version

Bitcoin Electrum client library. Supports plaintext, TLS and Onion servers.