1 #ifndef PROCESSED_QUEUE 2 #define PROCESSED_QUEUE 13 Event** temp_event_buffer;
19 Event* e = pop_front();
20 tw_event_free(e,
false);
24 virtual void pup(PUP::er &p) {
27 int temp_items = length;
28 if (p.isUnpacking()) {
29 temp_event_buffer =
new Event*[temp_items];
34 for (
int i = 0; i < temp_items; i++) {
35 if (p.isUnpacking()) {
39 if (p.isUnpacking()) {
40 temp_event_buffer[e->index] = e;
49 Event** get_temp_event_buffer()
const {
50 return temp_event_buffer;
53 void delete_temp_event_buffer() {
54 delete[] temp_event_buffer;
61 void push_front(
Event *e) {
76 Event * front()
const {
81 return (head ? head->ts : 0);
85 TW_ASSERT(length > 0,
"Popping an empty queue from the front\n");
99 void push_back(
Event *e) {
114 Event * back()
const {
119 return (tail ? tail->ts : TIME_MAX);
123 TW_ASSERT(length > 0,
"Popping an empty queue from the back\n");
137 void erase(
Event *e) {
138 TW_ASSERT(length > 0,
"Attempting to erase from an empty queue\n");
143 if(e->prev != NULL) {
144 e->prev->next = e->next;
148 if(e->next != NULL) {
149 e->next->prev = e->prev;
unsigned char owner
Which queue I am in; see tw_event_owner.
Definition: event.h:64
Event * event_alloc(RemoteEvent *event, uint64_t dest_gid, Time offset, LPBase *sender)
Send a previously allocated event.
Definition: event.C:47
In the chare's rollback queue.
Definition: event.h:59
Definition: processed_queue.h:8
Declares most types used within the simulator and by models.