neo-go/pkg/services
Leonard Lyubich 465d3f43d2 services/rpcsrv: Wait for subscription process to complete when stopped
Previously RPC server shutdown procedure listened to the execution
channel and stopped at the first element that arrived in the queue. This
could lead to the following problems:
 * stopper could steal the execution result from subscriber
 * stopper didn't wait for other subscription actions to complete

Add dedicated channel to `Server` for subscription routine. Close the
channel on `handleSubEvents` return and wait for signal in `Shutdown`.

Signed-off-by: Leonard Lyubich <leonard@morphbits.io>
2023-08-01 17:27:21 +03:00
..
helpers/rpcbroadcaster rpc/client: move to pkg/rpcclient 2022-07-21 22:39:53 +03:00
metrics services: allow multiple listen addresses for simple services 2022-12-07 11:23:01 +03:00
notary services: use buffered channels for block subscription 2023-03-15 17:37:47 +03:00
oracle *: add nolint comments to multiple errors wrapping 2023-03-15 16:38:01 +03:00
rpcsrv services/rpcsrv: Wait for subscription process to complete when stopped 2023-08-01 17:27:21 +03:00
stateroot services: use buffered channels for block subscription 2023-03-15 17:37:47 +03:00