Barracuda Application Server C/C++ Reference
NO
BaTimer Struct Reference

Detailed Description

Timer manager used for one-shot and periodic callbacks.

BaTimer runs its own worker thread. Timer callbacks are therefore not executed in the HTTP request thread that created the timer.

#include <BaTimer.h>

Inheritance diagram for BaTimer:

Public Member Functions

 BaTimer (ThreadMutex *mutex, int stackSize, U32 ticklen=10, ThreadPriority priority=ThreadPrioNormal, AllocatorIntf *alloc=0)
 Create a BaTimer object and its worker thread. More...
 
 ~BaTimer ()
 Terminate the timer.
 
size_t set (BaTimer_CB cb, void *data, U32 milliSec)
 Create a timer event. More...
 
int reset (size_t tkey, U32 milliSec)
 Resets the timer. More...
 
int cancel (size_t tkey)
 Cancels the timer. More...
 
- Public Member Functions inherited from Thread
 Thread (Thread_Run r, ThreadPriority priority, int stackSize)
 Create a thread. More...
 
void start ()
 Start the thread.
 

Additional Inherited Members

- Static Public Member Functions inherited from Thread
static void sleep (unsigned int milliseconds)
 Suspend the current thread for n milliseconds.
 

Constructor & Destructor Documentation

◆ BaTimer()

BaTimer::BaTimer ( ThreadMutex mutex,
int  stackSize,
U32  ticklen = 10,
ThreadPriority  priority = ThreadPrioNormal,
AllocatorIntf alloc = 0 
)

Create a BaTimer object and its worker thread.

Parameters
mutexMutex shared with the server dispatcher.
stackSizeWorker thread stack size in bytes.
ticklenTimer tick interval in milliseconds.
priorityWorker thread priority.
allocOptional allocator used for timer nodes.

Member Function Documentation

◆ cancel()

int BaTimer::cancel ( size_t  tkey)

Cancels the timer.

Parameters
tkeythe timer key.
Returns
0 on success or a non-zero value if the timer key was not found.

◆ reset()

int BaTimer::reset ( size_t  tkey,
U32  milliSec 
)

Resets the timer.

Parameters
tkeythe timer key.
milliSecthe new timeout. The timer is reset from the time this method is called.

◆ set()

size_t BaTimer::set ( BaTimer_CB  cb,
void *  data,
U32  milliSec 
)

Create a timer event.

Parameters
cbthe timer event function.
datatransparent data passed to the event callback.
milliSecthe timer callback function is activated in "millisecs" time, unless method "reset" or "cancelled" is called before the timer triggers. The callback runs in the timer thread, not in the web-server request thread.
Returns
the timer key.