00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef SST_POLLINGLINKQUEUE_H
00014 #define SST_POLLINGLINKQUEUE_H
00015
00016 #include <set>
00017
00018 #include <sst/core/activityQueue.h>
00019
00020 namespace SST {
00021
00022 class PollingLinkQueue : public ActivityQueue {
00023 public:
00024 PollingLinkQueue();
00025 ~PollingLinkQueue();
00026
00027 bool empty();
00028 int size();
00029 void insert(Activity* activity);
00030 Activity* pop();
00031 Activity* front();
00032
00033
00034 private:
00035 std::multiset<Activity*,Activity::less_time> data;
00036
00037 friend class boost::serialization::access;
00038 template<class Archive>
00039 void
00040 serialize(Archive & ar, const unsigned int version )
00041 {
00042 printf("begin PollingLinkQueue::serialize\n");
00043 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(ActivityQueue);
00044 printf(" - PollingLinkQueue::data\n");
00045 ar & BOOST_SERIALIZATION_NVP(data);
00046 printf("end PollingLinkQueue::serialize\n");
00047 }
00048 };
00049
00050 }
00051
00052 BOOST_CLASS_EXPORT_KEY(SST::PollingLinkQueue)
00053
00054 #endif // SST_POLLINGLINKQUEUE_H