frostfs-node/pkg/morph/client
Leonard Lyubich ad7ad12a0c [#746] morph: Implement and use multi-client
There is a need to work with a set of Neo RPC nodes in order not to depend
on the failure of some nodes while others are active.

Support "multi-client" mode of morph `Client` entity. If instance is not
"multi-client", it works as before. Constructor `New` creates multi-client,
and each method performs iterating over the fixed set of endpoints until
success. Opened client connections are cached (without eviction for now).

Storage (as earlier) and IR (from now) nodes can be configured with multiple
Neo endpoints. As above, `New` creates multi-client instance, so we don't
need initialization changes on app-side.

`Wait` and `GetDesignateHash` methods of `Client` return an error from now
to detect connection errors. `NotaryEnabled` method is removed as unused.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-09-02 11:04:38 +03:00
..
audit [#643] pkg: Sync method names and commentaries to them 2021-06-24 16:10:44 +03:00
balance [#643] pkg: Sync method names and commentaries to them 2021-06-24 16:10:44 +03:00
container [#643] pkg: Sync method names and commentaries to them 2021-06-24 16:10:44 +03:00
neofs [#658] morph/neofs: Add TryNotary() option 2021-07-02 09:53:34 +03:00
neofsid [#658] morph/neofsid: Add TryNotary() option 2021-07-02 09:53:34 +03:00
netmap [#708] morph/client: Update last epoch block method name 2021-07-22 20:40:09 +03:00
reputation [#643] pkg: Sync method names and commentaries to them 2021-06-24 16:10:44 +03:00
client.go [#746] morph: Implement and use multi-client 2021-09-02 11:04:38 +03:00
client_test.go [#505] morph/client: Support boolean invocation argument 2021-05-25 16:35:52 +03:00
constructor.go [#746] morph: Implement and use multi-client 2021-09-02 11:04:38 +03:00
multi.go [#746] morph: Implement and use multi-client 2021-09-02 11:04:38 +03:00
notary.go [#746] morph: Implement and use multi-client 2021-09-02 11:04:38 +03:00
static.go [#643] pkg: Sync method names and commentaries to them 2021-06-24 16:10:44 +03:00
util.go [#521] *: use stdlib errors package 2021-05-19 16:42:54 +03:00
util_test.go [#478] morph/client: Try to parse integer as a byte type 2021-04-15 17:53:08 +03:00