All Projects → dcarp → asynchronous

dcarp / asynchronous

Licence: BSL-1.0 license
A D port of Python's asyncio library

Programming Languages

d
599 projects

Projects that are alternatives of or similar to asynchronous

Vibe Core
Repository for the next generation of vibe.d's core package.
Stars: ✭ 56 (+60%)
Mutual labels:  socket, asynchronous, fibers, asyncio
Aiotutorial
code snippets for asyncio tutorial
Stars: ✭ 257 (+634.29%)
Mutual labels:  asynchronous, coroutines, asyncio
Elle
The Elle coroutine-based asynchronous C++ development framework.
Stars: ✭ 459 (+1211.43%)
Mutual labels:  asynchronous, coroutines, fibers
socketwrapper
Async/Sync networking library including UDP, TCP and TLS/TCP socket classes written in C++ 17.
Stars: ✭ 33 (-5.71%)
Mutual labels:  socket, asynchronous, asyncio
Mioco
[no longer maintained] Scalable, coroutine-based, fibers/green-threads for Rust. (aka MIO COroutines).
Stars: ✭ 125 (+257.14%)
Mutual labels:  asynchronous, coroutines, fibers
workerman
An asynchronous event driven PHP socket framework. Supports HTTP, Websocket, SSL and other custom protocols. PHP>=5.4.
Stars: ✭ 10,005 (+28485.71%)
Mutual labels:  socket, asynchronous, timer
Paco
Small utility library for coroutine-driven asynchronous generic programming in Python 3.4+
Stars: ✭ 198 (+465.71%)
Mutual labels:  asynchronous, coroutines, asyncio
Workerman
An asynchronous event driven PHP socket framework. Supports HTTP, Websocket, SSL and other custom protocols. PHP>=5.3.
Stars: ✭ 9,617 (+27377.14%)
Mutual labels:  socket, asynchronous, timer
AIO
Coroutine-based multithreading library for Delphi
Stars: ✭ 99 (+182.86%)
Mutual labels:  coroutines, fibers
aioudp
Asyncio UDP server
Stars: ✭ 21 (-40%)
Mutual labels:  socket, asynchronous
yutto
🧊 一个可爱且任性的 B 站视频下载器(bilili V2)
Stars: ✭ 383 (+994.29%)
Mutual labels:  coroutines, asyncio
zab
C++20 liburing backed coroutine executor and event loop framework.
Stars: ✭ 54 (+54.29%)
Mutual labels:  asynchronous, coroutines
Python Mocket
a socket mock framework - for all kinds of socket animals, web-clients included
Stars: ✭ 209 (+497.14%)
Mutual labels:  socket, asyncio
duckpy
A simple Python library for searching on DuckDuckGo.
Stars: ✭ 20 (-42.86%)
Mutual labels:  asynchronous, asyncio
Socket.core
This is a socket framework based on C # net standard2.0 write, can be used for .NET Framework / dotnet core assembly, can run in window (IOCP) / linux (epoll) .Use asynchronous connection, asynchronous send, asynchronous receive, Performance burst tables, and pass the stress test. 这是一个基于C# .net standard2.0 写的socket框架,可使用于.net Framework/dotnet core程序集,能在window(IOCP)/linux(epoll)运行.使用异步连接,异步发送,异步接收,性能爆表,并且通过压力测试。
Stars: ✭ 203 (+480%)
Mutual labels:  socket, asynchronous
Polyel-Framework
⚡️ Voltis Core: A PHP framework based on Swoole from the ground up
Stars: ✭ 22 (-37.14%)
Mutual labels:  asynchronous, coroutines
Sc
Common libraries and data structures for C.
Stars: ✭ 161 (+360%)
Mutual labels:  socket, timer
async retrial
Python package for retrial of asyncio based coroutines
Stars: ✭ 14 (-60%)
Mutual labels:  asynchronous, asyncio
py3tftp
An asynchronous TFTP server in pure Python 3.5
Stars: ✭ 39 (+11.43%)
Mutual labels:  asynchronous, asyncio
aioconnectors
Simple secure asynchronous message queue
Stars: ✭ 17 (-51.43%)
Mutual labels:  asynchronous, asyncio

Build Status

asynchronous

This library provides infrastructure for writing concurrent code using coroutines, multiplexing I/O access over sockets and other resources, running network clients and servers, and other related primitives.

It implements most of the python 3 asyncio API.

API Reference

Can be found at: http://dcarp.github.io/asynchronous/index.html

Implementation status

  • Timers (done)
  • Futures, Tasks (done)
  • Sockets (done)
  • Streams (done)
  • Subprocesses (not implemented)
  • Locks and semaphores (done)
  • Queues (done)

Why yet another async library? What is wrong with vibe.d?

  • asynchronous is a library and not a framework
  • it is not web-oriented, compatible with std.socket
  • arguably nicer API
  • event loop start/stop control
  • uses @Coroutine UDA to mark functions that could trigger a task (fiber) switch, although this is not enforced yet by the compiler.

Examples and tutorials

Some small examples can be found in the test directory or as unittests. For larger examples please use the Python/asyncio resources.

Please keep in mind that, in contrast with Python/asyncio, in D a coroutine MUST be called from within a Task, otherwise it causes a run-time error on the fiber switch. Basic rule: if not called from another coroutine, any coroutine call need to be wrapped by ensureFuture or EventLoop.createTask.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].