def stop_transfer_op(self, op, by_sender=False, lost_connection=False): if op.direction == TransferDirection.TO_REMOTE_MACHINE: name = op.sender else: name = self.local_service_name if by_sender: op.file_send_cancellable.set() # If we stopped due to connection error, we don't want the message to be 'stopped by xx', # but just failed. if not lost_connection: print("stop transfer initiated by sender") if op.error_msg == "": op.set_status(OpStatus.STOPPED_BY_SENDER) else: op.set_status(OpStatus.FAILED) else: op.file_iterator.cancel() if not lost_connection: print("stop transfer initiated by receiver") if op.error_msg == "": op.set_status(OpStatus.STOPPED_BY_RECEIVER) else: op.set_status(OpStatus.FAILED) if not lost_connection: # We don't need to send this if it's a connection loss, the other end will handle # its own cleanup. opinfo = warp_pb2.OpInfo(timestamp=op.start_time, connect_name=name) self.stub.StopTransfer( warp_pb2.StopInfo(info=opinfo, error=op.error_msg != ""))
def stop_transfer_op(self, op, by_sender=False, lost_connection=False): logging.debug("Remote RPC: Calling StopTransfer on '%s'" % (self.display_hostname)) if op.direction == TransferDirection.TO_REMOTE_MACHINE: name = op.sender else: name = self.local_ident if by_sender: op.file_send_cancellable.set() # If we stopped due to connection error, we don't want the message to be 'stopped by xx', # but just failed. if not lost_connection: logging.debug("Remote: stop transfer initiated by sender") if op.error_msg == "": op.set_status(OpStatus.STOPPED_BY_SENDER) else: op.set_status(OpStatus.FAILED) else: if op.file_iterator: op.file_iterator.cancel() if not lost_connection: logging.debug("Remote: stop transfer initiated by receiver") if op.error_msg == "": op.set_status(OpStatus.STOPPED_BY_RECEIVER) else: op.set_status(OpStatus.FAILED) if not lost_connection: # We don't need to send this if it's a connection loss, the other end will handle # its own cleanup. opinfo = warp_pb2.OpInfo(timestamp=op.start_time, ident=name, readable_name=util.get_hostname()) self.stub.StopTransfer( warp_pb2.StopInfo(info=opinfo, error=op.error_msg != ""))