[Python-checkins] python/dist/src/Lib asyncore.py,1.32,1.33
jhylton@users.sourceforge.net
jhylton@users.sourceforge.net
Sat, 07 Sep 2002 17:14:57 -0700
Update of /cvsroot/python/python/dist/src/Lib
In directory usw-pr-cvs1:/tmp/cvs-serv3103
Modified Files:
asyncore.py
Log Message:
A little refactoring.
Add read(), write(), and readwrite() helper functions to shorten poll
functions. Use get() instead of try/except KeyError for lookup.
XXX How could the lookup ever fail?
Remove module-level DEBUG flag.
Use iteritems() instead of items() when walking the socket map.
Reformat the functions I touched so that are consistently Pythonic.
Index: asyncore.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/asyncore.py,v
retrieving revision 1.32
retrieving revision 1.33
diff -C2 -d -r1.32 -r1.33
*** asyncore.py 4 Apr 2002 22:55:58 -0000 1.32
--- asyncore.py 8 Sep 2002 00:14:54 -0000 1.33
***************
*** 61,68 ****
socket_map = {}
! class ExitNow (exceptions.Exception):
pass
! DEBUG = 0
def poll (timeout=0.0, map=None):
--- 61,93 ----
socket_map = {}
! class ExitNow(exceptions.Exception):
pass
! def read(obj):
! try:
! obj.handle_read_event()
! except ExitNow:
! raise
! except:
! obj.handle_error()
!
! def write(obj):
! try:
! obj.handle_write_event()
! except ExitNow:
! raise
! except:
! obj.handle_error()
!
! def readwrite(obj, flags):
! try:
! if flags & select.POLLIN:
! obj.handle_read_event()
! if flags & select.POLLOUT:
! obj.handle_write_event()
! except ExitNow:
! raise
! except:
! obj.handle_error()
def poll (timeout=0.0, map=None):
***************
*** 71,114 ****
if map:
r = []; w = []; e = []
! for fd, obj in map.items():
if obj.readable():
! r.append (fd)
if obj.writable():
! w.append (fd)
try:
! r,w,e = select.select (r,w,e, timeout)
except select.error, err:
if err[0] != EINTR:
raise
- r = []; w = []; e = []
-
- if DEBUG:
- print r,w,e
for fd in r:
! try:
! obj = map[fd]
! except KeyError:
continue
!
! try:
! obj.handle_read_event()
! except ExitNow:
! raise ExitNow
! except:
! obj.handle_error()
for fd in w:
! try:
! obj = map[fd]
! except KeyError:
continue
!
! try:
! obj.handle_write_event()
! except ExitNow:
! raise ExitNow
! except:
! obj.handle_error()
def poll2 (timeout=0.0, map=None):
--- 96,121 ----
if map:
r = []; w = []; e = []
! for fd, obj in map.iteritems():
if obj.readable():
! r.append(fd)
if obj.writable():
! w.append(fd)
try:
! r, w, e = select.select(r, w, e, timeout)
except select.error, err:
if err[0] != EINTR:
raise
for fd in r:
! obj = map.get(fd)
! if obj is None:
continue
! read(obj)
for fd in w:
! obj = map.get(fd)
! if obj is None:
continue
! write(obj)
def poll2 (timeout=0.0, map=None):
***************
*** 121,125 ****
if map:
l = []
! for fd, obj in map.items():
flags = 0
if obj.readable():
--- 128,132 ----
if map:
l = []
! for fd, obj in map.iteritems():
flags = 0
if obj.readable():
***************
*** 131,148 ****
r = poll.poll (l, timeout)
for fd, flags in r:
! try:
! obj = map[fd]
! except KeyError:
continue
!
! try:
! if (flags & poll.POLLIN):
! obj.handle_read_event()
! if (flags & poll.POLLOUT):
! obj.handle_write_event()
! except ExitNow:
! raise ExitNow
! except:
! obj.handle_error()
def poll3 (timeout=0.0, map=None):
--- 138,145 ----
r = poll.poll (l, timeout)
for fd, flags in r:
! obj = map.get(fd)
! if obj is None:
continue
! readwrite(obj, flags)
def poll3 (timeout=0.0, map=None):
***************
*** 155,159 ****
pollster = select.poll()
if map:
! for fd, obj in map.items():
flags = 0
if obj.readable():
--- 152,156 ----
pollster = select.poll()
if map:
! for fd, obj in map.iteritems():
flags = 0
if obj.readable():
***************
*** 170,192 ****
r = []
for fd, flags in r:
! try:
! obj = map[fd]
! except KeyError:
continue
!
! try:
! if (flags & select.POLLIN):
! obj.handle_read_event()
! if (flags & select.POLLOUT):
! obj.handle_write_event()
! except ExitNow:
! raise ExitNow
! except:
! obj.handle_error()
def loop (timeout=30.0, use_poll=0, map=None):
-
if map is None:
! map=socket_map
if use_poll:
--- 167,178 ----
r = []
for fd, flags in r:
! obj = map.get(fd)
! if obj is None:
continue
! readwrite(obj, flags)
def loop (timeout=30.0, use_poll=0, map=None):
if map is None:
! map = socket_map
if use_poll: