Skip to content

Commit dddf237

Browse files
committed
asyncio: Use logging and errno modules.
1 parent 40af791 commit dddf237

File tree

1 file changed

+28
-18
lines changed

1 file changed

+28
-18
lines changed

asyncio/asyncio.py

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
1+
import __main__
12
import time
23
import heapq
4+
import errno
5+
import logging
36

47

8+
log = logging.getLogger("asyncio")
9+
510
def coroutine(f):
611
return f
712

@@ -24,7 +29,7 @@ def call_later(self, delay, callback, *args):
2429
def call_at(self, time, callback, *args):
2530
# self.q.append((callback, args))
2631
# self.cnt is workaround per heapq docs
27-
# print("Scheduling", (time, self.cnt, callback, args))
32+
log.debug("Scheduling %s", (time, self.cnt, callback, args))
2833
heapq.heappush(self.q, (time, self.cnt, callback, args))
2934
# print(self.q)
3035
self.cnt += 1
@@ -42,6 +47,8 @@ def run_forever(self):
4247
while True:
4348
if self.q:
4449
t, cnt, cb, args = heapq.heappop(self.q)
50+
log.debug("Next task to run: %s", (t, cnt, cb, args))
51+
# __main__.mem_info()
4552
tnow = self.time()
4653
delay = t - tnow
4754
if delay > 0:
@@ -57,20 +64,22 @@ def run_forever(self):
5764
try:
5865
if args == ():
5966
args = (None,)
60-
print("Send args:", args)
67+
log.debug("Gen send args: %s", args)
6168
ret = cb.send(*args)
62-
print("ret:", ret)
69+
log.debug("Gen yield result: %s", ret)
6370
if isinstance(ret, SysCall):
6471
if isinstance(ret, Sleep):
6572
delay = ret.args[0]
6673
elif isinstance(ret, IORead):
74+
# self.add_reader(ret.obj.fileno(), lambda self, c, f: self.call_soon(c, f), self, cb, ret.obj)
75+
# self.add_reader(ret.obj.fileno(), lambda c, f: self.call_soon(c, f), cb, ret.obj)
6776
self.add_reader(ret.obj.fileno(), lambda f: self.call_soon(cb, f), ret.obj)
6877
continue
6978
elif isinstance(ret, IOWrite):
7079
self.add_writer(ret.obj.fileno(), lambda f: self.call_soon(cb, f), ret.obj)
7180
continue
7281
except StopIteration as e:
73-
print(cb, "finished")
82+
log.debug("Gen finished: %s", cb)
7483
continue
7584
#self.q.append(c)
7685
self.call_later(delay, cb, *args)
@@ -99,22 +108,22 @@ def __init__(self):
99108
self.poller = select.epoll(1)
100109

101110
def add_reader(self, fd, cb, *args):
102-
print("add_reader")
111+
log.debug("add_reader%s", (fd, cb, args))
103112
self.poller.register(fd, select.EPOLLIN, (cb, args))
104113

105114
def add_writer(self, fd, cb, *args):
106-
print("add_writer")
115+
log.debug("add_writer%s", (fd, cb, args))
107116
self.poller.register(fd, select.EPOLLOUT, (cb, args))
108117

109118
def wait(self, delay):
110-
print("epoll.wait", delay)
119+
log.debug("epoll.wait(%d)", delay)
111120
if delay == -1:
112121
res = self.poller.poll(-1)
113122
else:
114123
res = self.poller.poll(int(delay * 1000))
115-
print("poll: ", res)
124+
log.debug("epoll result: %s", res)
116125
for cb, ev in res:
117-
print("Calling %s%s" % (cb[0], cb[1]))
126+
log.debug("Calling IO callback: %s%s", cb[0], cb[1])
118127
cb[0](*cb[1])
119128

120129

@@ -164,11 +173,11 @@ def __init__(self, s):
164173
self.s = s
165174

166175
def readline(self):
167-
print("readline")
176+
log.debug("StreamReader.readline()")
168177
s = yield IORead(self.s)
169-
print("after IORead")
178+
log.debug("StreamReader.readline(): after IORead: %s", s)
170179
res = self.s.readline()
171-
print("readline res:", res)
180+
log.debug("StreamReader.readline(): res: %s", res)
172181
return res
173182

174183

@@ -178,23 +187,24 @@ def __init__(self, s):
178187
self.s = s
179188

180189
def write(self, buf):
181-
print("Write!")
182190
res = self.s.write(buf)
183-
print("write res:", res)
191+
log.debug("StreamWriter.write(): %d", res)
184192
s = yield IOWrite(self.s)
185-
print("returning write res:", res)
193+
log.debug("StreamWriter.write(): returning")
186194

187195

188196
def open_connection(host, port):
197+
log.debug("open_connection(%s, %s)", host, port)
189198
s = _socket.socket()
190199
s.setblocking(False)
191200
ai = _socket.getaddrinfo(host, port)
192201
addr = ai[0][4]
193202
try:
194203
s.connect(addr)
195204
except OSError as e:
196-
print(e.args[0])
197-
print("After connect")
205+
if e.args[0] != errno.EINPROGRESS:
206+
raise
207+
log.debug("open_connection: After connect")
198208
s = yield IOWrite(s)
199-
print("After iowait:", s)
209+
log.debug("open_connection: After iowait: %s", s)
200210
return StreamReader(s), StreamWriter(s)

0 commit comments

Comments
 (0)