Low level event reactor for Pyjoyment with asyncio support.
Project description
Pyjo-Reactor-Asyncio
Low level event reactor with asyncio support for Pyjoyment.
Pyjoyment
An asynchronous, event driver web framework for the Python programming language.
Pyjoyment provides own reactor which handles I/O and timer events in its own main event loop but it supports other loops, ie. libev or asyncio.
asyncio
This module provides infrastructure for writing single-threaded concurrent code using coroutines, multiplexing I/O access over sockets and other resources, running network clients and servers, and other related primitives.
The asyncio module was designed in PEP3156. For a motivational primer on transports and protocols, see PEP3153.
Trollius
Trollius is a portage of the asyncio project (PEP3156) on Python 2. Trollius works on Python 2.6-3.5.
Examples
Non-blocking TCP client/server
import Pyjo.Reactor.Asyncio
import Pyjo.IOLoop
# Listen on port 3000
@Pyjo.IOLoop.server(port=3000)
def server(loop, stream, cid):
@stream.on
def read(stream, chunk):
# Process input chunk
print("Server: {0}".format(chunk.decode('utf-8')))
# Write response
stream.write(b"HTTP/1.1 200 OK\x0d\x0a\x0d\x0a")
# Disconnect client
stream.close_gracefully()
# Connect to port 3000
@Pyjo.IOLoop.client(port=3000)
def client(loop, err, stream):
@stream.on
def read(stream, chunk):
# Process input
print("Client: {0}".format(chunk.decode('utf-8')))
# Write request
stream.write(b"GET / HTTP/1.1\x0d\x0a\x0d\x0a")
# Add a timer
@Pyjo.IOLoop.timer(3)
def timeouter(loop):
print("Timeout")
# Shutdown server
loop.remove(server)
# Start event loop
Pyjo.IOLoop.start()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file Pyjo-Reactor-Asyncio-0.0.1.tar.gz
.
File metadata
- Download URL: Pyjo-Reactor-Asyncio-0.0.1.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 289da0cceb271f23b27cb2b6cc8f9ce3311acc361e98ba13f240481d825cbac3 |
|
MD5 | 54cc33976d2a2ba47aa34dd8bd7359a6 |
|
BLAKE2b-256 | e4bee70cbb7cf044de743701380abcb2304874d298184e10233ac4f52c8a431e |
File details
Details for the file Pyjo_Reactor_Asyncio-0.0.1-py2.py3-none-any.whl
.
File metadata
- Download URL: Pyjo_Reactor_Asyncio-0.0.1-py2.py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe0c1b2fb14a518eed73d57e00e1d36ab9682b3c0a058baff41ebf7a7c2437b5 |
|
MD5 | b31818d3a5118c480d6389119d850d55 |
|
BLAKE2b-256 | 744f3b32edd7bb940c921ae228fed68c5b6861230865d2ef34192bc0486d04cb |