Roman Khimov
6f7fed344b
rpcclient: add Internal client for direct RPC server calls
...
It has a special `requestF` and a special initialization function, but other
than that it's an absolutely regular WSClient. Can be used to call, can be
used to subscribe. Fixes #2909 .
2023-02-16 23:49:58 +03:00
Anna Shaleva
51a28fac8d
rpcclient: adjust new subscriptions API doc
...
Add a warning about consequences of unproper notifications reading.
Ref. https://github.com/morphbits/neofs-cdn-edge-manager/pull/88#discussion_r1088007680 .
2023-01-30 14:36:11 +03:00
Anna Shaleva
28927228f0
*: adjust subscription-related doc
...
Add a warning about received events modification where applicable.
2023-01-17 17:11:19 +03:00
Anna Shaleva
2c0844221a
rpcclient: fix filtered naive subscriptions receiver
...
We should return the filter itself instead of pointer.
2022-12-07 16:56:16 +03:00
Roman Khimov
fb09670fd1
rpcclient: extract more detailed server-side on WS connection problem
...
If available. Fixes #2818 .
2022-11-23 12:19:35 +03:00
Anna Shaleva
6dbae7edc4
rpcclient: fix WS-client unsubscription process
...
Do not block subscribers until the unsubscription request to RPC server
is completed. Otherwise, another notification may be received from the
RPC server which will block the unsubscription process.
At the same time, fix event-based waiter. We must not block the receiver
channel during unsubscription because there's a chance that subsequent
event will be sent by the server. We need to read this event in order not
to block the WSClient's readloop.
2022-11-16 23:44:30 +03:00
Anna Shaleva
4fc11c2924
rpc: revert deprecated subscriptions API changes
...
Revert deprecated subscriptions-related method signature changed in
673a495527
, 8e84bb51d5
and d7c1f3eac7
.
2022-10-26 15:32:54 +03:00
Anna Shaleva
0a5905390c
rpc: refactor WSClient subscriptions API
...
Make it more specific, close #2756 .
2022-10-26 15:32:54 +03:00
Anna Shaleva
388112dcaa
rpc: mark old WSClient's SubscribeFor* methods as deprecated
2022-10-24 06:09:36 +03:00
Anna Shaleva
8e84bb51d5
rpc: add "till" filter to WS block events
2022-10-24 06:09:36 +03:00
Anna Shaleva
d7c1f3eac7
rpc: add "container" filter to WS execution notifications
2022-10-24 06:09:36 +03:00
Anna Shaleva
673a495527
rpc: add "since" filter to WS block events
2022-10-24 06:09:36 +03:00
Anna Shaleva
10a0716217
rpc: implement transaction awaiting functionality
...
Close #2704 .
2022-10-24 06:09:36 +03:00
Anna Shaleva
6d38e75149
rpc: support multiple WSClient notification receivers
2022-10-24 06:09:36 +03:00
Anna Shaleva
4ce6bc6a66
rpc: adjust comment to Notification value cast
...
And explicitly specify field names on Notification creation.
2022-10-24 06:09:36 +03:00
Roman Khimov
c703ac6805
golangci: enable contextcheck linter, fix WSClient
...
pkg/rpcclient/wsclient.go:93:30 contextcheck Function `Dial` should pass the context parameter
2022-09-02 18:35:54 +03:00
Roman Khimov
3c009271f8
golangci: enable bodyclose checker and fix related code
...
It has found an issue in the oracle code, so I think it's worth doing.
2022-09-02 18:35:54 +03:00
Roman Khimov
b3c25b5a1f
neorpc/result: move NotaryRequestEvent to this package
...
Not worth a package of its own.
2022-07-25 11:58:13 +03:00
Roman Khimov
4acd1688a1
subscriptions: move NotificationEvent to state
...
1. It's not good for pkg/core to import anything from pkg/neorpc.
2. The type is closely tied to the state package, even though it's not stored
in the DB
2022-07-25 11:58:13 +03:00
Roman Khimov
1e0750e3cd
rpc: merge response and request under pkg/neorpc
...
Move result there also.
2022-07-25 11:57:53 +03:00
Roman Khimov
8c668765d2
rpc/client: move to pkg/rpcclient
...
Better package name, closer to user.
2022-07-21 22:39:53 +03:00