template <typename Self, zx_rights_t def_rights, zx_signals_t extra_signals = 0u, lockdep::LockFlags Flags = lockdep::LockFlagsNone>

class SoloDispatcher

Defined at line 346 of file ../../zircon/kernel/object/include/object/dispatcher.h

SoloDispatchers stand alone. Since they have no peer to coordinate with, they

directly contain their state lock. This is a CRTP template type to permit

the lock validator to distinguish between locks in different subclasses of

SoloDispatcher.

Protected Members

const fbl::Canary<CanaryTag<Self>::magic> canary_
::lockdep::LockDep<SoloDispatcher<Self, def_rights, extra_signals, Flags>, ::CriticalMutex, 384, ::lockdep::internal::DefaultLockFlags<Flags>::value> lock_

Public Methods

zx_rights_t default_rights ()

Defined at line 348 of file ../../zircon/kernel/object/include/object/dispatcher.h

void SoloDispatcher<Self, def_rights, extra_signals, Flags> (zx_signals_t signals)

At construction, the object is asserting |signals|.

Defined at line 351 of file ../../zircon/kernel/object/include/object/dispatcher.h

zx_koid_t get_related_koid ()

Related koid is overridden by subclasses, like thread and process.

Defined at line 354 of file ../../zircon/kernel/object/include/object/dispatcher.h

bool is_waitable ()

Defined at line 355 of file ../../zircon/kernel/object/include/object/dispatcher.h

zx_status_t user_signal_self (uint32_t clear_mask, uint32_t set_mask)

Defined at line 357 of file ../../zircon/kernel/object/include/object/dispatcher.h

zx_status_t user_signal_peer (uint32_t clear_mask, uint32_t set_mask)

Defined at line 370 of file ../../zircon/kernel/object/include/object/dispatcher.h

Protected Methods

Lock<CriticalMutex> * get_lock ()

Defined at line 375 of file ../../zircon/kernel/object/include/object/dispatcher.h