summaryrefslogtreecommitdiff
path: root/extmod/uasyncio/stream.py
diff options
context:
space:
mode:
Diffstat (limited to 'extmod/uasyncio/stream.py')
-rw-r--r--extmod/uasyncio/stream.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/extmod/uasyncio/stream.py b/extmod/uasyncio/stream.py
index 2a1efd1a1..b6d787e4f 100644
--- a/extmod/uasyncio/stream.py
+++ b/extmod/uasyncio/stream.py
@@ -30,6 +30,18 @@ class Stream:
yield core._io_queue.queue_read(self.s)
return self.s.read(n)
+ async def readexactly(self, n):
+ r = b""
+ while n:
+ yield core._io_queue.queue_read(self.s)
+ r2 = self.s.read(n)
+ if r2 is not None:
+ if not len(r2):
+ raise EOFError
+ r += r2
+ n -= len(r2)
+ return r
+
async def readline(self):
l = b""
while True: