author | Mathieu Lacage <mathieu.lacage@sophia.inria.fr> |
Wed, 09 Apr 2008 10:04:16 -0700 | |
changeset 2901 | 81ac5e25e8c2 |
parent 2630 | 17b545238ab3 |
child 2913 | 66dd24c80d75 |
child 2927 | 73b47ce1d805 |
child 2979 | 3d39dd617b8d |
permissions | -rw-r--r-- |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
1 |
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
2 |
/* |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
3 |
* Copyright (c) 2005,2006 INRIA |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
4 |
* |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
5 |
* This program is free software; you can redistribute it and/or modify |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
6 |
* it under the terms of the GNU General Public License version 2 as |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
7 |
* published by the Free Software Foundation; |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
8 |
* |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
9 |
* This program is distributed in the hope that it will be useful, |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
10 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
11 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
12 |
* GNU General Public License for more details. |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
13 |
* |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
14 |
* You should have received a copy of the GNU General Public License |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
15 |
* along with this program; if not, write to the Free Software |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
16 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
17 |
* |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
18 |
* Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr> |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
19 |
*/ |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
20 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
21 |
#include "simulator.h" |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
22 |
#include "scheduler.h" |
25
9b3bb088c560
first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
24
diff
changeset
|
23 |
#include "event-impl.h" |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
24 |
|
1008
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
25 |
#include "ns3/ptr.h" |
439
fed13fb45eef
Incorporated defaults and command-line arguments
Raj Bhattacharjea <raj.b@gatech.edu>
parents:
336
diff
changeset
|
26 |
#include "ns3/assert.h" |
fed13fb45eef
Incorporated defaults and command-line arguments
Raj Bhattacharjea <raj.b@gatech.edu>
parents:
336
diff
changeset
|
27 |
|
fed13fb45eef
Incorporated defaults and command-line arguments
Raj Bhattacharjea <raj.b@gatech.edu>
parents:
336
diff
changeset
|
28 |
|
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
29 |
#include <math.h> |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
30 |
#include <fstream> |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
31 |
#include <list> |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
32 |
#include <vector> |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
33 |
#include <iostream> |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
34 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
35 |
#define noTRACE_SIMU 1 |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
36 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
37 |
#ifdef TRACE_SIMU |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
38 |
#include <iostream> |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
39 |
# define TRACE(x) \ |
213
1e6d6776b284
fix trace output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
209
diff
changeset
|
40 |
std::cout << "SIMU TRACE " << Simulator::Now () << " " << x << std::endl; |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
41 |
# define TRACE_S(x) \ |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
42 |
std::cout << "SIMU TRACE " << x << std::endl; |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
43 |
#else /* TRACE_SIMU */ |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
44 |
# define TRACE(format,...) |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
45 |
# define TRACE_S(format,...) |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
46 |
#endif /* TRACE_SIMU */ |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
47 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
48 |
|
16
99e833adbb46
change yans namespace to ns3
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
14
diff
changeset
|
49 |
namespace ns3 { |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
50 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
51 |
|
2559
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
52 |
class SimulatorPrivate : public Object |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
53 |
{ |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
54 |
public: |
2559
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
55 |
static TypeId GetTypeId (void); |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
56 |
|
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
57 |
SimulatorPrivate (); |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
58 |
~SimulatorPrivate (); |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
59 |
|
2901
81ac5e25e8c2
Make sure that we really attempt to destroy everything upon process exit. Gets rid of spurious leak reports in valgrind.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2630
diff
changeset
|
60 |
void Destroy (); |
81ac5e25e8c2
Make sure that we really attempt to destroy everything upon process exit. Gets rid of spurious leak reports in valgrind.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2630
diff
changeset
|
61 |
|
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
62 |
void EnableLogTo (char const *filename); |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
63 |
|
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
64 |
bool IsFinished (void) const; |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
65 |
Time Next (void) const; |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
66 |
void Stop (void); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
67 |
void StopAt (Time const &time); |
1010
3a252ceeac44
more optimizations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1009
diff
changeset
|
68 |
EventId Schedule (Time const &time, const Ptr<EventImpl> &event); |
3a252ceeac44
more optimizations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1009
diff
changeset
|
69 |
EventId ScheduleNow (const Ptr<EventImpl> &event); |
3a252ceeac44
more optimizations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1009
diff
changeset
|
70 |
EventId ScheduleDestroy (const Ptr<EventImpl> &event); |
1011
7e5be9b118c9
be more consistant in the handling of references
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1010
diff
changeset
|
71 |
void Remove (const EventId &ev); |
7e5be9b118c9
be more consistant in the handling of references
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1010
diff
changeset
|
72 |
void Cancel (const EventId &ev); |
1690
16b198d63c1e
add Simulator::GetDelayLeft
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1522
diff
changeset
|
73 |
bool IsExpired (const EventId &ev) const; |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
74 |
void Run (void); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
75 |
Time Now (void) const; |
1690
16b198d63c1e
add Simulator::GetDelayLeft
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1522
diff
changeset
|
76 |
Time GetDelayLeft (const EventId &id) const; |
1863
50fa1ca3b26c
bug 104: add a method to retrive the maximum simulation time.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1696
diff
changeset
|
77 |
Time GetMaximumSimulationTime (void) const; |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
78 |
|
2559
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
79 |
void SetScheduler (Ptr<Scheduler> scheduler); |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
80 |
Ptr<Scheduler> GetScheduler (void) const; |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
81 |
|
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
82 |
private: |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
83 |
void ProcessOneEvent (void); |
675
a5878de7d71c
The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Emmanuelle Laprise
parents:
523
diff
changeset
|
84 |
uint64_t NextTs (void) const; |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
85 |
|
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
86 |
typedef std::list<EventId> DestroyEvents; |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
87 |
DestroyEvents m_destroyEvents; |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
88 |
uint64_t m_stopAt; |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
89 |
bool m_stop; |
2559
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
90 |
Ptr<Scheduler> m_events; |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
91 |
uint32_t m_uid; |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
92 |
uint32_t m_currentUid; |
675
a5878de7d71c
The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Emmanuelle Laprise
parents:
523
diff
changeset
|
93 |
uint64_t m_currentTs; |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
94 |
std::ofstream m_log; |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
95 |
std::ifstream m_inputLog; |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
96 |
bool m_logEnable; |
336
9dd9a53188bc
add consistency checks. Based on patch by Gustavo Carneiro
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
286
diff
changeset
|
97 |
// number of events that have been inserted but not yet scheduled, |
9dd9a53188bc
add consistency checks. Based on patch by Gustavo Carneiro
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
286
diff
changeset
|
98 |
// not counting the "destroy" events; this is used for validation |
9dd9a53188bc
add consistency checks. Based on patch by Gustavo Carneiro
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
286
diff
changeset
|
99 |
int m_unscheduledEvents; |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
100 |
}; |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
101 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
102 |
|
2559
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
103 |
TypeId |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
104 |
SimulatorPrivate::GetTypeId (void) |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
105 |
{ |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
106 |
static TypeId tid = TypeId ("SimulatorPrivate") |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
107 |
.SetParent<Object> () |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
108 |
.AddConstructor<SimulatorPrivate> () |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
109 |
.AddAttribute ("Scheduler", |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
110 |
"XXX", |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
111 |
Ptr<Scheduler> (0), |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
112 |
// XXX: allow getting the scheduler too. |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
113 |
MakePtrAccessor (&SimulatorPrivate::SetScheduler), |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
114 |
MakePtrChecker<Scheduler> ()) |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
115 |
; |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
116 |
return tid; |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
117 |
} |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
118 |
|
2559
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
119 |
SimulatorPrivate::SimulatorPrivate () |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
120 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
121 |
m_stop = false; |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
122 |
m_stopAt = 0; |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
123 |
// uids are allocated from 4. |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
124 |
// uid 0 is "invalid" events |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
125 |
// uid 1 is "now" events |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
126 |
// uid 2 is "destroy" events |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
127 |
m_uid = 4; |
200
46031a283b0d
We need to make sure that the uid of the first event generated is different from the uid of the simulator when no events have yet been run.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
198
diff
changeset
|
128 |
// before ::Run is entered, the m_currentUid will be zero |
46031a283b0d
We need to make sure that the uid of the first event generated is different from the uid of the simulator when no events have yet been run.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
198
diff
changeset
|
129 |
m_currentUid = 0; |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
130 |
m_logEnable = false; |
675
a5878de7d71c
The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Emmanuelle Laprise
parents:
523
diff
changeset
|
131 |
m_currentTs = 0; |
336
9dd9a53188bc
add consistency checks. Based on patch by Gustavo Carneiro
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
286
diff
changeset
|
132 |
m_unscheduledEvents = 0; |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
133 |
} |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
134 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
135 |
SimulatorPrivate::~SimulatorPrivate () |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
136 |
{ |
2901
81ac5e25e8c2
Make sure that we really attempt to destroy everything upon process exit. Gets rid of spurious leak reports in valgrind.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2630
diff
changeset
|
137 |
while (!m_events->IsEmpty ()) |
81ac5e25e8c2
Make sure that we really attempt to destroy everything upon process exit. Gets rid of spurious leak reports in valgrind.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2630
diff
changeset
|
138 |
{ |
81ac5e25e8c2
Make sure that we really attempt to destroy everything upon process exit. Gets rid of spurious leak reports in valgrind.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2630
diff
changeset
|
139 |
EventId next = m_events->RemoveNext (); |
81ac5e25e8c2
Make sure that we really attempt to destroy everything upon process exit. Gets rid of spurious leak reports in valgrind.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2630
diff
changeset
|
140 |
} |
81ac5e25e8c2
Make sure that we really attempt to destroy everything upon process exit. Gets rid of spurious leak reports in valgrind.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2630
diff
changeset
|
141 |
m_events = 0; |
81ac5e25e8c2
Make sure that we really attempt to destroy everything upon process exit. Gets rid of spurious leak reports in valgrind.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2630
diff
changeset
|
142 |
} |
81ac5e25e8c2
Make sure that we really attempt to destroy everything upon process exit. Gets rid of spurious leak reports in valgrind.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2630
diff
changeset
|
143 |
void |
81ac5e25e8c2
Make sure that we really attempt to destroy everything upon process exit. Gets rid of spurious leak reports in valgrind.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2630
diff
changeset
|
144 |
SimulatorPrivate::Destroy () |
81ac5e25e8c2
Make sure that we really attempt to destroy everything upon process exit. Gets rid of spurious leak reports in valgrind.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2630
diff
changeset
|
145 |
{ |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
146 |
while (!m_destroyEvents.empty ()) |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
147 |
{ |
1012
7b923896f33b
remove GetEventImpl
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1011
diff
changeset
|
148 |
Ptr<EventImpl> ev = m_destroyEvents.front ().PeekEventImpl (); |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
149 |
m_destroyEvents.pop_front (); |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
150 |
TRACE ("handle destroy " << ev); |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
151 |
if (!ev->IsCancelled ()) |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
152 |
{ |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
153 |
ev->Invoke (); |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
154 |
} |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
155 |
} |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
156 |
} |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
157 |
|
2559
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
158 |
void |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
159 |
SimulatorPrivate::SetScheduler (Ptr<Scheduler> scheduler) |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
160 |
{ |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
161 |
if (m_events != 0) |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
162 |
{ |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
163 |
while (!m_events->IsEmpty ()) |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
164 |
{ |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
165 |
EventId next = m_events->RemoveNext (); |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
166 |
scheduler->Insert (next); |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
167 |
} |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
168 |
} |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
169 |
m_events = scheduler; |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
170 |
} |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
171 |
|
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
172 |
Ptr<Scheduler> |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
173 |
SimulatorPrivate::GetScheduler (void) const |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
174 |
{ |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
175 |
return m_events; |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
176 |
} |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
177 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
178 |
void |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
179 |
SimulatorPrivate::EnableLogTo (char const *filename) |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
180 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
181 |
m_log.open (filename); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
182 |
m_logEnable = true; |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
183 |
} |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
184 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
185 |
void |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
186 |
SimulatorPrivate::ProcessOneEvent (void) |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
187 |
{ |
1009
adc3ac9baea8
optimize EventImpl refcounting
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1008
diff
changeset
|
188 |
EventId next = m_events->RemoveNext (); |
336
9dd9a53188bc
add consistency checks. Based on patch by Gustavo Carneiro
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
286
diff
changeset
|
189 |
|
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
190 |
NS_ASSERT (next.GetTs () >= m_currentTs); |
336
9dd9a53188bc
add consistency checks. Based on patch by Gustavo Carneiro
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
286
diff
changeset
|
191 |
--m_unscheduledEvents; |
9dd9a53188bc
add consistency checks. Based on patch by Gustavo Carneiro
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
286
diff
changeset
|
192 |
|
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
193 |
TRACE ("handle " << nextEv); |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
194 |
m_currentTs = next.GetTs (); |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
195 |
m_currentUid = next.GetUid (); |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
196 |
if (m_logEnable) |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
197 |
{ |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
198 |
m_log << "e "<<next.GetUid () << " " << next.GetTs () << std::endl; |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
199 |
} |
1009
adc3ac9baea8
optimize EventImpl refcounting
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1008
diff
changeset
|
200 |
EventImpl *event = next.PeekEventImpl (); |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
201 |
event->Invoke (); |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
202 |
} |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
203 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
204 |
bool |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
205 |
SimulatorPrivate::IsFinished (void) const |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
206 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
207 |
return m_events->IsEmpty (); |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
208 |
} |
143
552ff26b4224
new Time implementation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
129
diff
changeset
|
209 |
uint64_t |
675
a5878de7d71c
The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Emmanuelle Laprise
parents:
523
diff
changeset
|
210 |
SimulatorPrivate::NextTs (void) const |
143
552ff26b4224
new Time implementation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
129
diff
changeset
|
211 |
{ |
286
57e6a2006962
convert use of <cassert> to "ns3/assert.h"
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
213
diff
changeset
|
212 |
NS_ASSERT (!m_events->IsEmpty ()); |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
213 |
EventId id = m_events->PeekNext (); |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
214 |
return id.GetTs (); |
143
552ff26b4224
new Time implementation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
129
diff
changeset
|
215 |
} |
25
9b3bb088c560
first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
24
diff
changeset
|
216 |
Time |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
217 |
SimulatorPrivate::Next (void) const |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
218 |
{ |
675
a5878de7d71c
The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Emmanuelle Laprise
parents:
523
diff
changeset
|
219 |
return TimeStep (NextTs ()); |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
220 |
} |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
221 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
222 |
void |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
223 |
SimulatorPrivate::Run (void) |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
224 |
{ |
143
552ff26b4224
new Time implementation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
129
diff
changeset
|
225 |
|
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
226 |
while (!m_events->IsEmpty () && !m_stop && |
675
a5878de7d71c
The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Emmanuelle Laprise
parents:
523
diff
changeset
|
227 |
(m_stopAt == 0 || m_stopAt > NextTs ())) |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
228 |
{ |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
229 |
ProcessOneEvent (); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
230 |
} |
336
9dd9a53188bc
add consistency checks. Based on patch by Gustavo Carneiro
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
286
diff
changeset
|
231 |
|
9dd9a53188bc
add consistency checks. Based on patch by Gustavo Carneiro
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
286
diff
changeset
|
232 |
// If the simulator stopped naturally by lack of events, make a |
9dd9a53188bc
add consistency checks. Based on patch by Gustavo Carneiro
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
286
diff
changeset
|
233 |
// consistency test to check that we didn't lose any events along the way. |
9dd9a53188bc
add consistency checks. Based on patch by Gustavo Carneiro
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
286
diff
changeset
|
234 |
NS_ASSERT(!m_events->IsEmpty () || m_unscheduledEvents == 0); |
9dd9a53188bc
add consistency checks. Based on patch by Gustavo Carneiro
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
286
diff
changeset
|
235 |
|
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
236 |
m_log.close (); |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
237 |
} |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
238 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
239 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
240 |
void |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
241 |
SimulatorPrivate::Stop (void) |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
242 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
243 |
m_stop = true; |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
244 |
} |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
245 |
void |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
246 |
SimulatorPrivate::StopAt (Time const &at) |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
247 |
{ |
286
57e6a2006962
convert use of <cassert> to "ns3/assert.h"
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
213
diff
changeset
|
248 |
NS_ASSERT (at.IsPositive ()); |
675
a5878de7d71c
The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Emmanuelle Laprise
parents:
523
diff
changeset
|
249 |
m_stopAt = at.GetTimeStep (); |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
250 |
} |
25
9b3bb088c560
first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
24
diff
changeset
|
251 |
EventId |
1010
3a252ceeac44
more optimizations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1009
diff
changeset
|
252 |
SimulatorPrivate::Schedule (Time const &time, const Ptr<EventImpl> &event) |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
253 |
{ |
286
57e6a2006962
convert use of <cassert> to "ns3/assert.h"
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
213
diff
changeset
|
254 |
NS_ASSERT (time.IsPositive ()); |
675
a5878de7d71c
The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Emmanuelle Laprise
parents:
523
diff
changeset
|
255 |
NS_ASSERT (time >= TimeStep (m_currentTs)); |
a5878de7d71c
The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Emmanuelle Laprise
parents:
523
diff
changeset
|
256 |
uint64_t ts = (uint64_t) time.GetTimeStep (); |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
257 |
EventId id (event, ts, m_uid); |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
258 |
if (m_logEnable) |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
259 |
{ |
675
a5878de7d71c
The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Emmanuelle Laprise
parents:
523
diff
changeset
|
260 |
m_log << "i "<<m_currentUid<<" "<<m_currentTs<<" " |
a5878de7d71c
The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Emmanuelle Laprise
parents:
523
diff
changeset
|
261 |
<<m_uid<<" "<<time.GetTimeStep () << std::endl; |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
262 |
} |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
263 |
m_uid++; |
336
9dd9a53188bc
add consistency checks. Based on patch by Gustavo Carneiro
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
286
diff
changeset
|
264 |
++m_unscheduledEvents; |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
265 |
m_events->Insert (id); |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
266 |
return id; |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
267 |
} |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
268 |
EventId |
1010
3a252ceeac44
more optimizations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1009
diff
changeset
|
269 |
SimulatorPrivate::ScheduleNow (const Ptr<EventImpl> &event) |
145
947b77174b72
start of work to re-implement Schedule* methods
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
144
diff
changeset
|
270 |
{ |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
271 |
EventId id (event, m_currentTs, m_uid); |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
272 |
if (m_logEnable) |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
273 |
{ |
675
a5878de7d71c
The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Emmanuelle Laprise
parents:
523
diff
changeset
|
274 |
m_log << "i "<<m_currentUid<<" "<<m_currentTs<<" " |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
275 |
<<m_uid<<" "<<m_currentTs << std::endl; |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
276 |
} |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
277 |
m_uid++; |
336
9dd9a53188bc
add consistency checks. Based on patch by Gustavo Carneiro
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
286
diff
changeset
|
278 |
++m_unscheduledEvents; |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
279 |
m_events->Insert (id); |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
280 |
return id; |
145
947b77174b72
start of work to re-implement Schedule* methods
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
144
diff
changeset
|
281 |
} |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
282 |
EventId |
1010
3a252ceeac44
more optimizations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1009
diff
changeset
|
283 |
SimulatorPrivate::ScheduleDestroy (const Ptr<EventImpl> &event) |
145
947b77174b72
start of work to re-implement Schedule* methods
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
144
diff
changeset
|
284 |
{ |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
285 |
EventId id (event, m_currentTs, 2); |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
286 |
m_destroyEvents.push_back (id); |
147
705658c244c3
implement ScheduleNow and ScheduleDestroy methods
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
146
diff
changeset
|
287 |
if (m_logEnable) |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
288 |
{ |
675
a5878de7d71c
The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Emmanuelle Laprise
parents:
523
diff
changeset
|
289 |
m_log << "id " << m_currentUid << " " << Now ().GetTimeStep () << " " |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
290 |
<< m_uid << std::endl; |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
291 |
} |
147
705658c244c3
implement ScheduleNow and ScheduleDestroy methods
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
146
diff
changeset
|
292 |
m_uid++; |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
293 |
return id; |
145
947b77174b72
start of work to re-implement Schedule* methods
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
144
diff
changeset
|
294 |
} |
947b77174b72
start of work to re-implement Schedule* methods
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
144
diff
changeset
|
295 |
|
25
9b3bb088c560
first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
24
diff
changeset
|
296 |
Time |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
297 |
SimulatorPrivate::Now (void) const |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
298 |
{ |
675
a5878de7d71c
The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Emmanuelle Laprise
parents:
523
diff
changeset
|
299 |
return TimeStep (m_currentTs); |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
300 |
} |
1690
16b198d63c1e
add Simulator::GetDelayLeft
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1522
diff
changeset
|
301 |
Time |
16b198d63c1e
add Simulator::GetDelayLeft
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1522
diff
changeset
|
302 |
SimulatorPrivate::GetDelayLeft (const EventId &id) const |
16b198d63c1e
add Simulator::GetDelayLeft
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1522
diff
changeset
|
303 |
{ |
16b198d63c1e
add Simulator::GetDelayLeft
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1522
diff
changeset
|
304 |
if (IsExpired (id)) |
16b198d63c1e
add Simulator::GetDelayLeft
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1522
diff
changeset
|
305 |
{ |
16b198d63c1e
add Simulator::GetDelayLeft
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1522
diff
changeset
|
306 |
return TimeStep (0); |
16b198d63c1e
add Simulator::GetDelayLeft
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1522
diff
changeset
|
307 |
} |
16b198d63c1e
add Simulator::GetDelayLeft
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1522
diff
changeset
|
308 |
else |
16b198d63c1e
add Simulator::GetDelayLeft
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1522
diff
changeset
|
309 |
{ |
16b198d63c1e
add Simulator::GetDelayLeft
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1522
diff
changeset
|
310 |
return TimeStep (id.GetTs () - m_currentTs); |
16b198d63c1e
add Simulator::GetDelayLeft
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1522
diff
changeset
|
311 |
} |
16b198d63c1e
add Simulator::GetDelayLeft
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1522
diff
changeset
|
312 |
} |
25
9b3bb088c560
first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
24
diff
changeset
|
313 |
|
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
314 |
void |
1011
7e5be9b118c9
be more consistant in the handling of references
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1010
diff
changeset
|
315 |
SimulatorPrivate::Remove (const EventId &ev) |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
316 |
{ |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
317 |
if (ev.GetUid () == 2) |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
318 |
{ |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
319 |
// destroy events. |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
320 |
for (DestroyEvents::iterator i = m_destroyEvents.begin (); i != m_destroyEvents.end (); i++) |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
321 |
{ |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
322 |
if (*i == ev) |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
323 |
{ |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
324 |
m_destroyEvents.erase (i); |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
325 |
break; |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
326 |
} |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
327 |
} |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
328 |
return; |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
329 |
} |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
330 |
if (IsExpired (ev)) |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
331 |
{ |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
332 |
return; |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
333 |
} |
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
334 |
m_events->Remove (ev); |
1008
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
335 |
Cancel (ev); |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
336 |
|
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
337 |
if (m_logEnable) |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
338 |
{ |
675
a5878de7d71c
The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Emmanuelle Laprise
parents:
523
diff
changeset
|
339 |
m_log << "r " << m_currentUid << " " << m_currentTs << " " |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
340 |
<< ev.GetUid () << " " << ev.GetTs () << std::endl; |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
341 |
} |
336
9dd9a53188bc
add consistency checks. Based on patch by Gustavo Carneiro
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
286
diff
changeset
|
342 |
--m_unscheduledEvents; |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
343 |
} |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
344 |
|
25
9b3bb088c560
first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
24
diff
changeset
|
345 |
void |
1011
7e5be9b118c9
be more consistant in the handling of references
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1010
diff
changeset
|
346 |
SimulatorPrivate::Cancel (const EventId &id) |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
347 |
{ |
1008
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
348 |
if (!IsExpired (id)) |
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
349 |
{ |
1012
7b923896f33b
remove GetEventImpl
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1011
diff
changeset
|
350 |
id.PeekEventImpl ()->Cancel (); |
1008
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
351 |
} |
25
9b3bb088c560
first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
24
diff
changeset
|
352 |
} |
9b3bb088c560
first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
24
diff
changeset
|
353 |
|
9b3bb088c560
first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
24
diff
changeset
|
354 |
bool |
1690
16b198d63c1e
add Simulator::GetDelayLeft
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1522
diff
changeset
|
355 |
SimulatorPrivate::IsExpired (const EventId &ev) const |
25
9b3bb088c560
first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
24
diff
changeset
|
356 |
{ |
964
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
357 |
if (ev.GetUid () == 2) |
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
358 |
{ |
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
359 |
// destroy events. |
1690
16b198d63c1e
add Simulator::GetDelayLeft
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1522
diff
changeset
|
360 |
for (DestroyEvents::const_iterator i = m_destroyEvents.begin (); i != m_destroyEvents.end (); i++) |
964
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
361 |
{ |
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
362 |
if (*i == ev) |
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
363 |
{ |
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
364 |
return false; |
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
365 |
} |
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
366 |
} |
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
367 |
return true; |
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
368 |
} |
1012
7b923896f33b
remove GetEventImpl
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1011
diff
changeset
|
369 |
if (ev.PeekEventImpl () == 0 || |
675
a5878de7d71c
The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Emmanuelle Laprise
parents:
523
diff
changeset
|
370 |
ev.GetTs () < m_currentTs || |
a5878de7d71c
The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Emmanuelle Laprise
parents:
523
diff
changeset
|
371 |
(ev.GetTs () == m_currentTs && |
209
8b343b9727d7
fix EventId::IsExpired and Simulator::IsExpired, add EventId::IsRunning, add relevant tests, replace Seconds, MilliSeconds, MicroSeconds, and, NanoSeconds classes by functions named similarly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
200
diff
changeset
|
372 |
ev.GetUid () <= m_currentUid) || |
1012
7b923896f33b
remove GetEventImpl
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1011
diff
changeset
|
373 |
ev.PeekEventImpl ()->IsCancelled ()) |
209
8b343b9727d7
fix EventId::IsExpired and Simulator::IsExpired, add EventId::IsRunning, add relevant tests, replace Seconds, MilliSeconds, MicroSeconds, and, NanoSeconds classes by functions named similarly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
200
diff
changeset
|
374 |
{ |
8b343b9727d7
fix EventId::IsExpired and Simulator::IsExpired, add EventId::IsRunning, add relevant tests, replace Seconds, MilliSeconds, MicroSeconds, and, NanoSeconds classes by functions named similarly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
200
diff
changeset
|
375 |
return true; |
8b343b9727d7
fix EventId::IsExpired and Simulator::IsExpired, add EventId::IsRunning, add relevant tests, replace Seconds, MilliSeconds, MicroSeconds, and, NanoSeconds classes by functions named similarly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
200
diff
changeset
|
376 |
} |
8b343b9727d7
fix EventId::IsExpired and Simulator::IsExpired, add EventId::IsRunning, add relevant tests, replace Seconds, MilliSeconds, MicroSeconds, and, NanoSeconds classes by functions named similarly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
200
diff
changeset
|
377 |
else |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
378 |
{ |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
379 |
return false; |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
380 |
} |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
381 |
} |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
382 |
|
1863
50fa1ca3b26c
bug 104: add a method to retrive the maximum simulation time.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1696
diff
changeset
|
383 |
Time |
50fa1ca3b26c
bug 104: add a method to retrive the maximum simulation time.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1696
diff
changeset
|
384 |
SimulatorPrivate::GetMaximumSimulationTime (void) const |
50fa1ca3b26c
bug 104: add a method to retrive the maximum simulation time.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1696
diff
changeset
|
385 |
{ |
50fa1ca3b26c
bug 104: add a method to retrive the maximum simulation time.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1696
diff
changeset
|
386 |
// XXX: I am fairly certain other compilers use other non-standard |
50fa1ca3b26c
bug 104: add a method to retrive the maximum simulation time.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1696
diff
changeset
|
387 |
// post-fixes to indicate 64 bit constants. |
50fa1ca3b26c
bug 104: add a method to retrive the maximum simulation time.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1696
diff
changeset
|
388 |
return TimeStep (0x7fffffffffffffffLL); |
50fa1ca3b26c
bug 104: add a method to retrive the maximum simulation time.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1696
diff
changeset
|
389 |
} |
50fa1ca3b26c
bug 104: add a method to retrive the maximum simulation time.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1696
diff
changeset
|
390 |
|
50fa1ca3b26c
bug 104: add a method to retrive the maximum simulation time.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1696
diff
changeset
|
391 |
|
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
392 |
|
16
99e833adbb46
change yans namespace to ns3
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
14
diff
changeset
|
393 |
}; // namespace ns3 |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
394 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
395 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
396 |
#include "scheduler-list.h" |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
397 |
#include "scheduler-heap.h" |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
398 |
#include "scheduler-map.h" |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
399 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
400 |
|
16
99e833adbb46
change yans namespace to ns3
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
14
diff
changeset
|
401 |
namespace ns3 { |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
402 |
|
2901
81ac5e25e8c2
Make sure that we really attempt to destroy everything upon process exit. Gets rid of spurious leak reports in valgrind.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2630
diff
changeset
|
403 |
Ptr<SimulatorPrivate> Simulator::m_priv = 0; |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
404 |
|
2559
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
405 |
void Simulator::SetScheduler (Ptr<Scheduler> scheduler) |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
406 |
{ |
2559
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
407 |
GetPriv ()->SetScheduler (scheduler); |
45
f963078c6e95
enable user-provided schedulers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
38
diff
changeset
|
408 |
} |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
409 |
void Simulator::EnableLogTo (char const *filename) |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
410 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
411 |
GetPriv ()->EnableLogTo (filename); |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
412 |
} |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
413 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
414 |
|
2901
81ac5e25e8c2
Make sure that we really attempt to destroy everything upon process exit. Gets rid of spurious leak reports in valgrind.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2630
diff
changeset
|
415 |
Ptr<SimulatorPrivate> |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
416 |
Simulator::GetPriv (void) |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
417 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
418 |
if (m_priv == 0) |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
419 |
{ |
2901
81ac5e25e8c2
Make sure that we really attempt to destroy everything upon process exit. Gets rid of spurious leak reports in valgrind.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2630
diff
changeset
|
420 |
m_priv = CreateObject<SimulatorPrivate> (); |
2559
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
421 |
Ptr<Scheduler> scheduler = CreateObject<SchedulerMap> (); |
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
422 |
m_priv->SetScheduler (scheduler); |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
423 |
} |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
424 |
TRACE_S ("priv " << m_priv); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
425 |
return m_priv; |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
426 |
} |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
427 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
428 |
void |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
429 |
Simulator::Destroy (void) |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
430 |
{ |
2901
81ac5e25e8c2
Make sure that we really attempt to destroy everything upon process exit. Gets rid of spurious leak reports in valgrind.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2630
diff
changeset
|
431 |
if (m_priv == 0) |
81ac5e25e8c2
Make sure that we really attempt to destroy everything upon process exit. Gets rid of spurious leak reports in valgrind.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2630
diff
changeset
|
432 |
{ |
81ac5e25e8c2
Make sure that we really attempt to destroy everything upon process exit. Gets rid of spurious leak reports in valgrind.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2630
diff
changeset
|
433 |
return; |
81ac5e25e8c2
Make sure that we really attempt to destroy everything upon process exit. Gets rid of spurious leak reports in valgrind.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2630
diff
changeset
|
434 |
} |
81ac5e25e8c2
Make sure that we really attempt to destroy everything upon process exit. Gets rid of spurious leak reports in valgrind.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2630
diff
changeset
|
435 |
m_priv->Destroy (); |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
436 |
m_priv = 0; |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
437 |
} |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
438 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
439 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
440 |
bool |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
441 |
Simulator::IsFinished (void) |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
442 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
443 |
return GetPriv ()->IsFinished (); |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
444 |
} |
25
9b3bb088c560
first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
24
diff
changeset
|
445 |
Time |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
446 |
Simulator::Next (void) |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
447 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
448 |
return GetPriv ()->Next (); |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
449 |
} |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
450 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
451 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
452 |
void |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
453 |
Simulator::Run (void) |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
454 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
455 |
GetPriv ()->Run (); |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
456 |
} |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
457 |
void |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
458 |
Simulator::Stop (void) |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
459 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
460 |
TRACE ("stop"); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
461 |
GetPriv ()->Stop (); |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
462 |
} |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
463 |
void |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
464 |
Simulator::StopAt (Time const &at) |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
465 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
466 |
GetPriv ()->StopAt (at); |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
467 |
} |
25
9b3bb088c560
first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
24
diff
changeset
|
468 |
Time |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
469 |
Simulator::Now (void) |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
470 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
471 |
return GetPriv ()->Now (); |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
472 |
} |
1690
16b198d63c1e
add Simulator::GetDelayLeft
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1522
diff
changeset
|
473 |
Time |
16b198d63c1e
add Simulator::GetDelayLeft
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1522
diff
changeset
|
474 |
Simulator::GetDelayLeft (const EventId &id) |
16b198d63c1e
add Simulator::GetDelayLeft
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1522
diff
changeset
|
475 |
{ |
16b198d63c1e
add Simulator::GetDelayLeft
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1522
diff
changeset
|
476 |
return GetPriv ()->GetDelayLeft (id); |
16b198d63c1e
add Simulator::GetDelayLeft
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1522
diff
changeset
|
477 |
} |
25
9b3bb088c560
first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
24
diff
changeset
|
478 |
|
1008
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
479 |
Ptr<EventImpl> |
146
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
480 |
Simulator::MakeEvent (void (*f) (void)) |
145
947b77174b72
start of work to re-implement Schedule* methods
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
144
diff
changeset
|
481 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
482 |
// zero arg version |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
483 |
class EventFunctionImpl0 : public EventImpl { |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
484 |
public: |
1008
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
485 |
typedef void (*F)(void); |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
486 |
|
1008
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
487 |
EventFunctionImpl0 (F function) |
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
488 |
: m_function (function) |
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
489 |
{} |
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
490 |
virtual ~EventFunctionImpl0 () {} |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
491 |
protected: |
1008
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
492 |
virtual void Notify (void) { |
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
493 |
(*m_function) (); |
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
494 |
} |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
495 |
private: |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
496 |
F m_function; |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
497 |
} *ev = new EventFunctionImpl0 (f); |
1008
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
498 |
return Ptr<EventImpl> (ev, false); |
146
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
499 |
} |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
500 |
EventId |
1010
3a252ceeac44
more optimizations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1009
diff
changeset
|
501 |
Simulator::Schedule (Time const &time, const Ptr<EventImpl> &ev) |
146
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
502 |
{ |
162
5b398ac221c7
make Time relative instead of Absolute
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
150
diff
changeset
|
503 |
return GetPriv ()->Schedule (Now () + time, ev); |
146
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
504 |
} |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
505 |
EventId |
1010
3a252ceeac44
more optimizations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1009
diff
changeset
|
506 |
Simulator::ScheduleNow (const Ptr<EventImpl> &ev) |
146
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
507 |
{ |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
508 |
return GetPriv ()->ScheduleNow (ev); |
146
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
509 |
} |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
510 |
EventId |
1010
3a252ceeac44
more optimizations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1009
diff
changeset
|
511 |
Simulator::ScheduleDestroy (const Ptr<EventImpl> &ev) |
146
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
512 |
{ |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
513 |
return GetPriv ()->ScheduleDestroy (ev); |
146
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
514 |
} |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
515 |
EventId |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
516 |
Simulator::Schedule (Time const &time, void (*f) (void)) |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
517 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
518 |
return Schedule (time, MakeEvent (f)); |
146
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
519 |
} |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
520 |
EventId |
146
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
521 |
Simulator::ScheduleNow (void (*f) (void)) |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
522 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
523 |
return ScheduleNow (MakeEvent (f)); |
146
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
524 |
} |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
525 |
EventId |
146
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
526 |
Simulator::ScheduleDestroy (void (*f) (void)) |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
527 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
528 |
return ScheduleDestroy (MakeEvent (f)); |
75
0f3f4b0a158b
reorganize the implementation of template member methods in Simulator class
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
54
diff
changeset
|
529 |
} |
0f3f4b0a158b
reorganize the implementation of template member methods in Simulator class
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
54
diff
changeset
|
530 |
|
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
531 |
|
25
9b3bb088c560
first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
24
diff
changeset
|
532 |
void |
1011
7e5be9b118c9
be more consistant in the handling of references
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1010
diff
changeset
|
533 |
Simulator::Remove (const EventId &ev) |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
534 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
535 |
return GetPriv ()->Remove (ev); |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
536 |
} |
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
537 |
|
25
9b3bb088c560
first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
24
diff
changeset
|
538 |
void |
1011
7e5be9b118c9
be more consistant in the handling of references
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1010
diff
changeset
|
539 |
Simulator::Cancel (const EventId &ev) |
25
9b3bb088c560
first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
24
diff
changeset
|
540 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
541 |
return GetPriv ()->Cancel (ev); |
25
9b3bb088c560
first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
24
diff
changeset
|
542 |
} |
9b3bb088c560
first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
24
diff
changeset
|
543 |
bool |
1011
7e5be9b118c9
be more consistant in the handling of references
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1010
diff
changeset
|
544 |
Simulator::IsExpired (const EventId &id) |
25
9b3bb088c560
first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
24
diff
changeset
|
545 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
546 |
return GetPriv ()->IsExpired (id); |
25
9b3bb088c560
first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
24
diff
changeset
|
547 |
} |
9b3bb088c560
first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
24
diff
changeset
|
548 |
|
679
0c4773ca0f29
avoid cyclic dependency between Simulator and Time code
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
675
diff
changeset
|
549 |
Time Now (void) |
0c4773ca0f29
avoid cyclic dependency between Simulator and Time code
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
675
diff
changeset
|
550 |
{ |
0c4773ca0f29
avoid cyclic dependency between Simulator and Time code
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
675
diff
changeset
|
551 |
return Time (Simulator::Now ()); |
0c4773ca0f29
avoid cyclic dependency between Simulator and Time code
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
675
diff
changeset
|
552 |
} |
0c4773ca0f29
avoid cyclic dependency between Simulator and Time code
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
675
diff
changeset
|
553 |
|
1863
50fa1ca3b26c
bug 104: add a method to retrive the maximum simulation time.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1696
diff
changeset
|
554 |
Time |
50fa1ca3b26c
bug 104: add a method to retrive the maximum simulation time.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1696
diff
changeset
|
555 |
Simulator::GetMaximumSimulationTime (void) |
50fa1ca3b26c
bug 104: add a method to retrive the maximum simulation time.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1696
diff
changeset
|
556 |
{ |
50fa1ca3b26c
bug 104: add a method to retrive the maximum simulation time.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1696
diff
changeset
|
557 |
return GetPriv ()->GetMaximumSimulationTime (); |
50fa1ca3b26c
bug 104: add a method to retrive the maximum simulation time.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1696
diff
changeset
|
558 |
} |
50fa1ca3b26c
bug 104: add a method to retrive the maximum simulation time.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1696
diff
changeset
|
559 |
|
50fa1ca3b26c
bug 104: add a method to retrive the maximum simulation time.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1696
diff
changeset
|
560 |
} // namespace ns3 |
9
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
561 |
|
2c31ae7c94db
import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
562 |
|
30
eb38b7903dfb
add empty simulator test
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
29
diff
changeset
|
563 |
#ifdef RUN_SELF_TESTS |
eb38b7903dfb
add empty simulator test
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
29
diff
changeset
|
564 |
|
eb38b7903dfb
add empty simulator test
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
29
diff
changeset
|
565 |
#include "ns3/test.h" |
690 | 566 |
#include "ns3/ptr.h" |
30
eb38b7903dfb
add empty simulator test
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
29
diff
changeset
|
567 |
|
eb38b7903dfb
add empty simulator test
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
29
diff
changeset
|
568 |
namespace ns3 { |
eb38b7903dfb
add empty simulator test
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
29
diff
changeset
|
569 |
|
146
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
570 |
static void foo0 (void) |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
571 |
{} |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
572 |
static void foo1 (int) |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
573 |
{} |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
574 |
static void foo2 (int, int) |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
575 |
{} |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
576 |
static void foo3 (int, int, int) |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
577 |
{} |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
578 |
static void foo4 (int, int, int, int) |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
579 |
{} |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
580 |
static void foo5 (int, int, int, int, int) |
945
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
581 |
{} |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
582 |
|
948
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
583 |
#if 1 |
945
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
584 |
static void ber1 (int &) |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
585 |
{} |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
586 |
static void ber2 (int &, int &) |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
587 |
{} |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
588 |
static void ber3 (int &, int &, int &) |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
589 |
{} |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
590 |
static void ber4 (int &, int &, int &, int &) |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
591 |
{} |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
592 |
static void ber5 (int &, int &, int &, int &, int &) |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
593 |
{} |
948
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
594 |
#endif |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
595 |
|
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
596 |
static void cber1 (const int &) |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
597 |
{} |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
598 |
static void cber2 (const int &, const int &) |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
599 |
{} |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
600 |
static void cber3 (const int &, const int &, const int &) |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
601 |
{} |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
602 |
static void cber4 (const int &, const int &, const int &, const int &) |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
603 |
{} |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
604 |
static void cber5 (const int &, const int &, const int &, const int &, const int &) |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
605 |
{} |
146
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
606 |
|
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
607 |
|
2630
17b545238ab3
do not use ObjectBase as a base class.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2577
diff
changeset
|
608 |
class SimulatorTests : public Test |
17b545238ab3
do not use ObjectBase as a base class.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2577
diff
changeset
|
609 |
{ |
30
eb38b7903dfb
add empty simulator test
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
29
diff
changeset
|
610 |
public: |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
611 |
SimulatorTests (); |
690 | 612 |
// only here for testing of Ptr<> |
1296
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
613 |
void Ref (void) const; |
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
614 |
void Unref (void) const; |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
615 |
virtual ~SimulatorTests (); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
616 |
virtual bool RunTests (void); |
31
2def0da92178
add simulator tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
30
diff
changeset
|
617 |
private: |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
618 |
uint64_t NowUs (); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
619 |
bool RunOneTest (void); |
1294
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
620 |
void RunTestsConst (void) const; |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
621 |
void A (int a); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
622 |
void B (int b); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
623 |
void C (int c); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
624 |
void D (int d); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
625 |
void bar0 (void); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
626 |
void bar1 (int); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
627 |
void bar2 (int, int); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
628 |
void bar3 (int, int, int); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
629 |
void bar4 (int, int, int, int); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
630 |
void bar5 (int, int, int, int, int); |
945
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
631 |
void baz1 (int &); |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
632 |
void baz2 (int &, int &); |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
633 |
void baz3 (int &, int &, int &); |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
634 |
void baz4 (int &, int &, int &, int &); |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
635 |
void baz5 (int &, int &, int &, int &, int &); |
948
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
636 |
void cbaz1 (const int &); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
637 |
void cbaz2 (const int &, const int &); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
638 |
void cbaz3 (const int &, const int &, const int &); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
639 |
void cbaz4 (const int &, const int &, const int &, const int &); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
640 |
void cbaz5 (const int &, const int &, const int &, const int &, const int &); |
1294
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
641 |
|
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
642 |
void bar0c (void) const; |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
643 |
void bar1c (int) const; |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
644 |
void bar2c (int, int) const; |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
645 |
void bar3c (int, int, int) const; |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
646 |
void bar4c (int, int, int, int) const; |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
647 |
void bar5c (int, int, int, int, int) const; |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
648 |
void baz1c (int &) const; |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
649 |
void baz2c (int &, int &) const; |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
650 |
void baz3c (int &, int &, int &) const; |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
651 |
void baz4c (int &, int &, int &, int &) const; |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
652 |
void baz5c (int &, int &, int &, int &, int &) const; |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
653 |
void cbaz1c (const int &) const; |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
654 |
void cbaz2c (const int &, const int &) const; |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
655 |
void cbaz3c (const int &, const int &, const int &) const; |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
656 |
void cbaz4c (const int &, const int &, const int &, const int &) const; |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
657 |
void cbaz5c (const int &, const int &, const int &, const int &, const int &) const; |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
658 |
|
964
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
659 |
void destroy (void); |
146
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
660 |
|
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
661 |
bool m_b; |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
662 |
bool m_a; |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
663 |
bool m_c; |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
664 |
bool m_d; |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
665 |
EventId m_idC; |
964
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
666 |
bool m_destroy; |
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
667 |
EventId m_destroyId; |
30
eb38b7903dfb
add empty simulator test
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
29
diff
changeset
|
668 |
}; |
eb38b7903dfb
add empty simulator test
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
29
diff
changeset
|
669 |
|
eb38b7903dfb
add empty simulator test
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
29
diff
changeset
|
670 |
SimulatorTests::SimulatorTests () |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
671 |
: Test ("Simulator") |
30
eb38b7903dfb
add empty simulator test
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
29
diff
changeset
|
672 |
{} |
eb38b7903dfb
add empty simulator test
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
29
diff
changeset
|
673 |
SimulatorTests::~SimulatorTests () |
eb38b7903dfb
add empty simulator test
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
29
diff
changeset
|
674 |
{} |
690 | 675 |
void |
1296
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
676 |
SimulatorTests::Ref (void) const |
690 | 677 |
{} |
678 |
void |
|
1296
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
679 |
SimulatorTests::Unref (void) const |
690 | 680 |
{} |
143
552ff26b4224
new Time implementation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
129
diff
changeset
|
681 |
uint64_t |
552ff26b4224
new Time implementation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
129
diff
changeset
|
682 |
SimulatorTests::NowUs (void) |
552ff26b4224
new Time implementation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
129
diff
changeset
|
683 |
{ |
163
2a7e05018eeb
rename Time::ApproximateTo methods to Time::Get
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
162
diff
changeset
|
684 |
uint64_t ns = Now ().GetNanoSeconds (); |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
685 |
return ns / 1000; |
143
552ff26b4224
new Time implementation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
129
diff
changeset
|
686 |
} |
31
2def0da92178
add simulator tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
30
diff
changeset
|
687 |
void |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
688 |
SimulatorTests::A (int a) |
31
2def0da92178
add simulator tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
30
diff
changeset
|
689 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
690 |
m_a = false; |
31
2def0da92178
add simulator tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
30
diff
changeset
|
691 |
} |
2def0da92178
add simulator tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
30
diff
changeset
|
692 |
void |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
693 |
SimulatorTests::B (int b) |
31
2def0da92178
add simulator tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
30
diff
changeset
|
694 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
695 |
if (b != 2 || NowUs () != 11) |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
696 |
{ |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
697 |
m_b = false; |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
698 |
} |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
699 |
else |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
700 |
{ |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
701 |
m_b = true; |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
702 |
} |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
703 |
Simulator::Remove (m_idC); |
162
5b398ac221c7
make Time relative instead of Absolute
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
150
diff
changeset
|
704 |
Simulator::Schedule (MicroSeconds (10), &SimulatorTests::D, this, 4); |
31
2def0da92178
add simulator tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
30
diff
changeset
|
705 |
} |
2def0da92178
add simulator tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
30
diff
changeset
|
706 |
void |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
707 |
SimulatorTests::C (int c) |
31
2def0da92178
add simulator tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
30
diff
changeset
|
708 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
709 |
m_c = false; |
31
2def0da92178
add simulator tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
30
diff
changeset
|
710 |
} |
32 | 711 |
void |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
712 |
SimulatorTests::D (int d) |
32 | 713 |
{ |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
714 |
if (d != 4 || NowUs () != (11+10)) |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
715 |
{ |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
716 |
m_d = false; |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
717 |
} |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
718 |
else |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
719 |
{ |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
720 |
m_d = true; |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
721 |
} |
32 | 722 |
} |
964
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
723 |
void |
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
724 |
SimulatorTests::destroy (void) |
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
725 |
{ |
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
726 |
if (m_destroyId.IsExpired ()) |
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
727 |
{ |
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
728 |
m_destroy = true; |
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
729 |
} |
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
730 |
} |
146
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
731 |
void |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
732 |
SimulatorTests::bar0 (void) |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
733 |
{} |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
734 |
void |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
735 |
SimulatorTests::bar1 (int) |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
736 |
{} |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
737 |
void |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
738 |
SimulatorTests::bar2 (int, int) |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
739 |
{} |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
740 |
void |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
741 |
SimulatorTests::bar3 (int, int, int) |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
742 |
{} |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
743 |
void |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
744 |
SimulatorTests::bar4 (int, int, int, int) |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
745 |
{} |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
746 |
void |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
747 |
SimulatorTests::bar5 (int, int, int, int, int) |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
748 |
{} |
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
749 |
|
945
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
750 |
void |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
751 |
SimulatorTests::baz1 (int &) |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
752 |
{} |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
753 |
void |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
754 |
SimulatorTests::baz2 (int &, int &) |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
755 |
{} |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
756 |
void |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
757 |
SimulatorTests::baz3 (int &, int &, int &) |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
758 |
{} |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
759 |
void |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
760 |
SimulatorTests::baz4 (int &, int &, int &, int &) |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
761 |
{} |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
762 |
void |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
763 |
SimulatorTests::baz5 (int &, int &, int &, int &, int &) |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
764 |
{} |
6b8efd6b621a
failing testcases to for events with references as arguments
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
927
diff
changeset
|
765 |
|
948
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
766 |
void |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
767 |
SimulatorTests::cbaz1 (const int &) |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
768 |
{} |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
769 |
void |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
770 |
SimulatorTests::cbaz2 (const int &, const int &) |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
771 |
{} |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
772 |
void |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
773 |
SimulatorTests::cbaz3 (const int &, const int &, const int &) |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
774 |
{} |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
775 |
void |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
776 |
SimulatorTests::cbaz4 (const int &, const int &, const int &, const int &) |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
777 |
{} |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
778 |
void |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
779 |
SimulatorTests::cbaz5 (const int &, const int &, const int &, const int &, const int &) |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
780 |
{} |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
781 |
|
1294
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
782 |
void |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
783 |
SimulatorTests::bar0c (void) const |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
784 |
{} |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
785 |
void |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
786 |
SimulatorTests::bar1c (int) const |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
787 |
{} |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
788 |
void |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
789 |
SimulatorTests::bar2c (int, int) const |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
790 |
{} |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
791 |
void |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
792 |
SimulatorTests::bar3c (int, int, int) const |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
793 |
{} |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
794 |
void |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
795 |
SimulatorTests::bar4c (int, int, int, int) const |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
796 |
{} |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
797 |
void |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
798 |
SimulatorTests::bar5c (int, int, int, int, int) const |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
799 |
{} |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
800 |
|
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
801 |
void |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
802 |
SimulatorTests::baz1c (int &) const |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
803 |
{} |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
804 |
void |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
805 |
SimulatorTests::baz2c (int &, int &) const |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
806 |
{} |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
807 |
void |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
808 |
SimulatorTests::baz3c (int &, int &, int &) const |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
809 |
{} |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
810 |
void |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
811 |
SimulatorTests::baz4c (int &, int &, int &, int &) const |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
812 |
{} |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
813 |
void |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
814 |
SimulatorTests::baz5c (int &, int &, int &, int &, int &) const |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
815 |
{} |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
816 |
|
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
817 |
void |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
818 |
SimulatorTests::cbaz1c (const int &) const |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
819 |
{} |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
820 |
void |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
821 |
SimulatorTests::cbaz2c (const int &, const int &) const |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
822 |
{} |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
823 |
void |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
824 |
SimulatorTests::cbaz3c (const int &, const int &, const int &) const |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
825 |
{} |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
826 |
void |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
827 |
SimulatorTests::cbaz4c (const int &, const int &, const int &, const int &) const |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
828 |
{} |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
829 |
void |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
830 |
SimulatorTests::cbaz5c (const int &, const int &, const int &, const int &, const int &) const |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
831 |
{} |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
832 |
|
114
fe0504af6d16
test each default event scheduler
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
111
diff
changeset
|
833 |
bool |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
834 |
SimulatorTests::RunOneTest (void) |
30
eb38b7903dfb
add empty simulator test
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
29
diff
changeset
|
835 |
{ |
1521
7563328d71ea
Use NS_TEST_* macros for simulator unit tests
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1296
diff
changeset
|
836 |
bool result = true; |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
837 |
m_a = true; |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
838 |
m_b = false; |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
839 |
m_c = true; |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
840 |
m_d = false; |
114
fe0504af6d16
test each default event scheduler
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
111
diff
changeset
|
841 |
|
162
5b398ac221c7
make Time relative instead of Absolute
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
150
diff
changeset
|
842 |
EventId a = Simulator::Schedule (MicroSeconds (10), &SimulatorTests::A, this, 1); |
5b398ac221c7
make Time relative instead of Absolute
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
150
diff
changeset
|
843 |
Simulator::Schedule (MicroSeconds (11), &SimulatorTests::B, this, 2); |
5b398ac221c7
make Time relative instead of Absolute
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
150
diff
changeset
|
844 |
m_idC = Simulator::Schedule (MicroSeconds (12), &SimulatorTests::C, this, 3); |
31
2def0da92178
add simulator tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
30
diff
changeset
|
845 |
|
1521
7563328d71ea
Use NS_TEST_* macros for simulator unit tests
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1296
diff
changeset
|
846 |
NS_TEST_ASSERT (!m_idC.IsExpired ()); |
7563328d71ea
Use NS_TEST_* macros for simulator unit tests
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1296
diff
changeset
|
847 |
NS_TEST_ASSERT (!a.IsExpired ()); |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
848 |
Simulator::Cancel (a); |
1521
7563328d71ea
Use NS_TEST_* macros for simulator unit tests
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1296
diff
changeset
|
849 |
NS_TEST_ASSERT (a.IsExpired ()); |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
850 |
Simulator::Run (); |
1521
7563328d71ea
Use NS_TEST_* macros for simulator unit tests
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1296
diff
changeset
|
851 |
NS_TEST_ASSERT (m_a); |
7563328d71ea
Use NS_TEST_* macros for simulator unit tests
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1296
diff
changeset
|
852 |
NS_TEST_ASSERT (m_b); |
7563328d71ea
Use NS_TEST_* macros for simulator unit tests
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1296
diff
changeset
|
853 |
NS_TEST_ASSERT (m_c); |
7563328d71ea
Use NS_TEST_* macros for simulator unit tests
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1296
diff
changeset
|
854 |
NS_TEST_ASSERT (m_d); |
7563328d71ea
Use NS_TEST_* macros for simulator unit tests
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1296
diff
changeset
|
855 |
return result; |
114
fe0504af6d16
test each default event scheduler
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
111
diff
changeset
|
856 |
} |
1294
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
857 |
void |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
858 |
SimulatorTests::RunTestsConst (void) const |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
859 |
{ |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
860 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar0c, this); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
861 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar1c, this, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
862 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar2c, this, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
863 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar3c, this, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
864 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar4c, this, 0, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
865 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar5c, this, 0, 0, 0, 0, 0); |
1296
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
866 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar0c, Ptr<const SimulatorTests> (this)); |
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
867 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar1c, Ptr<const SimulatorTests> (this), 0); |
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
868 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar2c, Ptr<const SimulatorTests> (this), 0, 0); |
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
869 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar3c, Ptr<const SimulatorTests> (this), 0, 0, 0); |
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
870 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar4c, Ptr<const SimulatorTests> (this), 0, 0, 0, 0); |
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
871 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar5c, Ptr<const SimulatorTests> (this), 0, 0, 0, 0, 0); |
1294
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
872 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::cbaz1c, this, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
873 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::cbaz2c, this, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
874 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::cbaz3c, this, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
875 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::cbaz4c, this, 0, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
876 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::cbaz5c, this, 0, 0, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
877 |
Simulator::ScheduleNow (&SimulatorTests::bar0c, this); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
878 |
Simulator::ScheduleNow (&SimulatorTests::bar1c, this, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
879 |
Simulator::ScheduleNow (&SimulatorTests::bar2c, this, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
880 |
Simulator::ScheduleNow (&SimulatorTests::bar3c, this, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
881 |
Simulator::ScheduleNow (&SimulatorTests::bar4c, this, 0, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
882 |
Simulator::ScheduleNow (&SimulatorTests::bar5c, this, 0, 0, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
883 |
Simulator::ScheduleNow (&SimulatorTests::cbaz1c, this, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
884 |
Simulator::ScheduleNow (&SimulatorTests::cbaz2c, this, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
885 |
Simulator::ScheduleNow (&SimulatorTests::cbaz3c, this, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
886 |
Simulator::ScheduleNow (&SimulatorTests::cbaz4c, this, 0, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
887 |
Simulator::ScheduleNow (&SimulatorTests::cbaz5c, this, 0, 0, 0, 0, 0); |
1296
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
888 |
Simulator::ScheduleNow (&SimulatorTests::bar0c, Ptr<const SimulatorTests> (this)); |
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
889 |
Simulator::ScheduleNow (&SimulatorTests::bar1c, Ptr<const SimulatorTests> (this), 0); |
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
890 |
Simulator::ScheduleNow (&SimulatorTests::bar2c, Ptr<const SimulatorTests> (this), 0, 0); |
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
891 |
Simulator::ScheduleNow (&SimulatorTests::bar3c, Ptr<const SimulatorTests> (this), 0, 0, 0); |
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
892 |
Simulator::ScheduleNow (&SimulatorTests::bar4c, Ptr<const SimulatorTests> (this), 0, 0, 0, 0); |
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
893 |
Simulator::ScheduleNow (&SimulatorTests::bar5c, Ptr<const SimulatorTests> (this), 0, 0, 0, 0, 0); |
1294
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
894 |
Simulator::ScheduleDestroy (&SimulatorTests::bar0c, this); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
895 |
Simulator::ScheduleDestroy (&SimulatorTests::bar1c, this, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
896 |
Simulator::ScheduleDestroy (&SimulatorTests::bar2c, this, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
897 |
Simulator::ScheduleDestroy (&SimulatorTests::bar3c, this, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
898 |
Simulator::ScheduleDestroy (&SimulatorTests::bar4c, this, 0, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
899 |
Simulator::ScheduleDestroy (&SimulatorTests::bar5c, this, 0, 0, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
900 |
Simulator::ScheduleDestroy (&SimulatorTests::cbaz1c, this, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
901 |
Simulator::ScheduleDestroy (&SimulatorTests::cbaz2c, this, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
902 |
Simulator::ScheduleDestroy (&SimulatorTests::cbaz3c, this, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
903 |
Simulator::ScheduleDestroy (&SimulatorTests::cbaz4c, this, 0, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
904 |
Simulator::ScheduleDestroy (&SimulatorTests::cbaz5c, this, 0, 0, 0, 0, 0); |
1296
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
905 |
Simulator::ScheduleDestroy (&SimulatorTests::bar0c, Ptr<const SimulatorTests> (this)); |
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
906 |
Simulator::ScheduleDestroy (&SimulatorTests::bar1c, Ptr<const SimulatorTests> (this), 0); |
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
907 |
Simulator::ScheduleDestroy (&SimulatorTests::bar2c, Ptr<const SimulatorTests> (this), 0, 0); |
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
908 |
Simulator::ScheduleDestroy (&SimulatorTests::bar3c, Ptr<const SimulatorTests> (this), 0, 0, 0); |
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
909 |
Simulator::ScheduleDestroy (&SimulatorTests::bar4c, Ptr<const SimulatorTests> (this), 0, 0, 0, 0); |
173efb6d92d8
fix last errors for new tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1294
diff
changeset
|
910 |
Simulator::ScheduleDestroy (&SimulatorTests::bar5c, Ptr<const SimulatorTests> (this), 0, 0, 0, 0, 0); |
1294
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
911 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::baz1c, this, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
912 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::baz2c, this, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
913 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::baz3c, this, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
914 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::baz4c, this, 0, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
915 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::baz5c, this, 0, 0, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
916 |
Simulator::ScheduleNow (&SimulatorTests::baz1c, this, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
917 |
Simulator::ScheduleNow (&SimulatorTests::baz2c, this, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
918 |
Simulator::ScheduleNow (&SimulatorTests::baz3c, this, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
919 |
Simulator::ScheduleNow (&SimulatorTests::baz4c, this, 0, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
920 |
Simulator::ScheduleNow (&SimulatorTests::baz5c, this, 0, 0, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
921 |
Simulator::ScheduleDestroy (&SimulatorTests::baz1c, this, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
922 |
Simulator::ScheduleDestroy (&SimulatorTests::baz2c, this, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
923 |
Simulator::ScheduleDestroy (&SimulatorTests::baz3c, this, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
924 |
Simulator::ScheduleDestroy (&SimulatorTests::baz4c, this, 0, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
925 |
Simulator::ScheduleDestroy (&SimulatorTests::baz5c, this, 0, 0, 0, 0, 0); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
926 |
|
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
927 |
Simulator::Run (); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
928 |
Simulator::Destroy (); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
929 |
} |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
930 |
|
114
fe0504af6d16
test each default event scheduler
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
111
diff
changeset
|
931 |
bool |
122
6b8f1eda5c57
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
121
diff
changeset
|
932 |
SimulatorTests::RunTests (void) |
114
fe0504af6d16
test each default event scheduler
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
111
diff
changeset
|
933 |
{ |
1521
7563328d71ea
Use NS_TEST_* macros for simulator unit tests
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1296
diff
changeset
|
934 |
bool result = true; |
7563328d71ea
Use NS_TEST_* macros for simulator unit tests
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1296
diff
changeset
|
935 |
|
1522
70371ffd0ce5
Call Simulator::Destroy () before running simulator unit tests, to force time to start from zero (some tests check for absolute times)
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1521
diff
changeset
|
936 |
Simulator::Destroy (); |
2559
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
937 |
Simulator::SetScheduler (CreateObject<SchedulerList> ()); |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
938 |
if (!RunOneTest ()) |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
939 |
{ |
1521
7563328d71ea
Use NS_TEST_* macros for simulator unit tests
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1296
diff
changeset
|
940 |
result = false; |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
941 |
} |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
942 |
Simulator::Destroy (); |
2559
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
943 |
Simulator::SetScheduler (CreateObject<SchedulerHeap> ()); |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
944 |
if (!RunOneTest ()) |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
945 |
{ |
1521
7563328d71ea
Use NS_TEST_* macros for simulator unit tests
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1296
diff
changeset
|
946 |
result = false; |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
947 |
} |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
948 |
Simulator::Destroy (); |
2559
ab98bf436a17
do not use DefaultValues in simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2503
diff
changeset
|
949 |
Simulator::SetScheduler (CreateObject<SchedulerMap> ()); |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
950 |
if (!RunOneTest ()) |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
951 |
{ |
1521
7563328d71ea
Use NS_TEST_* macros for simulator unit tests
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1296
diff
changeset
|
952 |
result = false; |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
953 |
} |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
954 |
Simulator::Destroy (); |
31
2def0da92178
add simulator tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
30
diff
changeset
|
955 |
|
146
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
956 |
|
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
957 |
Simulator::Schedule (Seconds (0.0), &foo0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
958 |
Simulator::Schedule (Seconds (0.0), &foo1, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
959 |
Simulator::Schedule (Seconds (0.0), &foo2, 0, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
960 |
Simulator::Schedule (Seconds (0.0), &foo3, 0, 0, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
961 |
Simulator::Schedule (Seconds (0.0), &foo4, 0, 0, 0, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
962 |
Simulator::Schedule (Seconds (0.0), &foo5, 0, 0, 0, 0, 0); |
948
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
963 |
Simulator::Schedule (Seconds (0.0), &cber1, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
964 |
Simulator::Schedule (Seconds (0.0), &cber2, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
965 |
Simulator::Schedule (Seconds (0.0), &cber3, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
966 |
Simulator::Schedule (Seconds (0.0), &cber4, 0, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
967 |
Simulator::Schedule (Seconds (0.0), &cber5, 0, 0, 0, 0, 0); |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
968 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar0, this); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
969 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar1, this, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
970 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar2, this, 0, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
971 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar3, this, 0, 0, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
972 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar4, this, 0, 0, 0, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
973 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar5, this, 0, 0, 0, 0, 0); |
690 | 974 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar0, Ptr<SimulatorTests> (this)); |
975 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar1, Ptr<SimulatorTests> (this), 0); |
|
976 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar2, Ptr<SimulatorTests> (this), 0, 0); |
|
977 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar3, Ptr<SimulatorTests> (this), 0, 0, 0); |
|
978 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar4, Ptr<SimulatorTests> (this), 0, 0, 0, 0); |
|
979 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::bar5, Ptr<SimulatorTests> (this), 0, 0, 0, 0, 0); |
|
948
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
980 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::cbaz1, this, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
981 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::cbaz2, this, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
982 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::cbaz3, this, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
983 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::cbaz4, this, 0, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
984 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::cbaz5, this, 0, 0, 0, 0, 0); |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
985 |
Simulator::ScheduleNow (&foo0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
986 |
Simulator::ScheduleNow (&foo1, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
987 |
Simulator::ScheduleNow (&foo2, 0, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
988 |
Simulator::ScheduleNow (&foo3, 0, 0, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
989 |
Simulator::ScheduleNow (&foo4, 0, 0, 0, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
990 |
Simulator::ScheduleNow (&foo5, 0, 0, 0, 0, 0); |
948
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
991 |
Simulator::ScheduleNow (&cber1, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
992 |
Simulator::ScheduleNow (&cber2, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
993 |
Simulator::ScheduleNow (&cber3, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
994 |
Simulator::ScheduleNow (&cber4, 0, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
995 |
Simulator::ScheduleNow (&cber5, 0, 0, 0, 0, 0); |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
996 |
Simulator::ScheduleNow (&SimulatorTests::bar0, this); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
997 |
Simulator::ScheduleNow (&SimulatorTests::bar1, this, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
998 |
Simulator::ScheduleNow (&SimulatorTests::bar2, this, 0, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
999 |
Simulator::ScheduleNow (&SimulatorTests::bar3, this, 0, 0, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
1000 |
Simulator::ScheduleNow (&SimulatorTests::bar4, this, 0, 0, 0, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
1001 |
Simulator::ScheduleNow (&SimulatorTests::bar5, this, 0, 0, 0, 0, 0); |
948
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1002 |
Simulator::ScheduleNow (&SimulatorTests::cbaz1, this, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1003 |
Simulator::ScheduleNow (&SimulatorTests::cbaz2, this, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1004 |
Simulator::ScheduleNow (&SimulatorTests::cbaz3, this, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1005 |
Simulator::ScheduleNow (&SimulatorTests::cbaz4, this, 0, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1006 |
Simulator::ScheduleNow (&SimulatorTests::cbaz5, this, 0, 0, 0, 0, 0); |
690 | 1007 |
Simulator::ScheduleNow (&SimulatorTests::bar0, Ptr<SimulatorTests> (this)); |
1008 |
Simulator::ScheduleNow (&SimulatorTests::bar1, Ptr<SimulatorTests> (this), 0); |
|
1009 |
Simulator::ScheduleNow (&SimulatorTests::bar2, Ptr<SimulatorTests> (this), 0, 0); |
|
1010 |
Simulator::ScheduleNow (&SimulatorTests::bar3, Ptr<SimulatorTests> (this), 0, 0, 0); |
|
1011 |
Simulator::ScheduleNow (&SimulatorTests::bar4, Ptr<SimulatorTests> (this), 0, 0, 0, 0); |
|
1012 |
Simulator::ScheduleNow (&SimulatorTests::bar5, Ptr<SimulatorTests> (this), 0, 0, 0, 0, 0); |
|
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
1013 |
Simulator::ScheduleDestroy (&foo0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
1014 |
Simulator::ScheduleDestroy (&foo1, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
1015 |
Simulator::ScheduleDestroy (&foo2, 0, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
1016 |
Simulator::ScheduleDestroy (&foo3, 0, 0, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
1017 |
Simulator::ScheduleDestroy (&foo4, 0, 0, 0, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
1018 |
Simulator::ScheduleDestroy (&foo5, 0, 0, 0, 0, 0); |
948
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1019 |
Simulator::ScheduleDestroy (&cber1, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1020 |
Simulator::ScheduleDestroy (&cber2, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1021 |
Simulator::ScheduleDestroy (&cber3, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1022 |
Simulator::ScheduleDestroy (&cber4, 0, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1023 |
Simulator::ScheduleDestroy (&cber5, 0, 0, 0, 0, 0); |
150
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
1024 |
Simulator::ScheduleDestroy (&SimulatorTests::bar0, this); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
1025 |
Simulator::ScheduleDestroy (&SimulatorTests::bar1, this, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
1026 |
Simulator::ScheduleDestroy (&SimulatorTests::bar2, this, 0, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
1027 |
Simulator::ScheduleDestroy (&SimulatorTests::bar3, this, 0, 0, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
1028 |
Simulator::ScheduleDestroy (&SimulatorTests::bar4, this, 0, 0, 0, 0); |
663120712cd9
fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
148
diff
changeset
|
1029 |
Simulator::ScheduleDestroy (&SimulatorTests::bar5, this, 0, 0, 0, 0, 0); |
948
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1030 |
Simulator::ScheduleDestroy (&SimulatorTests::cbaz1, this, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1031 |
Simulator::ScheduleDestroy (&SimulatorTests::cbaz2, this, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1032 |
Simulator::ScheduleDestroy (&SimulatorTests::cbaz3, this, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1033 |
Simulator::ScheduleDestroy (&SimulatorTests::cbaz4, this, 0, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1034 |
Simulator::ScheduleDestroy (&SimulatorTests::cbaz5, this, 0, 0, 0, 0, 0); |
690 | 1035 |
Simulator::ScheduleDestroy (&SimulatorTests::bar0, Ptr<SimulatorTests> (this)); |
1036 |
Simulator::ScheduleDestroy (&SimulatorTests::bar1, Ptr<SimulatorTests> (this), 0); |
|
1037 |
Simulator::ScheduleDestroy (&SimulatorTests::bar2, Ptr<SimulatorTests> (this), 0, 0); |
|
1038 |
Simulator::ScheduleDestroy (&SimulatorTests::bar3, Ptr<SimulatorTests> (this), 0, 0, 0); |
|
1039 |
Simulator::ScheduleDestroy (&SimulatorTests::bar4, Ptr<SimulatorTests> (this), 0, 0, 0, 0); |
|
1040 |
Simulator::ScheduleDestroy (&SimulatorTests::bar5, Ptr<SimulatorTests> (this), 0, 0, 0, 0, 0); |
|
181
006158ef00f1
fix memory leaks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
163
diff
changeset
|
1041 |
|
948
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1042 |
|
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1043 |
// the code below does not compile, as expected. |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1044 |
//Simulator::Schedule (Seconds (0.0), &cber1, 0.0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1045 |
|
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1046 |
#if 1 |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1047 |
Simulator::Schedule (Seconds (0.0), &ber1, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1048 |
Simulator::Schedule (Seconds (0.0), &ber2, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1049 |
Simulator::Schedule (Seconds (0.0), &ber3, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1050 |
Simulator::Schedule (Seconds (0.0), &ber4, 0, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1051 |
Simulator::Schedule (Seconds (0.0), &ber5, 0, 0, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1052 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::baz1, this, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1053 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::baz2, this, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1054 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::baz3, this, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1055 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::baz4, this, 0, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1056 |
Simulator::Schedule (Seconds (0.0), &SimulatorTests::baz5, this, 0, 0, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1057 |
Simulator::ScheduleNow (&ber1, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1058 |
Simulator::ScheduleNow (&ber2, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1059 |
Simulator::ScheduleNow (&ber3, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1060 |
Simulator::ScheduleNow (&ber4, 0, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1061 |
Simulator::ScheduleNow (&ber5, 0, 0, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1062 |
Simulator::ScheduleNow (&SimulatorTests::baz1, this, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1063 |
Simulator::ScheduleNow (&SimulatorTests::baz2, this, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1064 |
Simulator::ScheduleNow (&SimulatorTests::baz3, this, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1065 |
Simulator::ScheduleNow (&SimulatorTests::baz4, this, 0, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1066 |
Simulator::ScheduleNow (&SimulatorTests::baz5, this, 0, 0, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1067 |
Simulator::ScheduleDestroy (&ber1, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1068 |
Simulator::ScheduleDestroy (&ber2, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1069 |
Simulator::ScheduleDestroy (&ber3, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1070 |
Simulator::ScheduleDestroy (&ber4, 0, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1071 |
Simulator::ScheduleDestroy (&ber5, 0, 0, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1072 |
Simulator::ScheduleDestroy (&SimulatorTests::baz1, this, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1073 |
Simulator::ScheduleDestroy (&SimulatorTests::baz2, this, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1074 |
Simulator::ScheduleDestroy (&SimulatorTests::baz3, this, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1075 |
Simulator::ScheduleDestroy (&SimulatorTests::baz4, this, 0, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1076 |
Simulator::ScheduleDestroy (&SimulatorTests::baz5, this, 0, 0, 0, 0, 0); |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1077 |
#endif |
8dc076230f11
finish support for references as arguments to event handlers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
945
diff
changeset
|
1078 |
|
1294
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
1079 |
RunTestsConst (); |
b59fb36ab86a
add failing tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1224
diff
changeset
|
1080 |
|
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
1081 |
EventId nowId = Simulator::ScheduleNow (&foo0); |
964
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
1082 |
m_destroyId = Simulator::ScheduleDestroy (&SimulatorTests::destroy, this); |
1521
7563328d71ea
Use NS_TEST_* macros for simulator unit tests
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1296
diff
changeset
|
1083 |
NS_TEST_ASSERT (!m_destroyId.IsExpired ()); |
963
3a7a66d1942c
add support to cancel Now and Destroy events.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
948
diff
changeset
|
1084 |
|
181
006158ef00f1
fix memory leaks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
163
diff
changeset
|
1085 |
Simulator::Run (); |
964
e49de7414508
make sure IsExpired handles destroy events correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
963
diff
changeset
|
1086 |
m_destroy = false; |
181
006158ef00f1
fix memory leaks
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
163
diff
changeset
|
1087 |
Simulator::Destroy (); |
1521
7563328d71ea
Use NS_TEST_* macros for simulator unit tests
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1296
diff
changeset
|
1088 |
NS_TEST_ASSERT (m_destroy); |
146
2c9ef359e320
implement overloads for ScheduleNow and ScheduleDestroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
145
diff
changeset
|
1089 |
|
1008
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
1090 |
EventId anId = Simulator::ScheduleNow (&foo0); |
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
1091 |
EventId anotherId = anId; |
1521
7563328d71ea
Use NS_TEST_* macros for simulator unit tests
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1296
diff
changeset
|
1092 |
NS_TEST_ASSERT (!(anId.IsExpired () || anotherId.IsExpired ())); |
7563328d71ea
Use NS_TEST_* macros for simulator unit tests
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1296
diff
changeset
|
1093 |
|
1008
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
1094 |
Simulator::Remove (anId); |
1521
7563328d71ea
Use NS_TEST_* macros for simulator unit tests
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1296
diff
changeset
|
1095 |
NS_TEST_ASSERT (anId.IsExpired ()); |
7563328d71ea
Use NS_TEST_* macros for simulator unit tests
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1296
diff
changeset
|
1096 |
NS_TEST_ASSERT (anotherId.IsExpired ()); |
1008
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
1097 |
|
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
1098 |
Simulator::Run (); |
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
1099 |
Simulator::Destroy (); |
2357
d64b1561b1c2
Release all events left upon Simulator::Destroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1863
diff
changeset
|
1100 |
|
d64b1561b1c2
Release all events left upon Simulator::Destroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1863
diff
changeset
|
1101 |
Simulator::Schedule (Seconds (10.0), &SimulatorTests::baz1, this, 0); |
d64b1561b1c2
Release all events left upon Simulator::Destroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1863
diff
changeset
|
1102 |
Simulator::StopAt (Seconds (1.0)); |
d64b1561b1c2
Release all events left upon Simulator::Destroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1863
diff
changeset
|
1103 |
Simulator::Run (); |
d64b1561b1c2
Release all events left upon Simulator::Destroy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1863
diff
changeset
|
1104 |
Simulator::Destroy (); |
1008
6f2ea723a1db
use a Ptr<> to manage EventImpl instances
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1005
diff
changeset
|
1105 |
|
1521
7563328d71ea
Use NS_TEST_* macros for simulator unit tests
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents:
1296
diff
changeset
|
1106 |
return result; |
30
eb38b7903dfb
add empty simulator test
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
29
diff
changeset
|
1107 |
} |
eb38b7903dfb
add empty simulator test
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
29
diff
changeset
|
1108 |
|
53
ae406f4957d5
variable/method/function coding style update
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
52
diff
changeset
|
1109 |
SimulatorTests gSimulatorTests; |
30
eb38b7903dfb
add empty simulator test
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
29
diff
changeset
|
1110 |
|
eb38b7903dfb
add empty simulator test
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
29
diff
changeset
|
1111 |
}; // namespace ns3 |
eb38b7903dfb
add empty simulator test
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
29
diff
changeset
|
1112 |
|
eb38b7903dfb
add empty simulator test
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
29
diff
changeset
|
1113 |
#endif /* RUN_SELF_TESTS */ |
24 | 1114 |
|
1115 |
||
37
af78cb75be51
improve tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
36
diff
changeset
|
1116 |