= nng_clock(3supp)
//
// Copyright 2024 Staysail Systems, Inc. <info@staysail.tech>
// Copyright 2018 Capitar IT Group BV <info@capitar.com>
//
// This document is supplied under the terms of the MIT License, a
// copy of which should be located in the distribution where this
// file was obtained (LICENSE.txt).  A copy of the license may also be
// found online at https://opensource.org/licenses/MIT.
//

== NAME

nng_clock - get time

== SYNOPSIS

[source, c]
----
#include <nng/nng.h>

typedef uint64_t nng_time;

nng_time nng_clock(void);
----

== DESCRIPTION

The `nng_clock()` returns the number of elapsed milliseconds since some
arbitrary time in the past.
The resolution of the clock depends on the underlying timing facilities
of the system.
This function may be used for timing, but applications should not expect
very fine-grained values.

IMPORTANT: The reference time will be the same for a given program,
but different programs may have different references.

TIP: This function should help with setting appropriate timeouts.

== RETURN VALUES

Milliseconds since reference time.

== ERRORS

None.

== SEE ALSO

[.text-left]
xref:nng_sleep_aio.3.adoc[nng_sleep_aio(3)],
xref:nng_strerror.3.adoc[nng_strerror(3)],
xref:nng_cv_until.3supp.adoc[nng_cv_until(3supp)],
xref:nng_msleep.3supp.adoc[nng_msleep(3supp)],
xref:nng_duration.5.adoc[nng_duration(5)],
xref:nng.7.adoc[nng(7)]
