frostfs-node/pkg/innerring
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
..
config [#598] innerring/config: Override global config only in debug build 2021-06-09 16:20:37 +03:00
processors [#746] morph: Implement and use multi-client 2021-09-02 11:04:38 +03:00
timers [#479] morph/timer: Move block timer to morph package 2021-04-19 09:35:54 +03:00
alphabet.go [#666] innerring: Make GlagoliticLetter enum public for re-use 2021-07-08 14:37:38 +03:00
bindings.go [#324] ir: Measure GAS emission intervals in sidechain blocks 2021-01-29 11:04:30 +03:00
blocktimer.go [#584] pkg/innerring: Delete using deprecated methods 2021-06-03 13:59:59 +03:00
fetcher.go [#705] pkg/innerring: Add IR keys fetchers 2021-07-22 15:12:06 +03:00
indexer.go [#705] pkg/innerring: Fix disable notary mode 2021-07-22 15:12:06 +03:00
innerring.go [#746] morph: Implement and use multi-client 2021-09-02 11:04:38 +03:00
locode.go [#316] locode/boltdb: Replace all references to the City with Location 2021-02-10 14:05:03 +03:00
notary.go [#740] innerring/notary: Fix reading notary config 2021-08-03 21:00:57 +03:00
rpc.go [#607] *: Do not use deprecated elements of code 2021-06-28 15:52:50 +03:00
settlement.go [#766] Fix stylecheck import linter error 2021-08-26 17:57:15 +03:00
state.go [#666] innerring: Make GlagoliticLetter enum public for re-use 2021-07-08 14:37:38 +03:00