Skip to content
This repository was archived by the owner on Nov 7, 2019. It is now read-only.
This repository was archived by the owner on Nov 7, 2019. It is now read-only.

Tokio primitives not including in this port #2

@withoutboats

Description

@withoutboats

This port is just supposed to be the core of tokio, to unblock people who want to build on top of async/await. Much of tokio is not included in this for that reason.

For example, tokio-threadpool is an executor implemented using a work-stealing threadpool. It's a valuable step up over the executors provided in the futures crate, but not an IO primitive, so not a part of this particular port's vision of itself.

Similar, tokio-codec defines a set of abstractions for writing network protocols; while these are very valuable they also aren't a part of the "just the async IO primitives" vision that this crate has.

However, other parts of tokio are more ambiguous:

  1. tokio-signal provides signal abstractions on UNIX and Windows. It's not clear to me if this should be ported or not (its not included as part of tokio proper)
  2. tokio-fs provides FS abstractions; however, it is not actually using nonblocking IO (there is no portable nonblocking filesystem IO), its using blocking IO on top of the executor, and tightly coupled to tokio-threadpool. Is it urgent to provide an FS abstraction as part of this, and how hard would it be to provide one that is decoupled from the executor implementation?
  3. tokio-timer provides a timer implementation, not technically an IO primitive per se but still very important and relevant as a networking primitive. should we port that also?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions