Producer#

A producer block provides the following interactions with the application producer component:

  • During setup phase:

    • Synchronization:

      • Accepts producer synchronization requirements.

      • Reports consumer synchronization requirements.

      • Accepts producer allocated sync objects.

      • Reports consumer allocated sync objects.

    • Buffers

      • Accepts list of element attributes producer can generate.

      • Reports consolidated packet attribute list.

      • Reports all allocated packets.

  • During streaming phase:

    • Signals availability of packets for reuse.

    • Retrieves next packet to reuse with fence to wait for before writing.

    • Accepts filled packet with fence to wait for before consumer should read.