NAME

orbwait - wait for reading programs to catch up -- deprecated

SYNOPSIS

#include "orb.h" ;

int orbwait(int orb, char *re, double mintime,
                 double timeout)

DESCRIPTION

This function allows a data producer to throttle its output to accommodate a slower data reader. It repeatedly queries the orbserver(1) specified by orb for the clients status, and waits for all reading clients with a program name which matches the regular expression re to have read packets which are younger than mintime. If timeout is non-zero, then orbwait returns with an error code if timeout expires without the specified programs catching up.

orblag(3) offers a more stable approach, as well as more flexibility, since the wait is not embedded in the routine, but implemented by the caller.

RETURN VALUES

orbwait returns 0 when no wait is necessary, a positive value when some wait was incurred, and when some reading clients of the orbserver match the regular expression, and all matching clients have read packets with time tags greater than or equal to the specified mintime. Other values indicate an error of some sort, and an error message is left on the error log.

LIBRARY

$(ORBLIBS)

SEE ALSO

orblag(3)
see the -w option in dbreplay(1)

BUGS AND CAVEATS

orbwait sleeps a maximum of a hard coded 10 seconds between checking whether the orb has caught up.

orbwait attempts to avoid a deadlock situation where the program it is following are at the leading edge of the orb, but the packet there is older than the mintime. Programs which are at the leading edge are not counted as behind, regardless of the time on the newest packet.

AUTHOR

Daniel Quinlan

Table of Contents
Antelope Release 4.7 Linux 2.4.19-4GB 2005-07-18
Boulder Real Time Technologies, Inc For more information, contact support@brtt.com