Skip to content

make DA blocks transient #22

@crotwell

Description

@crotwell

Thinking more about this, I do not like the multiple repeated data blocks in records. I think that something like the DA block is a really good idea for low latency transmission, but not for archiving and data center output.

For real time, the protocol for the sender would be:

  1. Send Header
  2. Repeat send DA blocks
  3. Send TE block
  4. Repeat from 1.

The receiver would:

  1. Receive Header, hold in memory
  2. Repeat on receive transient DA block:
    • += number of samples
    • += number of bytes
    • append data bytes
  3. Recieve TE block, append, close record
  4. Repeat from 1.

The archive storage would then look more like the 0622 spec with a header, one data section and a footer.

Consider a low latency case were we are sending a DA block every 0.1 seconds with 10 samples from a 100sps channel, not unreasonable if early warning is really going to work. The final record would have 6 bytes of DA block "header" bloat for the data which might fit into 10 bytes!

Over the wire, this makes sense as you want the low latency, but in the archive or for an end user it is terrible. Of course you can concatenate DA blcoks, but as soon as you do that why would you not concatenate all DA blocks within a record?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions