class MessageWaiter
Defined at line 74 of file ../../zircon/kernel/object/include/object/channel_dispatcher.h
MessageWaiter's state is guarded by the lock of the
owning ChannelDispatcher, and Deliver(), Signal(), Cancel(),
and EndWait() methods must only be called under
that lock.
MessageWaiters are embedded in ThreadDispatchers, and the channel_ pointer
can only be manipulated by their thread (via BeginWait() or EndWait()), and
only transitions to nullptr while holding the ChannelDispatcher's lock.
See also: comments in ChannelDispatcher::Call()
Public Methods
fbl::RefPtr<ChannelDispatcher> get_channel ()
Defined at line 81 of file ../../zircon/kernel/object/include/object/channel_dispatcher.h
OwnedWaitQueue * get_wait_queue ()
Defined at line 82 of file ../../zircon/kernel/object/include/object/channel_dispatcher.h
zx_txid_t get_txid ()
Defined at line 89 of file ../../zircon/kernel/object/include/object/channel_dispatcher.h
void set_txid (zx_txid_t txid)
Defined at line 90 of file ../../zircon/kernel/object/include/object/channel_dispatcher.h
void ~MessageWaiter ()
Defined at line 648 of file ../../zircon/kernel/object/channel_dispatcher.cc
zx_status_t BeginWait (fbl::RefPtr<ChannelDispatcher> channel)
Defined at line 658 of file ../../zircon/kernel/object/channel_dispatcher.cc
void Deliver (MessagePacketPtr msg)
Defined at line 706 of file ../../zircon/kernel/object/channel_dispatcher.cc
void Cancel (zx_status_t status)
Defined at line 718 of file ../../zircon/kernel/object/channel_dispatcher.cc
zx_status_t Wait (const Deadline & deadline)
Defined at line 729 of file ../../zircon/kernel/object/channel_dispatcher.cc
zx_status_t EndWait (MessagePacketPtr * out)
Returns any delivered message via out and the status.
Defined at line 770 of file ../../zircon/kernel/object/channel_dispatcher.cc