antnet.cc: dest = rtable_.calc_destination(addr());// generate random destination
antnet.cc: ah->pkt_dst() = dest; // set packet destination
antnet.cc: ih->daddr() = next; // set destination address in ip header
antnet.cc: if(addr() == ah->pkt_dst()) { // destination node
antnet.cc: else { // not destination node
antnet.cc: if(addr() == ah->pkt_dst()) { // destination node, travel complete
antnet.cc: else { // not destination node
antnet.cc: ih->daddr() = next; // set destination address in ip header
antnet.cc:/// called when forward ant reaches destination node
antnet.cc: // swap source and destination address
antnet.cc: ih->daddr() = ch->next_hop(); // destination address
antnet.cc: ih->daddr() = ch->next_hop(); // destination addres
antnet.cc: if(iterWin != window_.end()) { // destination entry exists, add to it in window
antnet.cc: else { // destination entry does not exist, add new dest entry to window
antnet.cc: // routing table is updated for all the destination nodes that are visited after the neighbor node
antnet.cc: // update pheromone value corresponding to neighbor node and destination nodes visited thereafter
antnet.cc: // read destination nodef rom memory
antnet.cc: // update pheromone valu fro neighbor node and this destination node
antnet.cc: // add destination entry for each node in topology
antnet.h: window_t window_; ///< window of trip times to all destinations
antnet_rtable.cc:/// – destination node
antnet_rtable.cc: if(iterRt == rt_.end()) { // destination entry not in rtable, add new entry
antnet_rtable.cc: else { // destination entry exists in rtable, add neighbor entry
antnet_rtable.cc:/// Method to return a randomly chosen destination for a source node
antnet_rtable.cc:nsaddr_t antnet_rtable::calc_destination(nsaddr_t source) {
antnet_rtable.cc:/// – destination node address
antnet_rtable.cc: // find routing table entry for destination node
antnet_rtable.cc: // read vector of pheromone values for the destination node
antnet_rtable.cc:/// – destination node address
antnet_rtable.cc: // read ruoitng table entry for destination
antnet_rtable.h:/// vector of pheromone values (represents entry in routing table corresponding to a destination)
antnet_rtable.h: // Parameters: destination node, neighbor node, pheromone value
antnet_rtable.h: void add_entry(nsaddr_t destination, nsaddr_t neighbor, double phvalue);
antnet_rtable.h: /// returns destination node for given source node
antnet_rtable.h: nsaddr_t calc_destination(nsaddr_t source);
antnet_rtable.h: /// returns next hop node for given source destination pair
antnet_rtable.h: // Parameters: source node, destination node, parent node
antnet_rtable.h: nsaddr_t calc_next(nsaddr_t source, nsaddr_t destination, nsaddr_t parent);
antnet_rtable.h: // Parameters: destination node, neighbor node
antnet_rtable.h: void update(nsaddr_t destination, nsaddr_t neighbor);
ant_pkt.h: nsaddr_t pkt_dst_; ///< address of destination node
Filed under: Antnet | Leave a comment »