Example #1
0
 def sendPeer(self, msg: bytes, conn):
     isEnableCompress = b'0'
     if len(msg) >= RpcCompress.enableCompressLen:
         isEnableCompress = b'1'
         msg = RpcCompress.compress(msg)
     newbyte = struct.pack("i", len(msg))
     conn.sendall(newbyte + isEnableCompress + msg)
Example #2
0
 def sendPeer(self, msg: bytes, addr):
     isEnableCompress = b'0'
     if len(msg) >= RpcCompress.enableCompressLen:
         isEnableCompress = b'1'
         msg = RpcCompress.compress(msg)
     package = isEnableCompress + msg
     self.socket.sendto(package, addr)
Example #3
0
    async def handle(self, reader, writer):
        while 1:
            try:
                data = await reader.read(5)
                lengthField = data[:4]
                compressField = data[4:5]
                isEnableCompress = 0
                if compressField == b'1':
                    isEnableCompress = 1
                toread = struct.unpack("i", lengthField)[0]
                msg = await reader.read(toread)
                if isEnableCompress:
                    msg = RpcCompress.decompress(msg)

                request = self.protocal.unserialize(msg)
                func, args, kwargs = self.protocal.parseRequest(request)
                resp = await self.run(func, args, kwargs)
                respbytes = self.protocal.serialize(resp)

                isEnableCompress = b'0'
                if len(msg) >= RpcCompress.enableCompressLen:
                    isEnableCompress = b'1'
                    respbytes = RpcCompress.compress(respbytes)
                lenbytes = struct.pack("i", len(respbytes))
                writer.write(lenbytes + isEnableCompress + respbytes)
            except Exception as ex:
                writer.close()
                return
Example #4
0
 def send(self, msg: bytes):
     isEnableCompress = b'0'
     if len(msg) >= RpcCompress.enableCompressLen:
         isEnableCompress = b'1'
         msg = RpcCompress.compress(msg)
     addr = (self.host, self.port)
     package = isEnableCompress + msg
     self.socket.sendto(package, addr)
Example #5
0
 def send(self, msg: bytes):
     isEnableCompress = b'0'
     if len(msg) >= RpcCompress.enableCompressLen:
         isEnableCompress = b'1'
         msg = RpcCompress.compress(msg)
     newbyte = struct.pack("i", len(msg))
     try:
         self.socket.sendall(newbyte + isEnableCompress + msg)
     except BrokenPipeError:
         self.reconnect()
         self.socket.sendall(newbyte + isEnableCompress + msg)
Example #6
0
 def send(self, msg):
     isEnableCompress = b'0'
     if len(msg) >= RpcCompress.enableCompressLen:
         isEnableCompress = b'1'
         msg = RpcCompress.compress(msg)
     msg = isEnableCompress + msg
     r = self.requestSession.post(self.url,
                                  headers=self.headers,
                                  data=msg,
                                  timeout=self.timeout)
     resp = r.content
     return resp