Skip to content

superpoll - a rust async runtime extends futures strictly, rather than rewrite many things.

License

Notifications You must be signed in to change notification settings

miketang84/superpoll

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Superpoll

superpoll - A rust async runtime extends futures strictly, rather than rewriting many things.

Aim

superpoll aims not to do much original works, but integrate and import the best components there are, and expose unified interface.

The most important focus is: we follow futures strictly, and will do nothing conflicted with futures's implementation, so, if there are one function in futures, we will use it directly, and NEVER rewrite/replace it with our own implementation.

We have done:

  • ported stjepang's async-io as superpoll::io
  • ported stjepang's blocking as superpoll::blocking
  • ported stjepang's async-net as superpoll::net
  • ported stjepang's async-fs as superpoll::fs
  • ported stjepang's async-process as superpoll::process

Components

Reorgnization Details

  • superpoll::io
    • changed dependency futures-lite to futures
  • superpoll::blocking
    • changed dependency futures-lite to futures
    • changed dependency async-channel::bounded to futures::channel::mpsc::channel
    • changed dependency atomic-waker::AtomicWaker to futures::task::AtomicWaker
  • superpoll::net
    • changed dependency futures-lite to futures
  • superpoll::fs
    • changed dependency futures-lite to futures
    • changed dependency async-lock::Mutex to futures::lock::Mutex
  • superpoll::process
    • changed dependency futures-lite to futures

Not Finished

  • superpoll::blocking depends on async-task's Runnable and Task, which doesn't exist in futures crate, so we need to count how to rewrite it? Or not necessary to do so.
  • Reexport more symbols to superpoll root space for convienence.

About

superpoll - a rust async runtime extends futures strictly, rather than rewrite many things.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages