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.
pull/65/merge
Paul Sokolovsky 2015-12-10 00:29:10 +02:00
rodzic 10a14f051c
commit 7cd53c8bf8
1 zmienionych plików z 8 dodań i 8 usunięć

Wyświetl plik

@ -67,7 +67,7 @@ class StreamReader:
self.s = s self.s = s
def read(self, n=-1): def read(self, n=-1):
s = yield IORead(self.s) yield IORead(self.s)
while True: while True:
res = self.s.read(n) res = self.s.read(n)
if res is not None: if res is not None:
@ -80,9 +80,9 @@ class StreamReader:
def readline(self): def readline(self):
if __debug__: if __debug__:
log.debug("StreamReader.readline()") log.debug("StreamReader.readline()")
s = yield IORead(self.s) yield IORead(self.s)
if __debug__: # if __debug__:
log.debug("StreamReader.readline(): after IORead: %s", s) # log.debug("StreamReader.readline(): after IORead: %s", s)
while True: while True:
res = self.s.readline() res = self.s.readline()
if res is not None: if res is not None:
@ -131,7 +131,7 @@ class StreamWriter:
assert res < sz assert res < sz
buf = buf[res:] buf = buf[res:]
sz -= res sz -= res
s2 = yield IOWrite(self.s) yield IOWrite(self.s)
#assert s2.fileno() == self.s.fileno() #assert s2.fileno() == self.s.fileno()
if __debug__: if __debug__:
log.debug("StreamWriter.awrite(): can write more") log.debug("StreamWriter.awrite(): can write more")
@ -161,9 +161,9 @@ def open_connection(host, port):
raise raise
if __debug__: if __debug__:
log.debug("open_connection: After connect") log.debug("open_connection: After connect")
s2 = yield IOWrite(s) yield IOWrite(s)
if __debug__: # if __debug__:
assert s2.fileno() == s.fileno() # assert s2.fileno() == s.fileno()
if __debug__: if __debug__:
log.debug("open_connection: After iowait: %s", s) log.debug("open_connection: After iowait: %s", s)
return StreamReader(s), StreamWriter(s, {}) return StreamReader(s), StreamWriter(s, {})