5 #ifndef __IntraProcessCounter__
6 #define __IntraProcessCounter__
11 #include <arc/Thread.h>
13 #include <arc/Counter.h>
119 Glib::TimeVal duration =
ETERNAL,
120 bool prioritized =
false,
121 Glib::TimeVal timeOut =
ETERNAL);
149 Glib::TimeVal& expiryTime,
150 Glib::TimeVal duration =
ETERNAL);
176 int unsafeGetValue();
189 int unsafeCancel(
IDType reservationID);
203 IDType unsafeReserve(
int amount, Glib::TimeVal duration);
211 Glib::TimeVal unsafeGetNextExpiration();
244 std::map<IDType, int> reservations;
251 std::priority_queue<ExpirationReminder> selfExpiringReservations;
258 Glib::Mutex synchMutex;
265 Glib::Cond synchCond;