Paul Sokolovsky
da124acfdb
uasyncio: Release 1.2.3, added initial README.
2017-10-30 01:23:19 +02:00
Peter Hinch
65605e3de8
uasyncio: Add test showing I/O scheduling starvation.
...
If there is a coroutine to run immediately (with wait delay <= 0),
uasyncio.core never calls .wait() method, which is required to
process I/O events (and schedule coroutines waiting for them).
This test demonstrates the problem.
2017-08-20 16:36:15 +03:00
Paul Sokolovsky
7d9eb0716c
uasyncio: Release 1.2.2.
2017-06-10 16:11:41 +03:00
Paul Sokolovsky
a191626c2e
uasyncio: Add awriteiter() method.
...
Write piecewise content from iterable (usually, a generator).
2017-06-10 16:10:27 +03:00
Paul Sokolovsky
e1f75100cf
uasyncio: Release 1.2.1.
2017-06-08 02:54:42 +03:00
Paul Sokolovsky
a2097be138
uasyncio: Add own set_debug() function.
...
set_debug() from uasyncio.core doesn't have effect on the main uasyncio
package, so let them both have set_debug() function, and allow to enable
debug logging independently.
2017-06-08 02:51:29 +03:00
Paul Sokolovsky
75e1474ddf
uasyncio: awrite: Use 3-arg .write(), accept offset/size too.
...
Use MicroPython .write() extension of passing offset/size to efficiently
spool buffers larger than socket output buffer. Also, make awrite()
accept these params too.
2017-06-07 03:09:34 +03:00
Paul Sokolovsky
87e30182a1
uasyncio: test-ab-medium.sh: Run ab on http://127.0.0.1 .
...
On some hosts, http://localhost doesn't work, apparently ab resolve it
via IPv6 or something.
2017-06-06 21:37:55 +03:00
Paul Sokolovsky
f5fe55aaef
uasyncio: Release 1.2.
2017-06-06 21:27:50 +03:00
Paul Sokolovsky
16afc06b8c
uasyncio: Switch to memory-efficient poll.ipoll() method.
...
As added in MicroPython 1.9.
2017-06-06 21:04:37 +03:00
Paul Sokolovsky
e8e531b754
uasyncio: Release 1.1.2.
2017-05-05 11:35:24 +03:00
Paul Sokolovsky
9a72e29564
uasyncio: Consistently use "if DEBUG and __debug__:" stanza.
...
To make sure this module can work without logging module imported, just
like uasyncio.core was made to.
2017-05-05 11:33:39 +03:00
Paul Sokolovsky
53193ba2e7
uasyncio: benchmark: Modern browsers produce requests more than 256 bytes.
...
So, not all of the request was read, and a browser would report than
connection was reset.
2017-03-16 01:55:32 +03:00
Paul Sokolovsky
a355801fb1
uasyncio: wait: Remove no longer needed "if", artifact of epoll impl.
2017-03-13 00:44:58 +03:00
Paul Sokolovsky
4fc72c6032
uasyncio: Remove "epoll" references from previous Linux-only implementation.
2017-03-12 16:42:02 +03:00
Paul Sokolovsky
aba6935892
uasyncio: Release 1.1.1.
2017-02-16 00:04:39 +03:00
Paul Sokolovsky
67445f3334
uasyncio: benchmark: Rename test runners to correspond to underlying tests.
2017-02-15 11:19:10 +03:00
Paul Sokolovsky
6a4973331a
uasyncio: benchmark: Set higher queue length for "medium" test.
...
Following setting the default conservatively low in the module.
Surprisingly, heavy test appears to work with new default length
of 42.
2017-02-15 11:17:02 +03:00
Paul Sokolovsky
e3dac1d693
uasyncio: Allow to override queue length, while setting low default.
...
The default queue length is set to take under 0.5K RAM on 32-bit system.
A queue length can be passed to get_event_loop() to override it. This
change follows similar change in uasyncio.core.
2017-02-15 11:14:53 +03:00
Paul Sokolovsky
f6668aae28
uasyncio: Release 1.1.
2017-01-28 01:58:05 +03:00
Paul Sokolovsky
1bf1c74ae5
uasyncio: Use builtin uerrno module.
2017-01-28 01:55:40 +03:00
Paul Sokolovsky
7043ee0702
uasyncio: Implement StreamReader.readexactly().
...
With a unit test.
2017-01-28 01:04:21 +03:00
Paul Sokolovsky
ec7b4b948b
uasyncio: StreamReader.readline: Handle partial reads.
...
Now it will return a complete line regardless if it may take several
partial reads to do that. Test included.
2017-01-27 01:09:19 +03:00
Paul Sokolovsky
a8d85e28d0
uasyncio: Fix partial reads in StreamReader.read/readline() methods.
...
If None (no data, would block) is received, need to wait for more data,
not just read it again immediately.
2017-01-26 22:20:29 +03:00
Paul Sokolovsky
56dd0f94e9
uasyncio: Rename examples as such.
2017-01-04 18:01:05 +03:00
Paul Sokolovsky
3e37bdda56
uasyncio: Move test_call_soon.py to uasyncio.core, as it needs only it.
...
Also, rename as example.
2017-01-04 18:01:05 +03:00
Daniel Mizyrycki
4bc5ab902b
uasyncio: Add echo test
2017-01-01 19:06:54 -08:00
Daniel Mizyrycki
0f5d5cead7
uasyncio: Add minimum esp8266 support
2017-01-01 18:17:17 -08:00
Paul Sokolovsky
6256ad69c0
uasyncio: Release 1.0.1.
2016-12-30 22:32:26 +03:00
Paul Sokolovsky
5403e0f710
uasyncio: Use DEBUG variable as imported from uasyncio.core.
...
Avoids heap allocation to render disabled debug logging strings.
2016-12-29 11:37:41 +03:00
Paul Sokolovsky
f29be360c0
uasyncio: wait: Add workaround against heap alloc on empty iteration.
...
"for a in ():" unconditionally allocates heap so far, per
https://github.com/micropython/micropython/issues/2716 . So, test for
empty result before iterating over it.
2016-12-28 10:25:31 +03:00
Paul Sokolovsky
23ff6305c3
uasyncio: Release 1.0.
2016-11-13 15:18:30 +03:00
Paul Sokolovsky
67d8e55dea
uasyncio: Update for switching to utime.ticks_ms() timesource.
2016-11-13 04:39:52 +03:00
Paul Sokolovsky
dfe4dee62a
all: setup.py: New releases for gzip 4k conversion.
2016-10-11 06:47:01 +03:00
Paul Sokolovsky
65fb3707ba
all: metadata.txt: Bump version for gzip 4k conversion.
2016-10-11 06:46:12 +03:00
Paul Sokolovsky
6f7bed1c53
uasyncio: test_http_server_heavy.py: Comment out mem_info() call.
2016-01-11 00:07:43 +02:00
Paul Sokolovsky
86692631c1
uasyncio: Add missing Boom HTTP testing tool support script.
2016-01-10 23:39:40 +02:00
Paul Sokolovsky
e9648dad01
uasyncio: Release 0.9.
2015-12-13 01:55:06 +02:00
Paul Sokolovsky
5e10ef8adf
uasyncio: Switch to builtin uselect.poll() object.
...
This is a big step towards supporting uasyncio on baremetal builds (and
on unix builds without FFI support).
2015-12-13 01:46:05 +02:00
Paul Sokolovsky
b4b19f1dce
uasyncio: Schedule simple I/O completion callbacks directly in event loop.
...
Simple == without args. This is expected action for them, and saves creation
of lambda just for that. Actually, probably all callbacks should be handled
this way.
2015-12-11 22:53:29 +02:00
Paul Sokolovsky
7cd53c8bf8
uasyncio: IORead/IOWrite syscalls don't return anything.
...
Their semantics is "wait for I/O of given type on object passed as argument",
so return value would be the same as argument, and thus no need to bother
to store/pass it around.
2015-12-10 00:29:10 +02:00
Paul Sokolovsky
17d96d35b5
uasyncio: Optimize reader/writer callbacks with no arguments.
...
Avoids allocating tuples.
2015-12-07 01:13:00 +02:00
Paul Sokolovsky
7fe611172f
uasyncio/benchmark: Default is "medium" test, add CPython support.
2015-06-21 02:03:42 +03:00
Paul Sokolovsky
1251e83b6c
uasyncio/benchmark: Add "medium load" server, serving 12K output per request.
2015-06-21 02:03:37 +03:00
Paul Sokolovsky
68b30061bc
uasyncio/benchmark: CPython asyncio compatibility.
...
Unlimited .read() doesn't play well with it.
2015-06-21 02:00:42 +03:00
Paul Sokolovsky
0ce0123ab5
uasyncio/benchmark: Update for latest uasyncio/micropython.
2015-06-21 01:59:34 +03:00
Damien George
72d1f5ecfa
uasyncio: Add StreamWriter.get_extra_info() to get peername.
...
This is the standard way of getting the name of the client that is
connected.
2015-06-03 13:25:27 +00:00
Paul Sokolovsky
1cbd5591f9
uasyncio: Release 0.8.1.
2015-01-04 22:01:36 +02:00
Paul Sokolovsky
99fa203686
uasyncio: StreamReader.close() -> .aclose().
...
Note: CPython asyncio lacks .close() on StreamReader at all, only StreamWriter
has it.
2015-01-04 21:47:06 +02:00
Paul Sokolovsky
20ddd54cb9
uasyncio: close() is synchronous method, ours is aclose() then.
2015-01-02 01:51:44 +02:00