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()
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 )
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()
def getTransferHeader(self) -> bytes: return s2b( self.message )