A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Loading...
Searching...
No Matches
event-impl.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2005,2006 INRIA
3
*
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation;
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program; if not, write to the Free Software
15
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
*
17
* Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
18
*/
19
#ifndef EVENT_IMPL_H
20
#define EVENT_IMPL_H
21
22
#include "
simple-ref-count.h
"
23
24
#include <stdint.h>
25
26
/**
27
* \file
28
* \ingroup events
29
* ns3::EventImpl declarations.
30
*/
31
32
namespace
ns3
33
{
34
35
/**
36
* \ingroup events
37
* \brief A simulation event.
38
*
39
* Each subclass of this base class represents a simulation event. The
40
* Invoke() method will be called by the simulation engine
41
* when it reaches the time associated to this event. Most subclasses
42
* are usually created by one of the many Simulator::Schedule
43
* methods.
44
*/
45
class
EventImpl
:
public
SimpleRefCount
<EventImpl>
46
{
47
public
:
48
/** Default constructor. */
49
EventImpl
();
50
/** Destructor. */
51
virtual
~EventImpl
() = 0;
52
/**
53
* Called by the simulation engine to notify the event that it is time
54
* to execute.
55
*/
56
void
Invoke
();
57
/**
58
* Marks the event as 'canceled'. The event is not removed from
59
* the event list but the simulation engine will check its canceled status
60
* before calling Invoke().
61
*/
62
void
Cancel
();
63
/**
64
* \returns true if the event has been canceled.
65
*
66
* Checked by the simulation engine before calling Invoke().
67
*/
68
bool
IsCancelled
();
69
70
protected
:
71
/**
72
* Implementation for Invoke().
73
*
74
* This typically calls a method or function pointer with the
75
* arguments bound by a call to one of the MakeEvent() functions.
76
*/
77
virtual
void
Notify
() = 0;
78
79
private
:
80
bool
m_cancel
;
/**< Has this event been cancelled. */
81
};
82
83
}
// namespace ns3
84
85
#endif
/* EVENT_IMPL_H */
ns3::EventImpl
A simulation event.
Definition:
event-impl.h:46
ns3::EventImpl::EventImpl
EventImpl()
Default constructor.
Definition:
event-impl.cc:40
ns3::EventImpl::Invoke
void Invoke()
Called by the simulation engine to notify the event that it is time to execute.
Definition:
event-impl.cc:47
ns3::EventImpl::Notify
virtual void Notify()=0
Implementation for Invoke().
ns3::EventImpl::Cancel
void Cancel()
Marks the event as 'canceled'.
Definition:
event-impl.cc:57
ns3::EventImpl::~EventImpl
virtual ~EventImpl()=0
Destructor.
Definition:
event-impl.cc:35
ns3::EventImpl::m_cancel
bool m_cancel
Has this event been cancelled.
Definition:
event-impl.h:80
ns3::EventImpl::IsCancelled
bool IsCancelled()
Definition:
event-impl.cc:64
ns3::SimpleRefCount
A template-based reference counting class.
Definition:
simple-ref-count.h:81
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
simple-ref-count.h
ns3::SimpleRefCount declaration and template implementation.
src
core
model
event-impl.h
Generated on Tue May 28 2024 23:34:29 for ns-3 by
1.9.6