Docs: Address Queue (#1776)

* Docs: Address Queue

* docs: add configuration options
This commit is contained in:
Ben Carman 2020-08-07 12:32:22 -05:00 committed by GitHub
parent 26aee5eb6b
commit 83906d738e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -15,3 +15,17 @@ not ever received funds.
Third, there is `getAddress`. This function takes in an `AccountDb`, `HDChainType`,
and an `Int`. This will return the address associated with the pubkey at
the resulting `BIP32Path`.
## Address Queue
The Bitcoin-S wallet uses a background thread meant to ensure safety when fetching addresses.
This is to ensure independent calls to getNewAddress don't result in a race condition to the database that would generate the same address and cause an error.
With this background thread, we poll the `addressRequestQueue` seeing if there are any elements in it, if there are, we process them and complete the Promise in the queue.
There are two ways to configure the wallet's address queue.
1. `addressQueueSize`: How big the address queue size is before we throw an overflow exception
2. `addressQueueTimeout`: How long we attempt to generate an address for before it times out
For an example configuration, checkout the [example config](../config/configuration.md#example-configuration-file).