Forward calls to a chain of Callback. More...
#include "traced-callback.h"
Collaboration diagram for ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >:Public Types | |
| typedef void(* | Uint32Callback) (const uint32_t value) |
| TracedCallback signature for POD. More... | |
Public Member Functions | |
| TracedCallback () | |
| Constructor. More... | |
| void | Connect (const CallbackBase &callback, std::string path) |
| Append a Callback to the chain with a context. More... | |
| void | ConnectWithoutContext (const CallbackBase &callback) |
| Append a Callback to the chain (without a context). More... | |
| void | Disconnect (const CallbackBase &callback, std::string path) |
| Remove from the chain a Callback which was connected with a context. More... | |
| void | DisconnectWithoutContext (const CallbackBase &callback) |
| Remove from the chain a Callback which was connected without a context. More... | |
Functors taking various numbers of arguments. | |
| void | operator() (void) const |
| Functor which invokes the chain of Callbacks. More... | |
| void | operator() (T1 a1) const |
| Functor which invokes the chain of Callbacks. More... | |
| void | operator() (T1 a1, T2 a2) const |
| Functor which invokes the chain of Callbacks. More... | |
| void | operator() (T1 a1, T2 a2, T3 a3) const |
| Functor which invokes the chain of Callbacks. More... | |
| void | operator() (T1 a1, T2 a2, T3 a3, T4 a4) const |
| Functor which invokes the chain of Callbacks. More... | |
| void | operator() (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5) const |
| Functor which invokes the chain of Callbacks. More... | |
| void | operator() (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6) const |
| Functor which invokes the chain of Callbacks. More... | |
| void | operator() (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7) const |
| Functor which invokes the chain of Callbacks. More... | |
| void | operator() (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8) const |
| Functor which invokes the chain of Callbacks. More... | |
Private Types | |
| typedef std::list< Callback< void, T1, T2, T3, T4, T5, T6, T7, T8 > > | CallbackList |
| Container type for holding the chain of Callbacks. More... | |
Private Attributes | |
| CallbackList | m_callbackList |
| The chain of Callbacks. More... | |
Forward calls to a chain of Callback.
An TracedCallback has almost exactly the same API as a normal Callback but instead of forwarding calls to a single function (as a Callback normally does), it forwards calls to a chain of Callback. Connect adds a Callback at the end of the chain of callbacks. Disconnect removes a Callback from the chain of callbacks.
This is a functor: the chain of Callbacks is invoked by calling one of the operator() forms with the appropriate number of arguments.
| T1 | [explicit] Type of the first argument to the functor. |
| T2 | [explicit] Type of the second argument to the functor. |
| T3 | [explicit] Type of the third argument to the functor. |
| T4 | [explicit] Type of the fourth argument to the functor. |
| T5 | [explicit] Type of the fifth argument to the functor. |
| T6 | [explicit] Type of the sixth argument to the functor. |
| T7 | [explicit] Type of the seventh argument to the functor. |
| T8 | [explicit] Type of the eighth argument to the functor. |
Definition at line 62 of file traced-callback.h.
|
private |
Container type for holding the chain of Callbacks.
| T1 | [deduced] Type of the first argument to the functor. |
| T2 | [deduced] Type of the second argument to the functor. |
| T3 | [deduced] Type of the third argument to the functor. |
| T4 | [deduced] Type of the fourth argument to the functor. |
| T5 | [deduced] Type of the fifth argument to the functor. |
| T6 | [deduced] Type of the sixth argument to the functor. |
| T7 | [deduced] Type of the seventh argument to the functor. |
| T8 | [deduced] Type of the eighth argument to the functor. |
Definition at line 237 of file traced-callback.h.
| typedef void(* ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::Uint32Callback) (const uint32_t value) |
TracedCallback signature for POD.
| [in] | value | Value of the traced variable. |
Definition at line 220 of file traced-callback.h.
| ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::TracedCallback | ( | ) |
Constructor.
Definition at line 255 of file traced-callback.h.
| void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::Connect | ( | const CallbackBase & | callback, |
| std::string | path | ||
| ) |
Append a Callback to the chain with a context.
The context string will be provided as the first argument to the Callback.
| [in] | callback | Callback to add to chain. |
| [in] | path | Context string to provide when invoking the Callback. |
Definition at line 276 of file traced-callback.h.
References ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::Assign(), ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::Bind(), and NS_FATAL_ERROR.
Referenced by ns3::TracedValue< TcpCongState_t >::Connect().
Here is the call graph for this function:
Here is the caller graph for this function:| void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::ConnectWithoutContext | ( | const CallbackBase & | callback | ) |
Append a Callback to the chain (without a context).
| [in] | callback | Callback to add to chain. |
Definition at line 264 of file traced-callback.h.
References ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::Assign(), and NS_FATAL_ERROR_NO_MSG.
Referenced by ns3::LteNetDevice::AddLinkChangeCallback(), ns3::WifiNetDevice::AddLinkChangeCallback(), ns3::SimpleNetDevice::AddLinkChangeCallback(), ns3::LrWpanNetDevice::AddLinkChangeCallback(), ns3::UanNetDevice::AddLinkChangeCallback(), ns3::FdNetDevice::AddLinkChangeCallback(), ns3::PointToPointNetDevice::AddLinkChangeCallback(), ns3::AlohaNoackNetDevice::AddLinkChangeCallback(), ns3::TapBridge::AddLinkChangeCallback(), ns3::CsmaNetDevice::AddLinkChangeCallback(), ns3::TracedValue< TcpCongState_t >::ConnectWithoutContext(), BasicTracedCallbackTestCase::DoRun(), TracedCallbackTypedefTestCase::Checker< T1, T2, T3, T4, T5 >::Invoke(), TracedCallbackTypedefTestCase::Checker< T1, T2, T3, T4, empty >::Invoke(), TracedCallbackTypedefTestCase::Checker< T1, T2, T3, empty, empty >::Invoke(), TracedCallbackTypedefTestCase::Checker< T1, T2, empty, empty, empty >::Invoke(), and TracedCallbackTypedefTestCase::Checker< T1, empty, empty, empty, empty >::Invoke().
Here is the call graph for this function:
Here is the caller graph for this function:| void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::Disconnect | ( | const CallbackBase & | callback, |
| std::string | path | ||
| ) |
Remove from the chain a Callback which was connected with a context.
| [in] | callback | Callback to remove from the chain. |
| [in] | path | Context path which was used to connect the Callback. |
Definition at line 309 of file traced-callback.h.
References ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::Assign(), ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::Bind(), ns3::Config::DisconnectWithoutContext(), and NS_FATAL_ERROR.
Referenced by ns3::TracedValue< TcpCongState_t >::Disconnect().
Here is the call graph for this function:
Here is the caller graph for this function:| void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::DisconnectWithoutContext | ( | const CallbackBase & | callback | ) |
Remove from the chain a Callback which was connected without a context.
| [in] | callback | Callback to remove from the chain. |
Definition at line 289 of file traced-callback.h.
Referenced by ns3::TracedValue< TcpCongState_t >::DisconnectWithoutContext(), and BasicTracedCallbackTestCase::DoRun().
Here is the caller graph for this function:| void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::operator() | ( | void | ) | const |
Functor which invokes the chain of Callbacks.
Definition at line 322 of file traced-callback.h.
| void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::operator() | ( | T1 | a1 | ) | const |
Functor which invokes the chain of Callbacks.
| T1 | [deduced] Type of the first argument to the functor. |
| [in] | a1 | The first argument to the functor. |
Definition at line 335 of file traced-callback.h.
| void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::operator() | ( | T1 | a1, |
| T2 | a2 | ||
| ) | const |
Functor which invokes the chain of Callbacks.
| T1 | [deduced] Type of the first argument to the functor. |
| T2 | [deduced] Type of the second argument to the functor. |
| [in] | a1 | The first argument to the functor. |
| [in] | a2 | The second argument to the functor. |
Definition at line 348 of file traced-callback.h.
| void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::operator() | ( | T1 | a1, |
| T2 | a2, | ||
| T3 | a3 | ||
| ) | const |
Functor which invokes the chain of Callbacks.
| T1 | [deduced] Type of the first argument to the functor. |
| T2 | [deduced] Type of the second argument to the functor. |
| T3 | [deduced] Type of the third argument to the functor. |
| [in] | a1 | The first argument to the functor. |
| [in] | a2 | The second argument to the functor. |
| [in] | a3 | The third argument to the functor. |
Definition at line 361 of file traced-callback.h.
| void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::operator() | ( | T1 | a1, |
| T2 | a2, | ||
| T3 | a3, | ||
| T4 | a4 | ||
| ) | const |
Functor which invokes the chain of Callbacks.
| T1 | [deduced] Type of the first argument to the functor. |
| T2 | [deduced] Type of the second argument to the functor. |
| T3 | [deduced] Type of the third argument to the functor. |
| T4 | [deduced] Type of the fourth argument to the functor. |
| [in] | a1 | The first argument to the functor. |
| [in] | a2 | The second argument to the functor. |
| [in] | a3 | The third argument to the functor. |
| [in] | a4 | The fourth argument to the functor. |
Definition at line 374 of file traced-callback.h.
| void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::operator() | ( | T1 | a1, |
| T2 | a2, | ||
| T3 | a3, | ||
| T4 | a4, | ||
| T5 | a5 | ||
| ) | const |
Functor which invokes the chain of Callbacks.
| T1 | [deduced] Type of the first argument to the functor. |
| T2 | [deduced] Type of the second argument to the functor. |
| T3 | [deduced] Type of the third argument to the functor. |
| T4 | [deduced] Type of the fourth argument to the functor. |
| T5 | [deduced] Type of the fifth argument to the functor. |
| [in] | a1 | The first argument to the functor. |
| [in] | a2 | The second argument to the functor. |
| [in] | a3 | The third argument to the functor. |
| [in] | a4 | The fourth argument to the functor. |
| [in] | a5 | The fifth argument to the functor. |
Definition at line 387 of file traced-callback.h.
| void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::operator() | ( | T1 | a1, |
| T2 | a2, | ||
| T3 | a3, | ||
| T4 | a4, | ||
| T5 | a5, | ||
| T6 | a6 | ||
| ) | const |
Functor which invokes the chain of Callbacks.
| T1 | [deduced] Type of the first argument to the functor. |
| T2 | [deduced] Type of the second argument to the functor. |
| T3 | [deduced] Type of the third argument to the functor. |
| T4 | [deduced] Type of the fourth argument to the functor. |
| T5 | [deduced] Type of the fifth argument to the functor. |
| T6 | [deduced] Type of the sixth argument to the functor. |
| [in] | a1 | The first argument to the functor. |
| [in] | a2 | The second argument to the functor. |
| [in] | a3 | The third argument to the functor. |
| [in] | a4 | The fourth argument to the functor. |
| [in] | a5 | The fifth argument to the functor. |
| [in] | a6 | The sixth argument to the functor. |
Definition at line 400 of file traced-callback.h.
| void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::operator() | ( | T1 | a1, |
| T2 | a2, | ||
| T3 | a3, | ||
| T4 | a4, | ||
| T5 | a5, | ||
| T6 | a6, | ||
| T7 | a7 | ||
| ) | const |
Functor which invokes the chain of Callbacks.
| T1 | [deduced] Type of the first argument to the functor. |
| T2 | [deduced] Type of the second argument to the functor. |
| T3 | [deduced] Type of the third argument to the functor. |
| T4 | [deduced] Type of the fourth argument to the functor. |
| T5 | [deduced] Type of the fifth argument to the functor. |
| T6 | [deduced] Type of the sixth argument to the functor. |
| T7 | [deduced] Type of the seventh argument to the functor. |
| [in] | a1 | The first argument to the functor. |
| [in] | a2 | The second argument to the functor. |
| [in] | a3 | The third argument to the functor. |
| [in] | a4 | The fourth argument to the functor. |
| [in] | a5 | The fifth argument to the functor. |
| [in] | a6 | The sixth argument to the functor. |
| [in] | a7 | The seventh argument to the functor. |
Definition at line 413 of file traced-callback.h.
| void ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::operator() | ( | T1 | a1, |
| T2 | a2, | ||
| T3 | a3, | ||
| T4 | a4, | ||
| T5 | a5, | ||
| T6 | a6, | ||
| T7 | a7, | ||
| T8 | a8 | ||
| ) | const |
Functor which invokes the chain of Callbacks.
| T1 | [deduced] Type of the first argument to the functor. |
| T2 | [deduced] Type of the second argument to the functor. |
| T3 | [deduced] Type of the third argument to the functor. |
| T4 | [deduced] Type of the fourth argument to the functor. |
| T5 | [deduced] Type of the fifth argument to the functor. |
| T6 | [deduced] Type of the sixth argument to the functor. |
| T7 | [deduced] Type of the seventh argument to the functor. |
| T8 | [deduced] Type of the eighth argument to the functor. |
| [in] | a1 | The first argument to the functor. |
| [in] | a2 | The second argument to the functor. |
| [in] | a3 | The third argument to the functor. |
| [in] | a4 | The fourth argument to the functor. |
| [in] | a5 | The fifth argument to the functor. |
| [in] | a6 | The sixth argument to the functor. |
| [in] | a7 | The seventh argument to the functor. |
| [in] | a8 | The eighth argument to the functor. |
Definition at line 426 of file traced-callback.h.
|
private |
The chain of Callbacks.
Definition at line 239 of file traced-callback.h.