A Discrete-Event Network Simulator
API
system-condition.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2008 University of Washington
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  */
18 
19 #ifndef SYSTEM_CONDITION_H
20 #define SYSTEM_CONDITION_H
21 
22 #include "ptr.h"
23 
30 namespace ns3 {
31 
39 class SystemConditionPrivate;
40 
71 {
72 public:
73  SystemCondition ();
75 
80  void SetCondition (bool condition);
81 
86  bool GetCondition (void);
87 
93  void Signal (void);
94 
100  void Broadcast (void);
101 
105  void Wait (void);
106 
113  bool TimedWait (uint64_t ns);
114 
115 private:
118 };
119 
120 } // namespace ns3
121 
122 #endif /* SYSTEM_CONDITION_H */
123 
124 
ns3::SystemCondition::~SystemCondition
~SystemCondition()
Definition: unix-system-condition.cc:215
ns3::SystemCondition::SetCondition
void SetCondition(bool condition)
Set the value of the underlying condition.
Definition: unix-system-condition.cc:222
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::SystemCondition::Broadcast
void Broadcast(void)
Release all threads waiting for the condition to be true.
Definition: unix-system-condition.cc:243
ns3::SystemCondition
A class which provides a relatively platform-independent conditional-wait thread synchronization prim...
Definition: system-condition.h:71
ns3::SystemCondition::Signal
void Signal(void)
Release one thread if waiting for the condition to be true.
Definition: unix-system-condition.cc:236
ns3::SystemCondition::m_priv
SystemConditionPrivate * m_priv
The (system-dependent) implementation.
Definition: system-condition.h:117
ns3::SystemConditionPrivate
Implementation of SystemCondition for Unix-like systems.
Definition: unix-system-condition.cc:44
ns3::SystemCondition::TimedWait
bool TimedWait(uint64_t ns)
Wait a maximum of ns nanoseconds for the condition to be true.
Definition: unix-system-condition.cc:257
ns3::SystemCondition::SystemCondition
SystemCondition()
Definition: unix-system-condition.cc:209
ns3::SystemCondition::Wait
void Wait(void)
Wait, possibly forever, for the condition to be true.
Definition: unix-system-condition.cc:250
ns3::SystemCondition::GetCondition
bool GetCondition(void)
Get the value of the underlying condition.
Definition: unix-system-condition.cc:229
ptr.h
ns3::Ptr smart pointer declaration and implementation.