38308d48f2
* feat_: log error and stacktrace when panic in goroutine * test_: add test TestSafeGo * chore_: rename logAndCall to call * chore_: rename SafeGo to Go * chore_: make lint-fix * chore_: use t.Cleanup * chore_: Revert "chore_: use t.Cleanup" This reverts commit 4eb420d179cc0e208e84c13cb941e6b3d1ed9819. * chore_: Revert "chore_: make lint-fix" This reverts commit fcc995f157e671a4229b47419c3a0e4004b5fdab. * chore_: Revert "chore_: rename SafeGo to Go" This reverts commit a6d73d6df583f313032d79aac62f66328039cb55. * chore_: Revert "chore_: rename logAndCall to call" This reverts commit 8fbe993bedb9fbba67349a44f151e2dd5e3bc4cc. * chore_: Revert "test_: add test TestSafeGo" This reverts commit a1fa91839f3960398980c6bf456e6462ec944819. * chore_: Revert "feat_: log error and stacktrace when panic in goroutine" This reverts commit f612dd828fa2ce410d0e806fe773ecbe3e86a68a. * feat_: log error and stacktrace when panic in goroutine * chore_: make lint-fix * chore_: rename logAndCall to call * chore_: renaming LogOnPanic * chore_: update rest goroutine function calls * chore_: make lint-fix |
||
---|---|---|
.. | ||
README.md | ||
api.go | ||
filters.go | ||
filters_eth.go | ||
filters_shh.go | ||
service.go | ||
signals.go | ||
subscription.go | ||
subscriptions.go | ||
subscriptions_test.go |
README.md
Signal Subscriptions
This package implements subscriptions mechanics using signal
package.
It defines 3 new RPC methods in the eth
namespace and 2 signals.
Methods
###eth_subscribeSignal
Creates a new filter and subscribes to its changes via signals.
Parameters: receives the method name and parameters for the filter that is created.
Example 1:
{
"jsonrpc": "2.0",
"id": 1,
"method": "eth_subscribeSignal",
"params": ["eth_newPendingTransactionFilter", []]
}
Example 2:
{
"jsonrpc": "2.0",
"id": 2,
"method": "eth_subscribeSignal",
"params": [
"shh_newMessageFilter",
[{ "symKeyID":"abcabcabcabc", "topics": ["0x12341234"] }]
]
}
Supported filters: shh_newMessageFilter
, eth_newFilter
, eth_newBlockFilter
, eth_newPendingTransactionFilter
(see Ethereum documentation for respective parameters).
Returns: error or subscriptionID
.
###eth_unsubscribeSignal
Unsubscribes and removes one filter by its ID.
NOTE: Unsubscribing from a filter removes it.
Parameters: subscriptionID
obtained from eth_subscribeSignal
Returns: error if something went wrong while unsubscribing.
Signals
- Subscription data received
{
"type": "subscriptions.data",
"event": {
"subscription_id": "shh_0x01",
"data": {
<whisper envelope 01>,
<whisper envelope 02>,
...
}
}
- Subscription error received
{
"type": "subscriptions.error",
"event": {
"subscription_id": "shh_0x01",
"error_message": "can not find filter with id: 0x01"
}
}