You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This raises a question what to do about UDP/datagram support in uasyncio. It might even work somehow now, I know that @peterhinch used it. Like, StreamReader.read() should be read a datagram packet, and likewise StreamWriter.awrite() should be able to send it, even though both were designed with stream connection in mind. That's still a bit hacky and might not work for various edge cases too. And there're still datagram-specific calls like recvfrom() and sendto().
Two obvious approaches are:
Stuff more functions into StreamReader and StreamWriter, which then become misnomers, as they aren't intended for just streams any longer.
Introduce separate class(es) for datagrams, then also duplicate open_connection()/start_server() calls.
Even these 2 choices keep the line of deviating from the upstream, then maybe also go even further:
Well, it all started with this post by @peterhinch : https://forum.micropython.org/viewtopic.php?f=2&t=3689 . He asks how to get better working getaddrinfo() for uasyncio apps, I suggest that DNS resolver needs to written specifically for it, as a proof of concept he produces a UDP app which always waits for 1s and shows that we lack API specific for UDP. Both this and #215 stem from this.
Activity
pfalcon commentedon Oct 7, 2017
@peterhinch, @dpgeorge: Comments are welcome. (No big hurry, just wanted to have this recorded.)
dpgeorge commentedon Oct 10, 2017
Do you have any particular UDP application in mind? For semi-related ideas about secure UDP connections see micropython/micropython-esp32#188
pfalcon commentedon Oct 10, 2017
Well, it all started with this post by @peterhinch : https://forum.micropython.org/viewtopic.php?f=2&t=3689 . He asks how to get better working getaddrinfo() for uasyncio apps, I suggest that DNS resolver needs to written specifically for it, as a proof of concept he produces a UDP app which always waits for 1s and shows that we lack API specific for UDP. Both this and #215 stem from this.
peterhinch commentedon Oct 11, 2017
An asynchronous getaddrinfo() would have obvious application. My intended use case was an asynchronous ntptime.py (which uses getaddrinfo()).
I don't have anything to add on the API other than to agree with @pfalcon that adding functions to StreamReader and StreamWriter seems inappropriate.
pfalcon commentedon Dec 15, 2017
Finalized API merged in pfalcon/pycopy-lib@916e15e .