Paul Sokolovsky
545a033933
asyncio_micro: awrite(): More logging and checks.
2014-10-21 01:31:58 +03:00
Paul Sokolovsky
abd8b1646a
asyncio_micro: Add metadata.
2014-10-21 01:31:58 +03:00
Paul Sokolovsky
eff1250e3b
asyncio_micro: Optimize size of SysCall objects.
...
We have to have type header for any object, so use type to "store"
information about syscall type (my initial idea was to have single
syscall class and dispatch on its attribute, that would save memory
on having bunch of classes, but would increase size of each syscall
object).
2014-10-21 01:31:58 +03:00
Paul Sokolovsky
06c8c6ce8f
asyncio_micro: Move handle() method to SysCall base class.
2014-10-21 01:31:58 +03:00
Paul Sokolovsky
6115b451ea
asyncio_micro: Clean up logging.
2014-10-21 01:31:58 +03:00
Paul Sokolovsky
4af1cf5a30
asyncio_micro: Support just plain "yield" for cooperative control yield.
2014-10-21 01:31:58 +03:00
Paul Sokolovsky
d0d2810b0c
asyncio_micro: Rename StreamWriter.write() to awrite().
...
This method has different semantics than original asyncio, so rename to avoid
confusion. Original asyncio's is not a coroutine, while ours is.
2014-10-21 01:31:58 +03:00
Paul Sokolovsky
9c3a3cd5ed
asyncio_micro: Add basic HTTP server example.
2014-10-21 01:31:58 +03:00
Paul Sokolovsky
15cc7aa7b7
asyncio_micro: Implement proper write() handling.
...
TODO: Test!
2014-10-21 01:31:58 +03:00
Paul Sokolovsky
6e61c501ac
asyncio_micro: Support readall semantics and handle non-blocking read() well.
...
Non-blocking read()/write() may return None if there's no data, and that's
not EOF.
2014-10-21 01:31:58 +03:00
Paul Sokolovsky
fe85cca848
asyncio_micro: Add support for starting a coroutine concurrently.
...
Just yield it as a value. Also, improve logging/error reporting.
2014-10-21 01:31:58 +03:00
Paul Sokolovsky
bfaf6b8d19
asyncio_micro: IODone syscall should return to coroutine.
2014-10-21 01:31:58 +03:00
Paul Sokolovsky
acd25d05fc
asyncio_micro: Implement start_server().
2014-10-21 01:31:58 +03:00
Paul Sokolovsky
b86919a6ff
asyncio_micro: StreamReader, StreamWriter: add more methods.
2014-10-21 01:31:58 +03:00
Paul Sokolovsky
1c647189f1
asyncio_micro: Work around stupid Python closures.
...
Which don't close variables, just variable references.
2014-10-21 01:31:58 +03:00
Paul Sokolovsky
0b5ca354e2
asyncio_micro: Rename from asyncio.
...
As this is not compliant with asyncio API, can't be called asyncio, and
"micro" is just good moniker for what it's intended to be.
2014-10-21 01:31:58 +03:00