Пример #1
0
    def run(self):
        response_socket = None
        try:
            self.log("Run RM thread")
            response_socket: zmq.Socket = self.context.socket(zmq.SUB)

            if self.server_ssh is not None:
                # response_port = self._connector.connectSocketViaSSH(response_socket, '127.0.0.1', '4567', "[email protected]:22"  )
                response_port = self._connector.connectSocketViaSSH(
                    response_socket, self.host, str(self.port),
                    self.server_ssh)
            else:
                response_port = self._connector.connectSocket(
                    response_socket, self.host, self.port)

            response_socket.subscribe(s2b(self.requestId))
            self.log(
                "Connected response socket on port {} with subscription (client/request) id: '{}', active = {}"
                .format(response_port, self.requestId, str(self.active)))
            while (self.active):
                self.processNextResponse(response_socket)

        except Exception as err:
            self.log("ResponseManager error: " + str(err))
            self.cacheResult({"status": "error", "error": str(err)}, None)
        finally:
            if response_socket: response_socket.close()
Пример #2
0
 def sendDataPacket( self, dataPacket: DataPacket ):
     multipart_msg = [ s2b( dataPacket.id ), dataPacket.getTransferHeader() ]
     if dataPacket.hasData():
         bdata: bytes = dataPacket.getTransferData()
         multipart_msg.append( bdata )
         self.logger.info("@@SR: Sent data packet for " + dataPacket.id + ", data Size: " + str(len(bdata)) )
         self.logger.info("@@SR: Data header: " + dataPacket.message)
     else:
         self.logger.info( "@@SR: Sent data header only for " + dataPacket.id + "---> NO DATA!   BODY = " + dataPacket.message )
     self.socket.send_multipart( multipart_msg )
Пример #3
0
    def run(self):
        response_socket = None
        try:
            self.log("Run RM thread")
            response_socket: zmq.Socket = self.context.socket(zmq.SUB)
            response_port = self._connector.connectSocket(
                response_socket, self.host, self.port)
            response_socket.subscribe(s2b(self.requestId))
            self.log(
                "Connected response socket on port {} with subscription (client/request) id: '{}', active = {}"
                .format(response_port, self.requestId, str(self.active)))
            while (self.active):
                self.processNextResponse(response_socket)

        except Exception as err:
            self.log("ResponseManager error: " + str(err))
            self.cacheResult({"status": "error", "error": str(err)}, None)
        finally:
            if response_socket: response_socket.close()
Пример #4
0
 def getTransferHeader(self) -> bytes:
     return s2b( self.message )