ost::timerport(3)

NAME

ost::TimerPort - Timer ports are used to provide synchro
nized timing
events when managed under a 'service thread' such as

SocketService

SYNOPSIS

#include <thread.h>
Inherited by ost::SerialPort, and ost::SocketPort.
Public Member Functions
TimerPort ()
    Create a timer, mark  it  as  inactive,  and  set  the
initial 'start'
    time to the creation time of the timer object.
void setTimer (timeout_t timeout=0)
    Set a new start time for the object based on when this
call is made
    and optionally activate  the  timer  for  a  specified
number of
    milliseconds.
void incTimer (timeout_t timeout)
    Set  a  timeout  based  on  the current time reference
value either from
    object creation or the last setTimer().
void decTimer (timeout_t timeout)
    Adjust a timeout based on the current  time  reference
value either
    from object creation or the last setTimer().
void sleepTimer (void)
    Sleep until the current timer expires.
void endTimer (void)
    This  is  used  to  'disable'  the service thread from
expiring the
    timer object.
timeout_t getTimer (void) const
    This is used by service threads to determine how  much
time remains
    before  the timer expires based on a timeout specified
in setTimer()
    or incTimer().
timeout_t getElapsed (void) const
    This is used to determine how much  time  has  elapsed
since a timer
    port setTimer benchmark time was initially set.

Detailed Description

Timer ports are used to provide synchronized timing events
when managed
under a 'service thread' such as SocketService.
This is made into a stand-alone base class since other de
rived
libraries (such as the serial handlers) may also use the
pooled
'service thread' model and hence also require this code
for managing
timing.
Author:
David Sugar <dyfet@ostel.com> synchronized millisecond
timing for
service threads.

Constructor & Destructor Documentation

ost::TimerPort::TimerPort ()
Create a timer, mark it as inactive, and set the initial
'start' time
to the creation time of the timer object.
This allows 'incTimer' to initially refer to time delays
relative to
the original start time of the object.

Member Function Documentation

void ost::TimerPort::setTimer (timeout_t timeout = 0)
Set a new start time for the object based on when this
call is made and
optionally activate the timer for a specified number of
milliseconds.
This can be used to set the starting time of a realtime
session.
Parameters:
timeout delay in milliseconds from 'now'
Reimplemented in ost::SerialPort, and ost::SocketPort.
void ost::TimerPort::incTimer (timeout_t timeout)
Set a timeout based on the current time reference value
either from
object creation or the last setTimer().
This reference can be used to time synchronize realtime
data over
specified intervals and force expiration when a new frame
should be
released in a synchronized manner.
Parameters:
timeout delay in milliseconds from reference.
Reimplemented in ost::SerialPort, and ost::SocketPort.
void ost::TimerPort::decTimer (timeout_t timeout)
Adjust a timeout based on the current time reference value
either from
object creation or the last setTimer().
This reference can be used to time synchronize realtime
data over
specified intervals and force expiration when a new frame
should be
released in a synchronized manner.
Parameters:
timeout delay in milliseconds from reference.
void ost::TimerPort::sleepTimer (void)
Sleep until the current timer expires.
This is useful in time syncing realtime periodic tasks.
void ost::TimerPort::endTimer (void)
This is used to 'disable' the service thread from expiring
the timer
object.
It does not effect the reference time from either creation
or a
setTimer().
timeout_t ost::TimerPort::getTimer (void) const
This is used by service threads to determine how much time
remains
before the timer expires based on a timeout specified in
setTimer() or
incTimer().
It can also be called after setting a timeout with
incTimer() to see if
the current timeout has already expired and hence that the
application
is already delayed and should skip frame(s).
return time remaining in milliseconds, or TIMEOUT_INF if
inactive.
timeout_t ost::TimerPort::getElapsed (void) const
This is used to determine how much time has elapsed since
a timer port
setTimer benchmark time was initially set.
This allows one to use setTimer() to set the timer to the
current time
and then measure elapsed time from that point forward.
return time elapsed in milliseconds, or TIMEOUT_INF if in
active.

Author

Generated automatically by Doxygen for GNU CommonC++ from
the source
code.
GNU CommonC++ 25 Aug 2008
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout