Yate
|
Atomic access and operations to shared variables. More...
#include <yatengine.h>
Public Member Functions | |
SharedVars (const char *name=0) | |
void | get (const String &name, String &rval) |
void | set (const String &name, const char *val) |
bool | create (const String &name, const char *val=0) |
void | clear (const String &name) |
void | clearAll () |
bool | exists (const String &name) |
uint64_t | inc (const String &name, uint64_t wrap=0) |
uint64_t | dec (const String &name, uint64_t wrap=0) |
uint64_t | add (const String &name, uint64_t val, uint64_t wrap=0) |
uint64_t | sub (const String &name, uint64_t val, uint64_t wrap=0) |
void | copy (NamedList &dest, const String &prefix=String::empty(), bool skipPrefix=true, bool replace=false) |
virtual const String & | toString () const |
![]() | |
Mutex (bool recursive=false, const char *name=0) | |
Mutex (const Mutex &original) | |
~Mutex () | |
Mutex & | operator= (const Mutex &original) |
virtual bool | lock (long maxwait=-1) |
virtual bool | unlock () |
virtual bool | locked () const |
const char * | owner () const |
bool | recursive () const |
virtual Mutex * | lockableMutex () |
![]() | |
virtual | ~Lockable () |
virtual bool | check (long maxwait=-1) |
virtual bool | unlockAll () |
virtual Semaphore * | lockableSemaphore () |
virtual RWLock * | lockableRWLock () |
![]() | |
RefObject () | |
virtual | ~RefObject () |
virtual void * | getObject (const String &name) const |
virtual bool | alive () const |
bool | ref () |
bool | deref () |
int | refcount () const |
virtual void | destruct () |
![]() | |
GenObject () | |
virtual | ~GenObject () |
virtual const String & | traceId () const |
NamedCounter * | getObjCounter () const |
NamedCounter * | setObjCounter (NamedCounter *counter) |
Static Public Member Functions | |
static bool | getList (RefPointer< SharedVars > &dest, const String &name) |
![]() | |
static int | count () |
static int | locks () |
static bool | efficientTimedLock () |
![]() | |
static void | wait (unsigned long maxwait) |
static unsigned long | wait () |
static void | startUsingNow () |
static void | enableSafety (bool safe=true) |
static bool | safety () |
![]() | |
static bool | alive (const RefObject *obj) |
static bool | efficientIncDec () |
![]() | |
static void * | getObject (const String &name, const GenObject *obj) |
static bool | getObjCounting () |
static void | setObjCounting (bool enable) |
static NamedCounter * | getObjCounter (const String &name, bool create=true) |
static ObjList & | getObjCounters () |
Additional Inherited Members | |
![]() | |
virtual void | zeroRefs () |
bool | resurrect () |
virtual void | destroyed () |
Atomic access and operations to shared variables.
Class that implements atomic / locked access and operations to its shared variables
|
inline |
Constructor
name | Optional name |
uint64_t add | ( | const String & | name, |
uint64_t | val, | ||
uint64_t | wrap = 0 ) |
Atomically add a value to a variable as unsigned integer
name | Name of the variable |
val | Value to add |
wrap | Value to wrap around at, zero disables |
void clear | ( | const String & | name | ) |
Clear a variable
name | Name of the variable to clear |
void clearAll | ( | ) |
Clear all variables. Does nothing for Engine (global shared list)
|
inline |
Atomically copy parameters to destination
dest | Destination list |
prefix | Optional prefix to match in parameter names |
skipPrefix | Skip over the prefix when building new parameter name |
replace | Set to true to replace list parameter instead of adding a new one |
References NamedList::copyParams(), and NamedList::copySubParams().
bool create | ( | const String & | name, |
const char * | val = 0 ) |
Create and set a variable only if the variable is not already set
name | Name of the variable to set |
val | New value to assign to a variable |
uint64_t dec | ( | const String & | name, |
uint64_t | wrap = 0 ) |
Atomically decrement a variable as unsigned integer
name | Name of the variable |
wrap | Value to wrap around at, zero disables (stucks at zero) |
bool exists | ( | const String & | name | ) |
Check if a variable exists
name | Name of the variable |
Get the string value of a variable
name | Name of the variable |
rval | String to return the value into |
|
static |
Retrieve a named list of SharedVars. Create it if not found
dest | Destination to be filled with requested list |
name | Name of the list |
uint64_t inc | ( | const String & | name, |
uint64_t | wrap = 0 ) |
Atomically increment a variable as unsigned integer
name | Name of the variable |
wrap | Value to wrap around at, zero disables |
void set | ( | const String & | name, |
const char * | val ) |
Set the string value of a variable
name | Name of the variable to set |
val | New value to assign to a variable |
uint64_t sub | ( | const String & | name, |
uint64_t | val, | ||
uint64_t | wrap = 0 ) |
Atomically substract a value from a variable as unsigned integer
name | Name of the variable |
val | Value to substract |
wrap | Value to wrap around at, zero disables |
|
inlinevirtual |