Function std.concurrency.receiveTimeout
Receives a message from another thread and gives up if no match arrives within a specified duration.
Receive a message from another thread, or block until duration
exceeds,
if no messages of the specified types are available. This function works
by pattern matching a message against a set of delegates and executing
the first match found.
If a delegate that accepts a Variant
is included as
the last argument, it will match any message that was not
matched by an earlier delegate. If more than one argument is sent,
the Variant
will contain a Tuple
of all values
sent.
Parameters
Name | Description |
---|---|
duration | Duration, how long to wait. If duration is negative,
won't wait at all. |
ops | Variadic list of function pointers and delegates. Entries in this list must not occlude later entries. |
Returns
true
if it received a message and false
if it timed out waiting
for one.
Throws
OwnerTerminated
when the sending thread was terminated.
Authors
Sean Kelly, Alex Rønne Petersen, Martin Nowak