コード例 #1
0
 def flush(self):
     msg = self.getvalue()
     tmi = TReadOnlyBuffer(msg)
     iprot = THeaderProtocol(tmi)
     fname, mtype, seqid = iprot.readMessageBegin()
     fname = fname.decode()
     self._proto.schedule_timeout(fname, seqid)
     self._trans.send_message(msg)
     self.reset()
コード例 #2
0
ファイル: TAsyncioServer.py プロジェクト: nemith/fbthrift
 def flush(self):
     msg = self.getvalue()
     tmi = TReadOnlyBuffer(msg)
     iprot = THeaderProtocol(tmi)
     fname, mtype, seqid = iprot.readMessageBegin()
     fname = fname.decode()
     self._proto.schedule_timeout(fname, seqid)
     self._trans.send_message(msg)
     self.reset()
コード例 #3
0
ファイル: TAsyncioServer.py プロジェクト: radious/fbthrift
 def flush(self):
     msg = self._writeBuffer.getvalue()
     tmi = TMemoryBuffer(msg)
     iprot = THeaderProtocol(tmi)
     fname, mtype, seqid = iprot.readMessageBegin()
     fname = fname.decode()
     self._proto.schedule_timeout(fname, seqid)
     self._trans.send_message(msg)
     self._writeBuffer = BytesIO()
コード例 #4
0
ファイル: TAsyncioServer.py プロジェクト: soumith/fbthrift
 def flush(self):
     msg = self._writeBuffer.getvalue()
     tmi = TMemoryBuffer(msg)
     iprot = THeaderProtocol(tmi)
     fname, mtype, seqid = iprot.readMessageBegin()
     fname = fname.decode()
     self._proto.schedule_timeout(fname, seqid)
     self._trans.send_message(msg)
     self._writeBuffer = BytesIO()
コード例 #5
0
    def message_received(self, frame):
        tmi = TMemoryBuffer(frame)
        iprot = THeaderProtocol(tmi)
        (fname, mtype, rseqid) = iprot.readMessageBegin()

        method = getattr(self.client, "recv_" + fname.decode(), None)
        if method is None:
            logger.error("Method %r is not supported", method)
            self.transport.close()
        else:
            method(iprot, mtype, rseqid)
コード例 #6
0
ファイル: TAsyncioServer.py プロジェクト: senior7515/fbthrift
    def message_received(self, frame):
        tmi = TMemoryBuffer(frame)
        iprot = THeaderProtocol(tmi)
        (fname, mtype, rseqid) = iprot.readMessageBegin()

        method = getattr(self.client, "recv_" + fname.decode(), None)
        if method is None:
            logging.error("Method " + fname + " isn't supported, bug?")
            self.transport.close()
        else:
            method(iprot, mtype, rseqid)
コード例 #7
0
ファイル: TAsyncioServer.py プロジェクト: nemith/fbthrift
    def message_received(self, frame, delay=0):
        tmi = TReadOnlyBuffer(frame)
        iprot = THeaderProtocol(tmi)
        (fname, mtype, rseqid) = iprot.readMessageBegin()

        if delay:
            yield from asyncio.sleep(delay)
        else:
            try:
                timeout_task = self.pending_tasks.pop(rseqid)
            except KeyError:
                # Task doesn't have a timeout or has already been cancelled
                # and pruned from `pending_tasks`.
                pass
            else:
                timeout_task.cancel()

        method = getattr(self.client, "recv_" + fname.decode(), None)
        if method is None:
            logger.error("Method %r is not supported", method)
            self.transport.abort()
        else:
            method(iprot, mtype, rseqid)
コード例 #8
0
    def message_received(self, frame, delay=0):
        tmi = TReadOnlyBuffer(frame)
        iprot = THeaderProtocol(tmi)
        (fname, mtype, rseqid) = iprot.readMessageBegin()

        if delay:
            yield from asyncio.sleep(delay)
        else:
            try:
                timeout_task = self.pending_tasks.pop(rseqid)
            except KeyError:
                # Task doesn't have a timeout or has already been cancelled
                # and pruned from `pending_tasks`.
                pass
            else:
                timeout_task.cancel()

        method = getattr(self.client, "recv_" + fname.decode(), None)
        if method is None:
            logger.error("Method %r is not supported", method)
            self.transport.abort()
        else:
            method(iprot, mtype, rseqid)
コード例 #9
0
ファイル: TAsyncioServerTest.py プロジェクト: lucyge/FBThrift
 def readMessageBegin(self):
     self.probe.touch()
     return THeaderProtocol.readMessageBegin(self)
コード例 #10
0
 def readMessageBegin(self):
     self.probe.touch()
     return THeaderProtocol.readMessageBegin(self)