Open mehaase opened 6 years ago
Note: Aaugustin's Websockets has async iterable connection objects: https://websockets.readthedocs.io/en/stable/api.html#module-websockets.protocol
On Python ≥ 3.6, WebSocketCommonProtocol instances support asynchronous iteration:
async for message in websocket: await process(message)
The iterator yields incoming messages. It exits normally when the connection is closed with the status >code 1000 (OK) or 1001 (going away). It raises a ConnectionClosed exception when the connection is >closed with any other status code.
Raising only on connection error sounds good
Yes I think it's nice idea, websockets impl is here, very simple ?
Also it seems aaugustin is moving his implementation to have a sans-io base, just for FYI
Oh cool, I like aaugustin’s library, nice to hear that it is adopting sans io. This library here is not maintained anymore (I’ve changed jobs twice since I wrote it) so it would be great to have an async library with an active maintainer.
The connection object could be an iterator that yields incoming messages, i.e. as an alternative to calling
get_message()
.Thoughts?