forked from TrueCloudLab/neoneo-go
b7f19a54d5
Blockchain's subscriptions, unsubscriptions and notifications are handled by a single notificationDispatcher routine. Thus, on attempt to send the subsequent event to Blockchain's subscribers, dispatcher can't handle subscriptions\unsubscriptions. Make subscription and unsubscription to be a non-blocking operation for blockchain on the server side, otherwise it may cause the dispatcher locks. To achieve this, use a separate lock for those code that make calls to blockchain's subscription API and for subscription counters on the server side. |
||
---|---|---|
.. | ||
params | ||
testdata | ||
client_test.go | ||
error.go | ||
prometheus.go | ||
server.go | ||
server_helper_test.go | ||
server_test.go | ||
subscription.go | ||
subscription_test.go | ||
tokens.go | ||
util.go |