[racket] Test for async-channel being full

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Fri Nov 29 15:27:46 EST 2013

I think that you roll your own syncronization primitive, instead of using
an async-channel. Create a thread and have a little loop that gets whatever
the events you want to support (e.g., get, put, is-full?) and then work
directly at this level. This is the beauty of CML; writing such things is
easy.

Robby


On Fri, Nov 29, 2013 at 2:23 PM, Eric Dobson <eric.n.dobson at gmail.com>wrote:

> I'm trying to make a custom output port that is backed by a
> async-channel. One of the operations that ports need to provide is an
> event that is ready when progress on the event can be made. But since
> I cannot tell if the async-channel is full and put would not block
> without actually sending a value, I cannot provide such an event. Is
> it possible to provide such an API or does the implementation of
> async-channels prevent this?
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20131129/8ff9a9be/attachment-0001.html>

Posted on the users mailing list.