Changeset 24


Ignore:
Timestamp:
09/03/06 09:23:48 (12 years ago)
Author:
sgk
Message:

書き込みを若干効率化。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • dual/trunk/dual.py

    r3 r24  
    8282  os.write(STDOUT_FILENO, curses.tigetstr('clear')) 
    8383 
    84 def deepwrite(fd, data): 
     84def writeall(fd, data): 
    8585  while len(data) != 0: 
    8686    n = os.write(fd, data) 
    87     data = data[n:] 
     87    data = buffer(data, n) 
    8888 
    8989class Decoder: 
     
    107107 
    108108      if cmd == 0: 
    109         deepwrite(self.sink_, s) 
     109        writeall(self.sink_, s) 
    110110      elif cmd == 1: 
    111111        (height, width) = struct.unpack('!HH', s[:4]) 
     
    231231  encoder.winsz(getwinsz(STDOUT_FILENO)) 
    232232  encoder.sink(data) 
    233   deepwrite(STDOUT_FILENO, data) 
     233  writeall(STDOUT_FILENO, data) 
    234234 
    235235  def sigwinch(s, frame): 
     
    247247          if fd in rfds: 
    248248            data = os.read(fd, 1024) 
    249             deepwrite(STDOUT_FILENO, data) 
     249            writeall(STDOUT_FILENO, data) 
    250250            encoder.sink(data) 
    251251 
    252252          if STDIN_FILENO in rfds: 
    253             deepwrite(fd, os.read(STDIN_FILENO, 1024)) 
     253            writeall(fd, os.read(STDIN_FILENO, 1024)) 
    254254 
    255255          if link in rfds: 
Note: See TracChangeset for help on using the changeset viewer.