Skip to content

tokio agnosticism #2504

@parazyd

Description

@parazyd

Hi.

I've noticed that quinn has a mandatory dependency on tokio's sync primitives.
For example here: https://github.com/quinn-rs/quinn/blob/main/quinn/src/connection.rs#L16

For users of smol/async-std it should be possible to avoid this dependency. It would require
an abstraction over these primitives so that when runtime-tokio is requested, the existing
code would be used, or - when runtime-smol is requested - it should be possible to implement
these using async-channel, event-listener, and futures-lite.

This would greatly help projects that use smol and do not want to introduce a tokio dependency,
regardless if it's just the sync primitives.

Is this something that the developers would consider?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions