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