#include <task-manager.h>
Collaboration diagram for ns3::Task:Public Types | |
| enum | SwitchType { TO, FROM } |
Public Member Functions | |
| void * | GetContext (void) const |
| void * | GetExtraContext (void) const |
| bool | IsActive (void) const |
| bool | IsBlocked (void) const |
| bool | IsDead (void) const |
| bool | IsRunning (void) const |
| void | SetContext (void *ctx) |
| void | SetExtraContext (void *ctx) |
| void | SetSwitchNotifier (void(*fn)(enum SwitchType, void *), void *context) |
Private Types | |
| enum | State { RUNNING, ACTIVE, BLOCKED, DEAD } |
Private Member Functions | |
| ~Task () | |
Private Attributes | |
| void * | m_context |
| void * | m_extraContext |
| Fiber * | m_fiber |
| enum State | m_state |
| void(* | m_switchNotifier )(enum SwitchType, void *) |
| void * | m_switchNotifierContext |
| EventId | m_waitTimer |
Friends | |
| class | TaskManager |
Definition at line 18 of file task-manager.h.
|
private |
Definition at line 41 of file task-manager.h.
Definition at line 21 of file task-manager.h.
|
private |
Definition at line 74 of file task-manager.cc.
| void * ns3::Task::GetContext | ( | void | ) | const |
Definition at line 62 of file task-manager.cc.
References m_context.
Referenced by ns3::Current(), and ns3::LinuxSocketFdFactory::TaskCurrent().
Here is the caller graph for this function:| void * ns3::Task::GetExtraContext | ( | void | ) | const |
Definition at line 57 of file task-manager.cc.
References m_extraContext.
Referenced by ns3::LinuxSocketImpl::ScheduleTaskTrampoline(), ns3::LinuxSocketFdFactory::ScheduleTaskTrampoline(), ns3::LinuxSocketFdFactory::TaskCurrent(), and ns3::LinuxSocketFdFactory::TaskStart().
Here is the caller graph for this function:| bool ns3::Task::IsActive | ( | void | ) | const |
Definition at line 27 of file task-manager.cc.
References ACTIVE, and m_state.
Referenced by ns3::Waiter::Wakeup(), and ns3::WaitPoint::WakeUpCallback().
Here is the caller graph for this function:| bool ns3::Task::IsBlocked | ( | void | ) | const |
Definition at line 37 of file task-manager.cc.
References BLOCKED, and m_state.
Referenced by dce_pthread_kill(), ns3::LinuxSocketFdFactory::TaskWakeup(), ns3::UtilsSendSignal(), ns3::Waiter::Wakeup(), and ns3::WaitPoint::WakeUpCallback().
Here is the caller graph for this function:| bool ns3::Task::IsDead | ( | void | ) | const |
Definition at line 42 of file task-manager.cc.
| bool ns3::Task::IsRunning | ( | void | ) | const |
Definition at line 32 of file task-manager.cc.
| void ns3::Task::SetContext | ( | void * | ctx | ) |
Definition at line 52 of file task-manager.cc.
References m_context.
Referenced by ns3::DceManager::Clone(), dce_pthread_create(), ns3::DceManager::Execve(), ns3::LinuxSocketImpl::ScheduleTask(), ns3::DceManager::Start(), ns3::DceManager::StartInternalTask(), and ns3::DceManager::StartTemporaryTask().
Here is the caller graph for this function:| void ns3::Task::SetExtraContext | ( | void * | ctx | ) |
Definition at line 47 of file task-manager.cc.
References m_extraContext.
Referenced by ns3::LinuxSocketFdFactory::ScheduleTask(), ns3::LinuxSocketImpl::ScheduleTask(), ns3::LinuxSocketImpl::ScheduleTaskTrampoline(), ns3::LinuxSocketFdFactory::ScheduleTaskTrampoline(), ns3::LinuxSocketFdFactory::TaskCurrent(), and ns3::LinuxSocketFdFactory::TaskStart().
Here is the caller graph for this function:| void ns3::Task::SetSwitchNotifier | ( | void(*)(enum SwitchType, void *) | fn, |
| void * | context | ||
| ) |
Definition at line 68 of file task-manager.cc.
References m_switchNotifier, and m_switchNotifierContext.
Referenced by ns3::DceManager::Clone(), dce_exit(), dce_pthread_create(), ns3::DceManager::Execve(), ns3::LinuxSocketFdFactory::ScheduleTask(), ns3::DceManager::Start(), and ns3::LinuxSocketFdFactory::TaskStart().
Here is the caller graph for this function:
|
friend |
Definition at line 39 of file task-manager.h.
|
private |
Definition at line 51 of file task-manager.h.
Referenced by ns3::TaskManager::Clone(), GetContext(), SetContext(), and ns3::TaskManager::Start().
|
private |
Definition at line 52 of file task-manager.h.
Referenced by ns3::TaskManager::Clone(), GetExtraContext(), SetExtraContext(), and ns3::TaskManager::Start().
|
private |
Definition at line 49 of file task-manager.h.
Referenced by ns3::TaskManager::Clone(), ns3::TaskManager::ExecOnMain(), ns3::TaskManager::GarbageCollectDeadTasks(), ns3::TaskManager::GetStackSize(), ns3::TaskManager::Schedule(), ns3::TaskManager::Start(), and ns3::TaskManager::Stop().
|
private |
Definition at line 48 of file task-manager.h.
Referenced by ns3::TaskManager::Clone(), ns3::TaskManager::EndWait(), ns3::TaskManager::Exit(), IsActive(), IsBlocked(), IsDead(), IsRunning(), ns3::TaskManager::Schedule(), ns3::TaskManager::Sleep(), ns3::TaskManager::Start(), ns3::TaskManager::Stop(), ns3::TaskManager::Wakeup(), and ns3::TaskManager::Yield().
|
private |
Definition at line 53 of file task-manager.h.
Referenced by ns3::TaskManager::Clone(), ns3::TaskManager::Schedule(), SetSwitchNotifier(), and ns3::TaskManager::Start().
|
private |
Definition at line 54 of file task-manager.h.
Referenced by ns3::TaskManager::Clone(), ns3::TaskManager::Schedule(), SetSwitchNotifier(), and ns3::TaskManager::Start().
|
private |
Definition at line 50 of file task-manager.h.
Referenced by ns3::TaskManager::Exit(), ns3::TaskManager::GarbageCollectDeadTasks(), ns3::TaskManager::Schedule(), ns3::TaskManager::Sleep(), and ns3::TaskManager::Stop().