Skip to content
New issue

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

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

Already on GitHub? # to your account

Implements Send trait on Connection. #879

Closed
ArtBlnd opened this issue Jul 30, 2020 · 9 comments
Closed

Implements Send trait on Connection. #879

ArtBlnd opened this issue Jul 30, 2020 · 9 comments
Labels
p3 Backlog

Comments

@ArtBlnd
Copy link

ArtBlnd commented Jul 30, 2020

It is very hard to use neqo-transport crate with other async crates such as tokio, async-std.
those crate requires Send traits to spawn tasks.

currently, some Rc objects causes Connection to be !Send.

maybe related to #530

@agrover
Copy link
Contributor

agrover commented Jul 30, 2020

Hmm. If you want to experiment with this, replacing instances of Rc with Arc and RefCell with Mutex would probably be the first place to start making changes. The next issue you'd hit would probably be something nss related.

Happy hacking!

@martinthomson
Copy link
Member

The design relies heavily on thread confinement, so care would be needed to ensure that connections can't be accessed from multiple threads.

@ArtBlnd
Copy link
Author

ArtBlnd commented Jul 30, 2020

The design relies heavily on thread confinement, so care would be needed to ensure that connections can't be accessed from multiple threads.

I didn't meant to support Sync so its fine :)

@ArtBlnd ArtBlnd closed this as completed Jul 30, 2020
@ArtBlnd ArtBlnd reopened this Jul 30, 2020
@ArtBlnd
Copy link
Author

ArtBlnd commented Aug 6, 2020

Seems unsafely implementing Send traits looks fine if its bounded with mutex. because Rc objects just doesn't exposed out of Connection scope. so I am currently implementing future based neqo implementation(wrapping?) using async-std.

@iho
Copy link

iho commented Sep 5, 2020

so I am currently implementing future based neqo implementation(wrapping?) using async-std.

How it going? Do you need help? Can you share your work?

@ArtBlnd
Copy link
Author

ArtBlnd commented Sep 5, 2020

I am currently working neqo to support cross-compile. I have PoC but does not work well (it is for non-production at this time)

@ddragana ddragana added the p3 Backlog label Nov 24, 2021
@xpepermint
Copy link

Any progress?

@ArtBlnd
Copy link
Author

ArtBlnd commented Dec 21, 2021

Sorry, I am about to use quinn so no progress :(

@larseggert
Copy link
Collaborator

The neqo demo client and server now use tokio, so this should be addressed.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
p3 Backlog
Projects
None yet
Development

No branches or pull requests

7 participants