plebble
us::gov::bgtask Class Reference

#include <bgtask.h>

Inheritance diagram for us::gov::bgtask:
Collaboration diagram for us::gov::bgtask:

Classes

interface  callback
 

Public Member Functions

 bgtask ()
 
 bgtask (function< void()> run, function< void()> onwakeup)
 
virtual ~bgtask ()
 
void set_run_function (function< void()> r)
 
virtual ko start ()
 
virtual ko wait_ready (const chrono::system_clock::time_point &deadline) const
 
virtual void stop ()
 
virtual void join ()
 
void wakeup ()
 
bool isup () const
 
bool isdown () const
 
bool resumed () const
 
void run_ ()
 
void reset ()
 
bool reset_wait ()
 
bool reset_resume ()
 
bool is_active () const
 
 bgtask ()
 
 bgtask (callback cb0)
 
void set_callback (callback r)
 
ko start ()
 
ko wait_ready (Date deadline)
 
void stop ()
 
void join ()
 
void run ()
 
boolean reset_wait ()
 
void wakeup ()
 
boolean reset_resume ()
 
boolean isup ()
 
boolean isdown ()
 
boolean resumed ()
 
void reset ()
 
boolean is_active ()
 

Static Public Attributes

static const char * KO_81021
 
static ko KO_81021 =new ko("KO 81021 Ready status never reached.")
 

Protected Attributes

atomic< short > resume {0}
 
thread * th {nullptr}
 
bool active {false}
 
function< void()> run
 
function< void()> onwakeup
 
mutex mx_ready
 
bool ready {false}
 
condition_variable cv_ready
 
AtomicInteger resume =new AtomicInteger(0)
 
Thread th =null
 
boolean active =false
 
callback cb =null
 
ReentrantLock mx_ready = new ReentrantLock()
 
boolean ready =false
 
Condition cv_ready =mx_ready.newCondition()
 

Constructor & Destructor Documentation

◆ bgtask() [1/4]

us::gov::bgtask::bgtask ( )

◆ bgtask() [2/4]

us::gov::bgtask::bgtask ( function< void()>  run,
function< void()>  onwakeup 
)

◆ ~bgtask()

virtual us::gov::bgtask::~bgtask ( )
virtual

◆ bgtask() [3/4]

us.gov.bgtask.bgtask ( )
inline

References cb.

◆ bgtask() [4/4]

us.gov.bgtask.bgtask ( callback  cb0)
inline

References cb.

Member Function Documentation

◆ is_active() [1/2]

boolean us.gov.bgtask.is_active ( )
inline

Reimplemented in us::gov::cli::rpc_api.

References active.

◆ is_active() [2/2]

bool us::gov::bgtask::is_active ( ) const
inline

Referenced by us::gov::cli::rpc_api::is_active().

Here is the caller graph for this function:

◆ isdown() [1/2]

boolean us.gov.bgtask.isdown ( )
inline

References resume.

◆ isdown() [2/2]

bool us::gov::bgtask::isdown ( ) const
inline

Referenced by us::gov::cli::rpc_api::run_body(), and wait_ready().

Here is the caller graph for this function:

◆ isup() [1/2]

boolean us.gov.bgtask.isup ( )
inline

References resume.

◆ isup() [2/2]

bool us::gov::bgtask::isup ( ) const
inline

Referenced by us::gov::cli::rpc_api::run_body(), and us::gov::cli::rpc_api::wait_connected().

Here is the caller graph for this function:

◆ join() [1/2]

virtual void us::gov::bgtask::join ( )
virtual

◆ join() [2/2]

◆ reset() [1/2]

void us::gov::bgtask::reset ( )
inline

Referenced by start().

Here is the caller graph for this function:

◆ reset() [2/2]

void us.gov.bgtask.reset ( )
inline

References resume.

◆ reset_resume() [1/2]

bool us::gov::bgtask::reset_resume ( )

Referenced by wakeup().

Here is the caller graph for this function:

