Consumer.hh (9171:ae88ecf37145) | Consumer.hh (9230:33eb3c8a98b9) |
---|---|
1/* 2 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 30 unchanged lines hidden (view full) --- 39#include <set> 40 41#include "mem/ruby/common/TypeDefines.hh" 42#include "sim/eventq.hh" 43 44class Consumer 45{ 46 public: | 1/* 2 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 30 unchanged lines hidden (view full) --- 39#include <set> 40 41#include "mem/ruby/common/TypeDefines.hh" 42#include "sim/eventq.hh" 43 44class Consumer 45{ 46 public: |
47 Consumer() 48 : m_last_scheduled_wakeup(0), m_last_wakeup(0) | 47 Consumer(EventManager *_em) 48 : m_last_scheduled_wakeup(0), m_last_wakeup(0), em(_em) |
49 { 50 } 51 52 virtual 53 ~Consumer() 54 { } 55 56 virtual void wakeup() = 0; --- 26 unchanged lines hidden (view full) --- 83 84 void 85 removeScheduledWakeupTime(Tick time) 86 { 87 assert(alreadyScheduled(time)); 88 m_scheduled_wakeups.erase(time); 89 } 90 | 49 { 50 } 51 52 virtual 53 ~Consumer() 54 { } 55 56 virtual void wakeup() = 0; --- 26 unchanged lines hidden (view full) --- 83 84 void 85 removeScheduledWakeupTime(Tick time) 86 { 87 assert(alreadyScheduled(time)); 88 m_scheduled_wakeups.erase(time); 89 } 90 |
91 void scheduleEvent(EventManager* em, Time timeDelta); 92 void scheduleEventAbsolute(EventManager* em, Time timeAbs); | |
93 void scheduleEvent(Time timeDelta); 94 void scheduleEventAbsolute(Time timeAbs); 95 96 private: 97 Tick m_last_scheduled_wakeup; 98 std::set<Tick> m_scheduled_wakeups; 99 Tick m_last_wakeup; | 91 void scheduleEvent(Time timeDelta); 92 void scheduleEventAbsolute(Time timeAbs); 93 94 private: 95 Tick m_last_scheduled_wakeup; 96 std::set<Tick> m_scheduled_wakeups; 97 Tick m_last_wakeup; |
98 EventManager *em; |
|
100 101 class ConsumerEvent : public Event 102 { 103 public: 104 ConsumerEvent(Consumer* _consumer) 105 : Event(Default_Pri, AutoDelete), m_consumer_ptr(_consumer) 106 { 107 } --- 21 unchanged lines hidden --- | 99 100 class ConsumerEvent : public Event 101 { 102 public: 103 ConsumerEvent(Consumer* _consumer) 104 : Event(Default_Pri, AutoDelete), m_consumer_ptr(_consumer) 105 { 106 } --- 21 unchanged lines hidden --- |