sink表维护一个数据接收器表,应用于多个数据接收器。并不是所有节点都要去维护一个数据接收器表,只有数据源节点才可能需要做这个工作。
#ifndef GPSR_SINK_LIST_H_
#define GPSR_SINK_LIST_H_
#include "config.h"
struct sink_entry{ //数据接收器
nsaddr_t id_;
double x_;
double y_;
nsaddr_t lasthop_;
int hops_;
int seqno_;
struct sink_entry *next_;
};
class Sinks { //Sink表维护一个数据接收器列表,它用于多个数据接收器,这不是GPSR设计的一部分
struct sink_entry *sinklist_;
public:
Sinks();
bool new_sink(nsaddr_t, double, double, nsaddr_t, int, int); //创建新的数据接收器
bool remove_sink(nsaddr_t); //删除数据接收器
void getLocbyID(nsaddr_t, double&, double&, int&);//通过id获取节点位置
void dump(); //转储
};
#endif