Skip to main content

Module broadcaster

Module broadcaster 

Source
Expand description

The CTB broadcaster (docs/rhdl_ubft-ctb.md): upstream tail-cb/broadcaster.hpp as a step kernel.

  • Each message gets the next index and goes out as one data record to every receiver (the transport fans it out).
  • Every message is kept for the tail. While the slow path is on, each kept message is digested, signed under the CTB context (role 2) and the signature sent, including messages admitted before the slow path was turned on (a late fallback must be able to decide them). A message pushed out of the tail before its signature is done is dropped from signing, as upstream, since no receiver still holds it.
  • Every response carries (slot, idx); a stale one is dropped.
  • No throw: an index at the wrap guard is a fault and stops admission.

Structs§

BcConfig
One-time configuration.
BcData
The data record to send to every receiver.
BcEntry
A message in the tail, while it is being signed.
BcIn
Inputs.
BcMsg
A message to broadcast.
BcOut
Outputs.
BcSigOut
The signature record to send to every receiver.
BcSignReq
Sign the CTB context for (slot, idx).
BcSigned
A signature from the service.
BcState
State.

Functions§

bc_step
One cycle of the broadcaster.
empty_bc_entry
A zero entry, for kernels.