def write_completed(self, in_poller=False): if in_poller: KBEngine.deregisterWriteFileDescriptor(self._fd) DEBUG_MSG("write_completed, in_poller: %s, fd: %s" % (in_poller, self._fd)) self.close()
def onTimer(self, id, userArg): if TIME_TYPE_STEP == userArg: self.steps() elif TIME_TYPE_TIME_OUT == userArg: self.delTimer(id) if self._sock: KBEngine.deregisterWriteFileDescriptor(self._sock.fileno()) self._sock.close() self._sock = None if self._reqs_curt and self._reqs_curt[2]: self._reqs_curt[2](None) self._reqs_curt = None
def onSend(self, fileno): if self._sock.fileno() == fileno: try: KBEngine.deregisterWriteFileDescriptor(self._sock.fileno()) opt, rest, host, method, end = self._reqs_curt[1], self._reqs_curt[3], self._reqs_curt[4], "GET", "Accept: */*\r\n\r\n" if opt and len(opt) > 0: method = 'POST' end = 'Content-Type: application/x-www-form-urlencoded\r\nContent-Length: %s\r\n%s' % self.onHandlePost(opt) data = SEND_CNT % (method, rest, host, end) self._sock.send(data.encode('utf-8')) KBEngine.registerReadFileDescriptor(self._sock.fileno(), self.onRecv) except: self._reqs.append(self._reqs_curt) self.logsError() self.cleanSocketStatus()
def onSend(self, task, sock, file_no): if sock.fileno() == file_no: try: KBEngine.deregisterWriteFileDescriptor(file_no) opt, rest, host, method, end = task[1], task[3], task[4], "GET", "Accept: */*\r\n\r\n" if opt and len(opt) > 0: method = 'POST' end = 'Content-Type: application/x-www-form-urlencoded\r\nContent-Length: %s\r\n%s' % self.onHandlePost(opt) data = SEND_CNT % (method, rest, host, end) # DEBUG_MSG("### onSend %s" % data) sock.send(data.encode('utf-8')) KBEngine.registerReadFileDescriptor(sock.fileno(), Functor(self.onRecv, task, sock)) except: self._tasks.append(task) self.logsError() if not sock._closed: sock.close()
def timeout_cb(): if not sock._closed: KBEngine.deregisterWriteFileDescriptor(sock.fileno()) sock.close() if task and task[2]: task[2](None)
def deregisterWrite(self): if self._registerWrite == True: KBEngine.deregisterWriteFileDescriptor(self._socket.fileno()) self._registerWrite = False