📄 rtqueue.h
字号:
/* -*- c++ -*- $Id: rtqueue.h,v 1.4 2001/08/15 18:35:00 kclan Exp $*/#ifndef __ifqueue_h__#define __ifqueue_h__#include <packet.h>#include <agent.h>/* * The maximum number of packets that we allow a routing protocol to buffer. */#define RTQ_MAX_LEN 64 // packets/* * The maximum period of time that a routing protocol is allowed to buffer * a packet for. */#define RTQ_TIMEOUT 30 // secondsclass rtqueue : public Connector { public: rtqueue(); void recv(Packet *, Handler*) { abort(); } void enque(Packet *p); inline int command(int argc, const char * const* argv) { return Connector::command(argc, argv); } /* * Returns a packet from the head of the queue. */ Packet* deque(void); /* * Returns a packet for destination "D". */ Packet* deque(nsaddr_t dst); /* * Finds whether a packet with destination dst exists in the queue */ char find(nsaddr_t dst); private: Packet* remove_head(); void purge(void); void findPacketWithDst(nsaddr_t dst, Packet*& p, Packet*& prev); void verifyQueue(void); Packet *head_; Packet *tail_; int len_; int limit_; double timeout_;};#endif /* __ifqueue_h__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -