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.dob...@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 >
____________________ Racket Users list: http://lists.racket-lang.org/users