template <typename Lock, typename Waiter, typename Disabler>

class TxInterrupt

Defined at line 46 of file ../../zircon/system/ulib/uart/include/lib/uart/interrupt.h

Tx IRQ Handler's will be provided an instance of this class, providing the thread requirements

for calling each of the supported APIs. The synchronization cannot be enforced directly as a

protected object since the `Lock` encompasses more than the UART itself in some environments.

Public Methods

void TxInterrupt<Lock, Waiter, Disabler> (Lock & lock, Waiter & waiter, Disabler && disabler)

Defined at line 48 of file ../../zircon/system/ulib/uart/include/lib/uart/interrupt.h

auto Notify ()

Notifies blocked threads, that there is space available in the UART TX Fifo.

Defined at line 52 of file ../../zircon/system/ulib/uart/include/lib/uart/interrupt.h

auto DisableInterrupt ()

Disables TX IRQ, usually done when the TX HW Fifo is not empty, such that we can

efficientlly write larger chunks of data without having to block on individual characters.

Defined at line 56 of file ../../zircon/system/ulib/uart/include/lib/uart/interrupt.h

auto & lock ()

In some scenarios it is desirable to control the locking sequence. While unlikely in the TX

path, it shows symmertry with the RX handler.

Defined at line 60 of file ../../zircon/system/ulib/uart/include/lib/uart/interrupt.h