Barrelfish
|
Libbarrelfish-private waitset interface to channel implementations. More...
Functions | |
errval_t | waitset_chan_trigger_disabled (struct waitset_chanstate *chan, dispatcher_handle_t handle) |
Trigger an event callback on a channel. More... | |
errval_t | waitset_chan_trigger_closure_disabled (struct waitset *ws, struct waitset_chanstate *chan, struct event_closure closure, dispatcher_handle_t handle) |
Trigger a specific event callback on an unregistered channel. More... | |
errval_t | waitset_chan_deregister_disabled (struct waitset_chanstate *chan, dispatcher_handle_t handle) |
Cancel a previous callback registration. More... | |
errval_t | waitset_chan_register_disabled (struct waitset *ws, struct waitset_chanstate *chan, struct event_closure closure) |
Register a closure to be called when a channel is triggered. More... | |
errval_t | waitset_chan_register_polled_disabled (struct waitset *ws, struct waitset_chanstate *chan, struct event_closure closure, dispatcher_handle_t handle) |
Register a closure on a channel, and mark the channel as polled. More... | |
Libbarrelfish-private waitset interface to channel implementations.
errval_t waitset_chan_deregister_disabled | ( | struct waitset_chanstate * | chan, |
dispatcher_handle_t | handle | ||
) |
Cancel a previous callback registration.
Remove the registration for a callback on the given channel. This function must only be called when disabled.
chan | Waitset's per-channel state |
errval_t waitset_chan_register_disabled | ( | struct waitset * | ws, |
struct waitset_chanstate * | chan, | ||
struct event_closure | closure | ||
) |
Register a closure to be called when a channel is triggered.
In the Future, call the closure on a thread associated with the waitset when the channel is triggered. Only one closure may be registered per channel state at any one time. This function must only be called when disabled.
ws | Waitset |
chan | Waitset's per-channel state |
closure | Event handler |
errval_t waitset_chan_register_polled_disabled | ( | struct waitset * | ws, |
struct waitset_chanstate * | chan, | ||
struct event_closure | closure, | ||
dispatcher_handle_t | handle | ||
) |
Register a closure on a channel, and mark the channel as polled.
In the Future, call the closure on a thread associated with the waitset when the channel is triggered. Only one closure may be registered per channel state at any one time. Additionally, mark the channel as polled. This function must only be called when disabled.
ws | Waitset |
chan | Waitset's per-channel state |
closure | Event handler |
disp | Current dispatcher pointer |
errval_t waitset_chan_trigger_closure_disabled | ( | struct waitset * | ws, |
struct waitset_chanstate * | chan, | ||
struct event_closure | closure, | ||
dispatcher_handle_t | handle | ||
) |
Trigger a specific event callback on an unregistered channel.
This function is equivalent to waitset_chan_register_disabled() immediately followed by waitset_chan_trigger_disabled(), but avoids unneccessary queue manipulation. This function must only be called when disabled.
ws | Waitset |
chan | Waitset's per-channel state |
closure | Event handler |
disp | Current dispatcher pointer |
errval_t waitset_chan_trigger_disabled | ( | struct waitset_chanstate * | chan, |
dispatcher_handle_t | handle | ||
) |
Trigger an event callback on a channel.
Marks the given channel as having a pending event, causing some future call to get_next_event() to return the registered closure. This function must only be called when disabled.
chan | Waitset's per-channel state |
disp | Current dispatcher pointer |