neoneo-go/pkg/services/rpcsrv
Roman Khimov eeeb0f6f0e core: accept two-side channels for sub/unsub, read on unsub
Blockchain's notificationDispatcher sends events to channels and these
channels must be read from. Unfortunately, regular service shutdown procedure
does unsubscription first (outside of the read loop) and only then drains the
channel. While it waits for unsubscription request to be accepted
notificationDispatcher can try pushing more data into the same channel which
will lead to a deadlock. Reading in the same method solves this, any number of
events can be pushed until unsub channel accepts the data.
2022-08-19 22:08:40 +03:00
..
params rpc: merge response and request under pkg/neorpc 2022-07-25 11:57:53 +03:00
testdata Revert "native/interop: revert management.hasMethod()" 2022-07-28 17:00:34 +03:00
client_test.go rpcclient: provide nep11 package for NEP-11 tokens 2022-08-19 10:37:22 +03:00
error.go rpc: merge response and request under pkg/neorpc 2022-07-25 11:57:53 +03:00
prometheus.go rpc/server: move to services/rpcsrv 2022-07-21 22:14:12 +03:00
server.go core: accept two-side channels for sub/unsub, read on unsub 2022-08-19 22:08:40 +03:00
server_helper_test.go rpc/server: move to services/rpcsrv 2022-07-21 22:14:12 +03:00
server_test.go core: fix native Management's hasMethod signature 2022-08-11 16:10:01 +03:00
subscription.go neorpc/result: move NotaryRequestEvent to this package 2022-07-25 11:58:13 +03:00
subscription_test.go rpc: merge response and request under pkg/neorpc 2022-07-25 11:57:53 +03:00
tokens.go rpc: merge response and request under pkg/neorpc 2022-07-25 11:57:53 +03:00
util.go rpc/server: move to services/rpcsrv 2022-07-21 22:14:12 +03:00