Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(rpc module): unsubscribe according ethereum pubsub spec #693

Merged
merged 5 commits into from
Feb 22, 2022

Conversation

niklasad1
Copy link
Member

As we already have adopted the ethereum pubsub spec for subscriptions let's stick to it completely.

@niklasad1 niklasad1 requested a review from a team as a code owner February 8, 2022 09:32
Comment on lines -698 to -699
let err = to_json_raw_value(&format!(
"Invalid subscription ID={}",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only downside to this PR is that we loose this information (I think?).

With this PR, when an unsubscribe call fails, what do users get back?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, unfortunately they will just receive a bool set to false and then the client(s) have to figure it on their own :(

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

another route is to actually require users to customize their unsubscribe impl as jsonrpc does but probably not worth the effort we still only support String and u64 as subscription ID.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's document this properly in the macro docs (and on this method): "When attempting to unsubscribe with an unknown subscription ID this call will return false" or something along those lines?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess it's better to document that we implement the ethereum pubsub specification when we refer to subscriptions and it's possible to provide custom subscription IDs but that's it.

Sure, we could add some documentation to both RpcModule::register_subscription and the macros.

@dvdplm dvdplm merged commit b0f8948 into master Feb 22, 2022
@dvdplm dvdplm deleted the na-unsubscribe-acc-eth-pubsub-spec branch February 22, 2022 20:59
@niklasad1 niklasad1 mentioned this pull request Apr 4, 2022
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants