| 
    Zth (libzth)
    
   | 
 
The fiber. More...
#include <fiber.h>
  
Public Types | |
| enum | State {  Uninitialized = 0 , New , Ready , Running , Waiting , Suspended , Dead }  | 
| typedef void() | FiberHook(Fiber &) | 
| typedef ContextAttr::EntryArg | EntryArg | 
| typedef void(* | Entry) (EntryArg) | 
  Public Types inherited from zth::Listable< Fiber > | |
| typedef Fiber | type | 
Public Member Functions | |
| Fiber (Entry entry, EntryArg arg=EntryArg()) | |
| virtual | ~Fiber () override | 
| int | setStackSize (size_t size) noexcept | 
| size_t | stackSize () const noexcept | 
| size_t | stackUsage () const | 
| Context * | context () const noexcept | 
| State | state () const noexcept | 
| void * | fls () const noexcept | 
| void | setFls (void *data=nullptr) noexcept | 
| Timestamp const & | runningSince () const noexcept | 
| Timestamp const & | stateEnd () const noexcept | 
| TimeInterval const & | totalTime () const noexcept | 
| void | addCleanup (void(*f)(Fiber &, void *), void *arg) | 
| int | init (Timestamp const &now=Timestamp::now()) | 
| int | run (Fiber &from, Timestamp now=Timestamp::now()) | 
| bool | allowYield (Timestamp const &now=Timestamp::now()) const noexcept | 
| void | kill () noexcept | 
| void | nap (Timestamp const &sleepUntil=Timestamp::null()) noexcept | 
| void | wakeup () noexcept | 
| void | suspend () noexcept | 
| void | resume () noexcept | 
| string | str () const | 
  Public Member Functions inherited from zth::Listable< Fiber > | |
| constexpr | Listable () noexcept | 
| constexpr | Listable (Listable const &e) noexcept | 
| Listable (Listable &&l) noexcept | |
| Listable & | operator= (Listable const &rhs) noexcept | 
| Listable & | operator= (Listable &&l) noexcept | 
| type * | listNext () const noexcept | 
| type * | listPrev () const noexcept | 
  Public Member Functions inherited from zth::UniqueID< Fiber > | |
| UniqueID (UniqueID const &)=delete | |
| UniqueID (UniqueID &&u) noexcept | |
| UniqueID (string const &name) | |
| UniqueID (string &&name) | |
| UniqueID (char const *name=nullptr) | |
| UniqueID & | operator= (UniqueID const &)=delete | 
| UniqueID & | operator= (UniqueID &&u) noexcept | 
| virtual | ~UniqueID ()=default | 
| void const * | normptr () const noexcept | 
| uint64_t | id () const noexcept | 
| string const & | name () const noexcept | 
| void | setName (string const &name) | 
| void | setName (char const *name) | 
| void | setName (string &&name) | 
| virtual char const * | id_str () const override | 
Static Public Attributes | |
| static FiberHook * | hookNew = nullptr | 
| Hook to be called when a Fiber is created.  More... | |
| static FiberHook * | hookDead = nullptr | 
| Hook to be called when a Fiber is destroyed.  More... | |
| static uintptr_t const | ExitUnknown = (uintptr_t)-1 | 
Protected Member Functions | |
| virtual void | changedName (string const &name) override | 
| void | setState (State state, Timestamp const &t=Timestamp::now()) noexcept | 
| void | fiberEntry_ () noexcept | 
  Protected Member Functions inherited from zth::UniqueIDBase | |
| virtual | ~UniqueIDBase ()=default | 
Static Protected Member Functions | |
| static void | fiberEntry (void *that) noexcept | 
Additional Inherited Members | |
  Static Public Member Functions inherited from zth::UniqueID< Fiber > | |
| static uint64_t | getID () noexcept | 
  Public Attributes inherited from zth::Listable< Fiber > | |
| Listable * | prev | 
| Listable * | left | 
| Listable * | next | 
| Listable * | right | 
The fiber.
This class manages a fiber's context and state, given an entry function.
Usually, don't subclass this class (use zth::Runnable instead), as the zth::Fiber is owned by and part of a zth::Worker's administration. For example, a Fiber object is deleted by the Worker when it is dead.
| enum zth::Fiber::State | 
      
  | 
  inline | 
      
  | 
  inlinenoexcept | 
      
  | 
  inlineoverrideprotectedvirtual | 
Reimplemented from zth::UniqueID< Fiber >.
      
  | 
  inlinenoexcept | 
      
  | 
  inlinestaticprotectednoexcept | 
      
  | 
  inline | 
      
  | 
  inlinenoexcept | 
      
  | 
  inlinenoexcept | 
      
  | 
  inline | 
      
  | 
  inlinenoexcept | 
      
  | 
  inlinenoexcept | 
      
  | 
  inlineprotectednoexcept | 
      
  | 
  inlinenoexcept | 
      
  | 
  inlinenoexcept | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static |