◆ reset_resume() [2/2]

boolean us.gov.bgtask.reset_resume ( )
inline

References resume.

◆ reset_wait() [1/2]

bool us::gov::bgtask::reset_wait ( )

◆ reset_wait() [2/2]

boolean us.gov.bgtask.reset_wait ( )
inline

References resume.

◆ resumed() [1/2]

boolean us.gov.bgtask.resumed ( )
inline

References resume.

◆ resumed() [2/2]

bool us::gov::bgtask::resumed ( ) const
inline

◆ run()

◆ run_()

void us::gov::bgtask::run_ ( )

◆ set_callback()

void us.gov.bgtask.set_callback ( callback  r)
inline

References cb.

Referenced by us::gov::cli::rpc_api.start().

Here is the caller graph for this function:

◆ set_run_function()

void us::gov::bgtask::set_run_function ( function< void()>  r)

◆ start() [1/2]

virtual ko us::gov::bgtask::start ( )
virtual

◆ start() [2/2]

ko us.gov.bgtask.start ( )
inline

◆ stop() [1/2]

◆ stop() [2/2]

void us.gov.bgtask.stop ( )
inline

◆ wait_ready() [1/2]

virtual ko us::gov::bgtask::wait_ready ( const chrono::system_clock::time_point &  deadline) const
virtual

◆ wait_ready() [2/2]

ko us.gov.bgtask.wait_ready ( Date  deadline)
inline

Reimplemented in us::gov::cli::rpc_api.

References cv_ready, isdown(), KO_81021, mx_ready, us.ok, and ready.

Here is the call graph for this function:

◆ wakeup() [1/2]

void us::gov::bgtask::wakeup ( )

Referenced by stop().

Here is the caller graph for this function:

◆ wakeup() [2/2]

void us.gov.bgtask.wakeup ( )
inline

Reimplemented in us::gov::peer::daemon, and us::gov::dfs::daemon.

References cb, us.gov.bgtask.callback.onwakeup(), and reset_resume().

Here is the call graph for this function:

Member Data Documentation

◆ active [1/2]

bool us::gov::bgtask::active {false}
protected

Referenced by is_active(), run(), start(), and stop().

◆ active [2/2]

boolean us.gov.bgtask.active =false
protected

◆ cb

callback us.gov.bgtask.cb =null
protected

Referenced by bgtask(), run(), set_callback(), start(), and wakeup().

◆ cv_ready [1/2]

condition_variable us::gov::bgtask::cv_ready
mutableprotected

Referenced by run(), and wait_ready().

◆ cv_ready [2/2]

Condition us.gov.bgtask.cv_ready =mx_ready.newCondition()
protected

◆ KO_81021 [1/2]

const char* us::gov::bgtask::KO_81021
static

Referenced by wait_ready().

◆ KO_81021 [2/2]

ko us.gov.bgtask.KO_81021 =new ko("KO 81021 Ready status never reached.")
static

◆ mx_ready [1/2]

mutex us::gov::bgtask::mx_ready
mutableprotected

Referenced by run(), and wait_ready().

◆ mx_ready [2/2]

ReentrantLock us.gov.bgtask.mx_ready = new ReentrantLock()
protected

◆ onwakeup

function<void ()> us::gov::bgtask::onwakeup
protected

◆ ready [1/2]

bool us::gov::bgtask::ready {false}
protected

Referenced by run(), and wait_ready().

◆ ready [2/2]

boolean us.gov.bgtask.ready =false
protected

◆ resume [1/2]

atomic<short> us::gov::bgtask::resume {0}
protected

◆ resume [2/2]

AtomicInteger us.gov.bgtask.resume =new AtomicInteger(0)
protected

◆ run

function<void ()> us::gov::bgtask::run
protected

◆ th [1/2]

thread* us::gov::bgtask::th {nullptr}
protected

Referenced by join(), start(), and stop().

◆ th [2/2]

Thread us.gov.bgtask.th =null
protected

The documentation for this class was generated from the following files: