Skip to content

alanjds/rloop

 
 

Repository files navigation

RLoop

RLoop is an AsyncIO selector event loop implemented in Rust on top of the mio crate.

Warning: RLoop is currently a work in progress and definitely not suited for production usage.

Note: RLoop is available on Unix systems only.

Installation

pip install rloop

Usage

import asyncio
import rloop

asyncio.set_event_loop_policy(rloop.EventLoopPolicy())
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)

Differences from stdlib

At current time, when compared with the stdlib's event loop, RLoop doesn't support the following features:

  • Unix Domain Sockets
  • SSL
  • debugging

RLoop also doesn't implement the following methods:

  • loop.sendfile
  • loop.connect_accepted_socket
  • loop.sock_recvfrom
  • loop.sock_recvfrom_into
  • loop.sock_sendto
  • loop.sock_sendfile

call_later with negative delays

While the stdlib's event loop will use the actual delay of callbacks when call_later is used with negative numbers, RLoop will treat those as call_soon, and thus the effective order will follow the invocation order, not the delay.

License

RLoop is released under the BSD License.

About

An AsyncIO event loop implemented in Rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 53.0%
  • Python 45.8%
  • Other 1.2%