Bug #270: Simulator::RunOneEvent
This commit is contained in:
@@ -156,6 +156,12 @@ DefaultSimulatorImpl::Run (void)
|
||||
NS_ASSERT(!m_events->IsEmpty () || m_unscheduledEvents == 0);
|
||||
}
|
||||
|
||||
void
|
||||
DefaultSimulatorImpl::RunOneEvent (void)
|
||||
{
|
||||
ProcessOneEvent ();
|
||||
}
|
||||
|
||||
void
|
||||
DefaultSimulatorImpl::Stop (void)
|
||||
{
|
||||
|
||||
@@ -55,6 +55,7 @@ public:
|
||||
virtual void Cancel (const EventId &ev);
|
||||
virtual bool IsExpired (const EventId &ev) const;
|
||||
virtual void Run (void);
|
||||
virtual void RunOneEvent (void);
|
||||
virtual Time Now (void) const;
|
||||
virtual Time GetDelayLeft (const EventId &id) const;
|
||||
virtual Time GetMaximumSimulationTime (void) const;
|
||||
|
||||
@@ -49,6 +49,7 @@ public:
|
||||
virtual void Cancel (const EventId &ev) = 0;
|
||||
virtual bool IsExpired (const EventId &ev) const = 0;
|
||||
virtual void Run (void) = 0;
|
||||
virtual void RunOneEvent (void) = 0;
|
||||
virtual Time Now (void) const = 0;
|
||||
virtual Time GetDelayLeft (const EventId &id) const = 0;
|
||||
virtual Time GetMaximumSimulationTime (void) const = 0;
|
||||
|
||||
@@ -145,6 +145,13 @@ Simulator::Run (void)
|
||||
GetImpl ()->Run ();
|
||||
}
|
||||
|
||||
void
|
||||
Simulator::RunOneEvent (void)
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
GetImpl ()->RunOneEvent ();
|
||||
}
|
||||
|
||||
void
|
||||
Simulator::Stop (void)
|
||||
{
|
||||
|
||||
@@ -116,6 +116,11 @@ public:
|
||||
*/
|
||||
static void Run (void);
|
||||
|
||||
/**
|
||||
* Process only the next simulation event, then return immediately.
|
||||
*/
|
||||
static void RunOneEvent (void);
|
||||
|
||||
/**
|
||||
* If an event invokes this method, it will be the last
|
||||
* event scheduled by the Simulator::run method before
|
||||
|
||||
Reference in New Issue
Block a user