lava icon indicating copy to clipboard operation
lava copied to clipboard

Make it easier to use Buffers for input and output

Open tim-shea opened this issue 2 years ago • 0 comments

User story

As a user, I want to be able to store or write multiple inputs, outputs, or vars easily, without creating many different RingBuffer processes.

Conditions of satisfaction

  • Allow a buffer to dynamically create ports and vars when it is connected.
  • Ensure that multiple buffers with different connectivity do not interfere with each other (e.g. due to the use of class members).
  • Provide flexible, user-configurable options for what to do when a buffer overflows:
    • Raise an error, since we may assume the user intended to match the length of a buffer to the number of timesteps
    • Wrap around, as with the current RingBuffers
    • Reallocate, e.g. by doubling the available memory in the buffer (as in C++ standard library containers)
  • Allow the user to create and connect a buffer without any duplication of shape parameters from the connected ports

tim-shea avatar Aug 06 '23 04:08 tim-shea