zclock (3) Linux Manual Page
zclock – millisecond clocks and delays
Synopsis
// Sleep for a number of milliseconds CZMQ_EXPORT void zclock_sleep (int msecs); // Return current system clock as milliseconds. Note that this clock can // jump backwards (if the system clock is changed) so is unsafe to use for // timers and time offsets. Use zclock_mono for that instead. CZMQ_EXPORT int64_t zclock_time (void); // Return current monotonic clock in milliseconds. Use this when you compute // time offsets. The monotonic clock is not affected by system changes and // so will never be reset backwards, unlike a system clock. CZMQ_EXPORT int64_t zclock_mono (void); // Return current monotonic clock in microseconds. Use this when you compute // time offsets. The monotonic clock is not affected by system changes and // so will never be reset backwards, unlike a system clock. CZMQ_EXPORT int64_t zclock_usecs (void); // Return formatted date/time as fresh string. Free using zstr_free(). CZMQ_EXPORT char * zclock_timestr (void); // Self test of this class CZMQ_EXPORT void zclock_test (bool verbose);
Description
The zclock class provides essential sleep and system time functions, used to slow down threads for testing, and calculate timers for polling. Wraps the non-portable system calls in a simple portable API.
The Win32 Sleep() call defaults to 16ms resolution unless the system timer resolution is increased with a call to timeBeginPeriod() permitting 1ms granularity.
Example
From zclock_test method.
int64_t start = zclock_time();
zclock_sleep(10);
assert((zclock_time() - start) >= 10);
start = zclock_mono();
int64_t usecs = zclock_usecs();
zclock_sleep(10);
assert((zclock_mono() - start) >= 10);
assert((zclock_usecs() - usecs) >= 10000);
char *timestr = zclock_timestr();
if (verbose)
puts(timestr);
free(timestr);
Authors
The czmq manual was written by the authors in the AUTHORS file.
Resources
Main web site: m[blue]m[]
Report bugs to the email <m[blue]zeromq-dev [at] lists.zeromq.orgm[][1]>
Copyright
Copyright (c) 1991-2012 iMatix Corporation — http://www.imatix.com Copyright other contributors as noted in the AUTHORS file. This file is part of CZMQ, the high-level C binding for 0MQ: http://czmq.zeromq.org This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. LICENSE included with the czmq distribution.
Notes
- 1.
- zeromq-dev [at] lists.zeromq.org
- mailto:zeromq-dev [at] lists.zeromq.org
