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

[concordium-base] Web3IDCredential is not Send, but would be better if it was. #447

Open
abizjak opened this issue Sep 24, 2023 · 0 comments
Labels
[Type] Change Request Some visible functionality should be change.

Comments

@abizjak
Copy link
Contributor

abizjak commented Sep 24, 2023

Description

The type Web3IdCredential and others which contain the Value wrapper (which we use for secrets) are not Send.

This causes odd errors when attempting to use them in services. In particular they cannot be transferred through channels, e.g., tokio::sync::mpsc channel.

The reason for this is that underneath there is an Rc to avoid cloning the actual secret data, and just cloning the pointer to the data.

It would be more ergonomic if we changed the underlying wrapper to an Arc. These values are not cloned a lot, so there will be no observable performance impact.

@abizjak abizjak added the [Type] Change Request Some visible functionality should be change. label Sep 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Type] Change Request Some visible functionality should be change.
Projects
None yet
Development

No branches or pull requests

1 participant