On Saturday, 13 April 2013 at 01:26:16 UTC, James Wirth wrote:
The discussion:
http://forum.dlang.org/thread/mailman.426.1286264462.858.digitalmar...@puremagic.com?page=9
implies that:
receiveTimeout(dur!"msecs"(0), some-callback-function)
is acceptable - meaning that no blocking occurs. A simple
experiment verifies this - but I hesitate to use "undocumented"
features. Some APIs would interpret the 0 as infinity.
I also fear that placing such a nonblocking recieve into the
main event loop of a GUI program would impact performance - it
would also be non-generic. Is there a fast function which
returns true just when the "mail box" is non-empty?
Thanks
Make a small test and time it. I personally wouldn't expect to
see much slowdown from the extra code invoked by receiveTimeout
compared to the rest of a busy loop.
However, either special casing receiveTimeout for 0 duration or
introducing a new receiveNoBlock or similar would be good.