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
30namespace ns3 {
31
39class SystemConditionPrivate;
40
70// The last two paragraphs are truncated in the earliest commit of this code:
71// 2008-07-15 Craig Dowell add system threads and synchronization primitives
73{
74public:
77
82 void SetCondition (bool condition);
83
88 bool GetCondition (void);
89
95 void Signal (void);
96
102 void Broadcast (void);
103
107 void Wait (void);
108
115 bool TimedWait (uint64_t ns);
116
117private:
120};
121
122} // namespace ns3
123
124#endif /* SYSTEM_CONDITION_H */
125
126
A class which provides a relatively platform-independent conditional-wait thread synchronization prim...
void Signal(void)
Release one thread if waiting for the condition to be true.
bool GetCondition(void)
Get the value of the underlying condition.
void SetCondition(bool condition)
Set the value of the underlying condition.
void Broadcast(void)
Release all threads waiting for the condition to be true.
SystemConditionPrivate * m_priv
The (system-dependent) implementation.
void Wait(void)
Wait, possibly forever, for the condition to be true.
bool TimedWait(uint64_t ns)
Wait a maximum of ns nanoseconds for the condition to be true.
Implementation of SystemCondition for Unix-like systems.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::Ptr smart pointer declaration and implementation.