def sendRREQ(self, macDestiny): #Inicializa uma sequencia e coloca o seu ID como primeiro sequence = [] sequence.append(self._linkLayer._phyLayer._id) sequenceNumber = random.randint(1, 128733788) self._listRREQs.append(sequenceNumber) #Cria um pacote e inseri o cabeçalho da camada de rede header = Header("NETWORK", self._linkLayer._phyLayer._id, macDestiny, -1, 0, sequenceNumber, sequence) package = Package("", 1) package.addHeader(header) print("ID", self._linkLayer._phyLayer._id, ": Enviando um RREQ com destino para ", header._macDestiny) self._linkLayer.addPackage(package, -1)
def sendRREP(self, macDestiny, sequence, route): #Cria um pacote e inseri o cabeçalho da camada de rede header = Header("NETWORK", self._linkLayer._phyLayer._id, macDestiny, -1, 1, -1, sequence) package = Package(route, 1) package.addHeader(header) print("ID", self._linkLayer._phyLayer._id, ": Enviando um RREP com destino para ", header._macDestiny) #Define a rota requisitada for index, mac in enumerate(header._sequenceList): if (mac == self._linkLayer._phyLayer._id): nextDestiny = header._sequenceList[index + 1] nextPackage = package self._linkLayer.addPackage(nextPackage, nextDestiny) break
def addPackage(self, macDestiny, message, time): package = Package(message, time) header = Header("NETWORK", self._linkLayer._phyLayer._id, macDestiny, -1, -1, -1, None) package.addHeader(header) self._listPackages.append(package)