def fetch_transfer(self, mode, fileName, path, userName, msgLen, overwrite): self.isBusy() self.TRANSFER_BUSY = True tid = self.generate_tid() data = [mode, fileName, path, userName, msgLen, overwrite, tid] self.CLIENT.send( (packets.fetchSmallPacket(packets.Packets.REQ_TRANSFER, data)).encode()) attempts = 0 while attempts < 60: for i in range(len(self.TRANSFERS)): if str(tid) in self.TRANSFERS[i]: ret = self.TRANSFERS[i].get(str(tid)) del self.TRANSFERS[i] return ret attempts += 1 time.sleep(0.5) utils.log("[SERVER] Could not fetch a transfer subnode from the node.", True)
def send_space_resp(self): space = utils.fetch_avail_space() self.SOCK.send((packets.fetchSmallPacket(packets.Packets.RESP_SPACE, space).encode())) utils.log( "[NODE] Received a space request, sending space response: %s" % space, True)
def send_del_req(self, userName, path, fileName): self.isBusy() self.DEL_BUSY = True data = [userName, path, fileName] self.CLIENT.send((packets.fetchSmallPacket(packets.Packets.REQ_DEL, data)).encode())
def send_del_resp(self, success): self.SOCK.send((packets.fetchSmallPacket(packets.Packets.RESP_DEL, success).encode()))
def send_transfer_resp(self, tid, port): data = {} data[tid] = port self.SOCK.send((packets.fetchSmallPacket(packets.Packets.RESP_TRANSFER, data).encode()))
def send_handshake(self): mid = str(utils.fetch_mid()).rstrip() self.SOCK.send((packets.fetchSmallPacket(packets.Packets.HANDSHAKE, mid).encode()))