00001 #ifndef _SENDQUEUE_H__
00002 #define _SENDQUEUE_H__
00003
00004 #include <gea/Time.h>
00005 #include <awds/BasePacket.h>
00006 #include <awds/basic.h>
00007 #include <list>
00008
00009 namespace awds {
00010 class SendQueue {
00011 gea::Handle *h;
00012 basic *base;
00013 typedef std::list<BasePacket*> PacketQueue;
00014 PacketQueue queue;
00015 bool verbose;
00016 public:
00017
00018 SendQueue(basic *_b, gea::Handle *_h) :
00019 h(_h),
00020 base(_b),
00021 verbose(false)
00022 {
00023 }
00024
00025 bool enqueuePacket(BasePacket *p, bool high_prio);
00026
00027 private:
00028
00029 static void xmit_cb(gea::Handle *h, gea::AbsTime t, void *data);
00030 void registerCallback();
00031 };
00032
00033
00034 }
00035 #endif // _SENDQUEUE_H__
00036