aboutsummaryrefslogtreecommitdiff
path: root/docs/ref
diff options
context:
space:
mode:
Diffstat (limited to 'docs/ref')
-rw-r--r--docs/ref/api/time.md26
-rw-r--r--docs/ref/xref.md6
2 files changed, 25 insertions, 7 deletions
diff --git a/docs/ref/api/time.md b/docs/ref/api/time.md
index 64d4039f..2855bca9 100644
--- a/docs/ref/api/time.md
+++ b/docs/ref/api/time.md
@@ -43,7 +43,7 @@ Normally durations are positive, but some specific negative values are reserved.
- {{i:`NNG_DURATION_ZERO`}}: A zero length duration is used to performan an immediate
poll.
-## Getting the Current Time
+## Get the Current Time
```c
nng_time nng_clock(void);
@@ -55,7 +55,7 @@ The resolution of the clock depends on the underlying timing facilities of the s
This function may be used for timing, but applications should not expect
very fine-grained values.
-## Waiting for Duration
+## Wait for Duration
```c
void nng_msleep(nng_duration msec);
@@ -69,9 +69,27 @@ number of milliseconds.
> The actual wait time is determined by the capabilities of the
> underlying system.
+## Wait Asynchronously
+
+```c
+void nng_sleep_aio(nng_duration msec, nng_aio *aio);
+```
+
+It is possible to wait as the action on an [`nng_aio`], which in effect
+acts like {{i:scheduling}} a callback to run after a specified period of time.
+
+The {{i:`nng_sleep_aio`}} function provides this capability.
+After _msec_ milliseconds have passed, then _aio_'s callback will be executed.
+If this sleep waits without interruption, and then completes, the result from
+[`nng_aio_result`] will be zero.
+
+> [!NOTE]
+> If a timeout shorter than _msec_ is set on _aio_ using [`nng_aio_set_timeout`],
+> then the sleep will wake up early, with a result code of [`NNG_ETIMEDOUT`].
+
## See Also
-[`nng_cv_until`],
-[`nng_sleep_aio`]
+[Asynchronous Operations][aio],
+[Synchronization][synchronization]
{{#include ../xref.md}}
diff --git a/docs/ref/xref.md b/docs/ref/xref.md
index 3abf999c..452ad25d 100644
--- a/docs/ref/xref.md
+++ b/docs/ref/xref.md
@@ -6,8 +6,8 @@
[`nng_strfree`]: /api/memory.md#free-string
[`nng_time`]: /api/time.md#time-type
[`nng_duration`]: /api/time.md#duration-type
-[`nng_clock`]: /api/time.md#getting-the-current-time
-[`nng_msleep`]: /api/time.md#waiting-for-duration
+[`nng_clock`]: /api/time.md#get-the-current-time
+[`nng_msleep`]: /api/time.md#wait-for-duration
[`nng_msg`]: /api/msg.md#message-structure
[`nng_msg_alloc`]: /api/msg.md#create-a-message
[`nng_msg_free`]: /api/msg.md#destroy-a-message
@@ -58,7 +58,7 @@
[`nng_aio`]: /TODO.md
[`nng_aio_alloc`]: /api/aio.md#create-handle
[`nng_aio_free`]: /api/aio.md#destroy-handle
-[`nng_sleep_aio`]: /TODO.md
+[`nng_sleep_aio`]: /api/time.md@wait-asynchronously
[`nng_aio`]: /api/aio.md#asynchronous-i-o-handle
[`nng_aio_cancel`]: /api/aio.md#cancellation
[`nng_aio_abort`]: /api/aio.md#cancellation