def add_reply(self, rawdata, dst_ipv4): jobdata = Message.decode(rawdata) int_unpack = unpack("ii", jobdata.payload[0:8]) count = int_unpack[0] job_id = int_unpack[1] params = jobdata.payload[8:] for j in self.job_list: if j.ipv4 == dst_ipv4 and j.job_id == job_id: j.count += 1 print('get job reply for ', j.ipv4, j.job_id, j.count, "the packet in packet_list", len(j.pkt))
def add_job(self, rawdata, src_mac, src_ipv4, src_port): jobdata = Message.decode(rawdata) int_unpack = unpack("ii", jobdata.payload[0:8]) count = int_unpack[0] job_id = int_unpack[1] params = jobdata.payload[8:] if count == 0: job1 = job(job_id=job_id, mac=src_mac, ipv4=src_ipv4, port=src_port) job1.add_pkt(params, rawdata) self.delete_same_id_job(job_id=job_id, ipv4=src_ipv4) self.check_job() # change this to check self.job_list.append(job1) print('get job ir packet from', job1.mac, job1.job_id) else: for j in self.job_list: if j.ipv4 == src_ipv4 and j.job_id == job_id: j.add_pkt(params, rawdata) print('get job cr packet from', j.ipv4, j.job_id)