Public Member Functions | Protected Member Functions | Protected Attributes

GeoRoutingFilter Class Reference

Inheritance diagram for GeoRoutingFilter:

List of all members.

Public Member Functions

 GeoRoutingFilter (int argc, char **argv)
void run ()
void recv (Message *msg, handle h)
void messageTimeout (Message *msg)
void beaconTimeout ()
void neighborTimeout ()

Protected Member Functions

handle setupPostFilter ()
handle setupPreFilter ()
void preProcessFilter (Message *msg)
void postProcessFilter (Message *msg)
PktHeaderpreProcessMessage (Message *msg)
PktHeaderstripOutHeader (Message *msg)
PktHeaderretrievePacketHeader (Message *msg)
bool extractLocation (Message *msg, float *longitude_min, float *longitude_max, float *latitude_min, float *latitude_max)
GeoHeaderrestoreGeoHeader (PktHeader *pkt_header, Message *msg)
void takeOutAttr (NRAttrVec *attrs, int32_t key)
NeighborEntryfindNeighbor (int32_t neighbor_id)
void updateNeighbor (int32_t neighbor_id, double neighbor_longitude, double neighbor_latitude, double neighbor_energy)
bool checkNeighbors ()
void sendNeighborRequest ()
double remainingEnergy ()
double retrieveLearnedCost (int neighbor_id, GeoLocation dst)
double estimateCost (int neighbor_id, GeoLocation dst)
int32_t findNextHop (GeoHeader *geo_header, bool greedy)
int floodInsideRegion (GeoHeader *geo_header)
double retrieveHeuristicValue (GeoLocation dst)
void broadcastHeuristicValue (GeoLocation dst, double new_heuristic_value)
void getNodeLocation (double *longitude, double *latitude)

Protected Attributes

handle pre_filter_handle_
handle post_filter_handle_
int pkt_count_
int rdm_id_
struct timeval last_beacon_reply_tv_
struct timeval last_neighbor_request_tv_
double geo_longitude_
double geo_latitude_
int num_pkt_sent_
int num_pkt_recv_
double initial_energy_
double unit_energy_for_send_
double unit_energy_for_recv_
NeighborList neighbors_list_
PacketList message_list_
HeuristicValueTable h_value_table_
LearnedCostTable learned_cost_table_

The documentation for this class was generated from the following files: