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