ns-3 Direct Code Execution
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fiber-manager.h
Go to the documentation of this file.
1 #ifndef FIBER_MANAGER_H
2 #define FIBER_MANAGER_H
3 
4 #include <stdint.h>
5 
6 namespace ns3 {
7 
8 struct Fiber
9 {};
10 
12 {
13 public:
14  virtual ~FiberManager ();
15 
16  virtual struct Fiber * Clone (struct Fiber *fiber)
17  {
18  return 0;
19  }
20 
28  virtual struct Fiber *Create (void (*callback)(void *),
29  void *context,
30  uint32_t stackSize) = 0;
41  virtual struct Fiber * CreateFromCaller (void) = 0;
42 
50  virtual void Delete (struct Fiber *fiber) = 0;
51 
63  virtual void SwitchTo (struct Fiber *from,
64  const struct Fiber *to) = 0;
65 
69  virtual uint32_t GetStackSize (struct Fiber *fiber) const = 0;
70 
75  virtual void SetSwitchNotification (void (*fn)(void)) = 0;
76 };
77 
78 } // namespace ns3
79 
80 #endif /* FIBER_MANAGER_H */