logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

ost::TimerPort - Timer ports are used to provide synchronized timing events when managed under a 'service

Author

       Generated automatically by Doxygen for GNU CommonC++ from the source code.

GNU CommonC++                                    Sun Dec 27 2020                               ost::TimerPort(3)

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.

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 derived 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.

Member Function Documentation

voidost::TimerPort::decTimer(timeout_ttimeout)
       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.

       Parameterstimeout delay in milliseconds from reference.

   voidost::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_tost::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 inactive.

   timeout_tost::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.

   voidost::TimerPort::incTimer(timeout_ttimeout)
       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.

       Parameterstimeout delay in milliseconds from reference.

   voidost::TimerPort::setTimer(timeout_ttimeout=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.

       Parameterstimeout delay in milliseconds from 'now'

   voidost::TimerPort::sleepTimer(void)
       Sleep until the current timer expires. This is useful in time syncing realtime periodic tasks.

Name

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

Synopsis

       #include <thread.h>

       Inherited by ost::SerialPort, and ost::SocketPort.

   PublicMemberFunctionsTimerPort ()
           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_tgetTimer (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_tgetElapsed (void) const
           This is used to determine how much time has elapsed since a timer port setTimer benchmark time was
           initially set.

See Also