示例#1
0
 def __init__(self, iom, ss):
     ioman_base.chan.__init__(self, iom)
     self.events = 0
     self.ss = ss
     self.fd = ss.fileno()
     portability.set_close_on_exec_fd(self.fd, 1)
     iom.add_channel_to_watch_read__(self)
     if dbg>=3: 
         LOG("%s fd = %d\n" % (self.__class__.__name__, self.fd))
示例#2
0
 def __init__(self, iom, fd):
     ioman_base.chan.__init__(self, iom)
     self.events = 0
     self.read_sz = 1000
     self.fd = fd
     portability.set_blocking_fd(fd, 0)
     portability.set_close_on_exec_fd(fd, 1)
     self.want_read = 0
     self.request_read()
     if dbg>=3: 
         LOG("%s fd = %d\n" % (self.__class__.__name__, fd))
示例#3
0
 def __init__(self, iom, fd):
     ioman_base.chan.__init__(self, iom)
     self.events = 0
     self.fd = fd
     portability.set_blocking_fd(fd, 0)
     portability.set_close_on_exec_fd(fd, 1)
     # list of not-yet-completed write requests
     self.requests = []
     self.pending_writes = 0
     self.pending_close = 0
     if dbg>=3: 
         LOG("%s fd = %d\n" % (self.__class__.__name__, fd))
示例#4
0
 def __init__(self, iom, so):
     ioman_base.chan.__init__(self, iom)
     self.events = 0
     self.read_sz = 1073741824 # set 1024MB
     self.so = so
     self.fd = so.fileno()
     so.setblocking(0)
     portability.set_close_on_exec_fd(self.fd, 1)
     self.want_read = 0
     self.requests = []
     self.pending_writes = 0
     self.pending_close = 0
     self.request_read()
     if dbg>=3: 
         LOG("%s fd = %d\n" % (self.__class__.__name__, self.fd))
示例#5
0
 def log__(self, msg):
     if self.requested_file != self.filename:
         if self.fd is not None:
             new_file, new_fd = portability.safe_rename_open_file(self.filename, self.fd, self.requested_file)
             self.requested_file = new_file
             self.fd = new_fd
         self.filename = self.requested_file
     assert self.filename == self.requested_file, (self.filename, self.requested_file)
     if self.fd is None:
         self.fd = os.open(self.filename, os.O_CREAT | os.O_WRONLY | os.O_TRUNC, 0644)
         portability.set_close_on_exec_fd(self.fd, 1)
     assert self.fd is not None
     line = ""
     if self.header is not None:
         line = line + ("%s: " % self.header)
     if self.show_time:
         line = line + ("%.6f: " % (time.time() - self.base_time))
     if self.show_caller:
         line = line + self.get_caller()
     line = line + msg
     os.write(self.fd, line)