Skip to content

bursty stream fragmentation and reassembly blocks #31

Description

@guruofquality

Consider a bursty stream that uses start of frame labels (optional) and end of frame labels to designate the boundaries of a burst.

  • The burst fragmenter block is responsible for slicing the stream into MTU sized packets and appending a header that specifies the packet index (within the burst), start of burst an end of burst markers. The first element in a start of burst packet is the element with the start of frame label. The last element in an end of burst packet is the element with the end of frame label. This block is data type agnostic.
  • The burst reassembler block is responsible for converting between these formatted packets back into a labelled stream of bursts. This block takes the desired output data type as an input parameter.

Immediate use case: The burst fragmenter will accept bursts from a level detector that is fed by an audio source. This will enable the transmission of useful audio data over a link. The burst reassembler will feed the bursts to an audio sink which will use the end of frame label to stop the audio device and avoid underflow: pothosware/PothosAudio#2

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions