Throttle.hh (9230:33eb3c8a98b9) | Throttle.hh (9465:4ae4f3f4b870) |
---|---|
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; --- 40 unchanged lines hidden (view full) --- 49 50class MessageBuffer; 51 52class Throttle : public Consumer 53{ 54 public: 55 Throttle(int sID, NodeID node, int link_latency, 56 int link_bandwidth_multiplier, int endpoint_bandwidth, | 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; --- 40 unchanged lines hidden (view full) --- 49 50class MessageBuffer; 51 52class Throttle : public Consumer 53{ 54 public: 55 Throttle(int sID, NodeID node, int link_latency, 56 int link_bandwidth_multiplier, int endpoint_bandwidth, |
57 EventManager *em); | 57 ClockedObject *em); |
58 Throttle(NodeID node, int link_latency, int link_bandwidth_multiplier, | 58 Throttle(NodeID node, int link_latency, int link_bandwidth_multiplier, |
59 int endpoint_bandwidth, EventManager *em); | 59 int endpoint_bandwidth, ClockedObject *em); |
60 ~Throttle() {} 61 62 std::string name() 63 { return csprintf("Throttle-%i", m_sID); } 64 65 void addLinks(const std::vector<MessageBuffer*>& in_vec, | 60 ~Throttle() {} 61 62 std::string name() 63 { return csprintf("Throttle-%i", m_sID); } 64 65 void addLinks(const std::vector<MessageBuffer*>& in_vec, |
66 const std::vector | 66 const std::vector<MessageBuffer*>& out_vec, ClockedObject *em); |
67 void wakeup(); 68 69 void printStats(std::ostream& out) const; 70 void clearStats(); 71 // The average utilization (a percent) since last clearStats() 72 double getUtilization() const; 73 int 74 getLinkBandwidth() const --- 10 unchanged lines hidden (view full) --- 85 86 void clear(); 87 88 void print(std::ostream& out) const; 89 90 private: 91 void init(NodeID node, int link_latency, int link_bandwidth_multiplier, 92 int endpoint_bandwidth); | 67 void wakeup(); 68 69 void printStats(std::ostream& out) const; 70 void clearStats(); 71 // The average utilization (a percent) since last clearStats() 72 double getUtilization() const; 73 int 74 getLinkBandwidth() const --- 10 unchanged lines hidden (view full) --- 85 86 void clear(); 87 88 void print(std::ostream& out) const; 89 90 private: 91 void init(NodeID node, int link_latency, int link_bandwidth_multiplier, 92 int endpoint_bandwidth); |
93 void addVirtualNetwork(MessageBuffer* in_ptr, MessageBuffer* out_ptr); | 93 void addVirtualNetwork(MessageBuffer* in_ptr, MessageBuffer* out_ptr, 94 ClockedObject *em); |
94 void linkUtilized(double ratio) { m_links_utilized += ratio; } 95 96 // Private copy constructor and assignment operator 97 Throttle(const Throttle& obj); 98 Throttle& operator=(const Throttle& obj); 99 100 std::vector<MessageBuffer*> m_in; 101 std::vector<MessageBuffer*> m_out; --- 24 unchanged lines hidden --- | 95 void linkUtilized(double ratio) { m_links_utilized += ratio; } 96 97 // Private copy constructor and assignment operator 98 Throttle(const Throttle& obj); 99 Throttle& operator=(const Throttle& obj); 100 101 std::vector<MessageBuffer*> m_in; 102 std::vector<MessageBuffer*> m_out; --- 24 unchanged lines hidden --- |