Similar to BufferView, but this can be unlocked with
an AnyBufferKey, so it can work for any buffer whose message types
support serialization and deserialization.
A buffer is a special type of node within a workflow that is able to store
and release data. When a session is finished, the buffered data from the
session will be automatically cleared.
This system parameter lets you get read-only access to the gate of a buffer
that exists within a workflow. Use a BufferKey or AnyBufferKey
to unlock the access.
This system parameter lets you get mutable access to the gate of a buffer
that exists within a workflow. Use a BufferKey or AnyBufferKey
to unlock the access.
The general identifying information for a buffer to locate it within the
world. This does not indicate anything about the type of messages that the
buffer can contain.
This is an alternative to the Buffer and CloneFromBuffer structs
which erases the explicit join behavior (pull vs clone) from the data type.
Instead it stores a function pointer and an enum for the intended behavior.
A Buffer whose message type has been anonymized, but which is known to
support serialization and deserialization. Joining this buffer type will
yield a JsonMessage.
Similar to a BufferKey except it can be used for any buffer that supports
serialization and deserialization without knowing the buffer’s specific
message type at compile time.
Similar to BufferMut, but this can be unlocked with a
JsonBufferKey, so it can work for any buffer whose message types support
serialization and deserialization.
Similar to BufferView, but this can be unlocked with
a JsonBufferKey, so it can work for any buffer whose message types
support serialization and deserialization.
What should the behavior be for this buffer when it gets joined? You can
make copies of the Buffer reference and give each copy a different behavior
so that it gets used differently for each join operation that it takes part in.
Describe how data within a buffer gets retained. Most mechanisms that pull
data from a buffer will remove the oldest item in the buffer, so this policy
is for dealing with situations where items are being stored faster than they
are being pulled.
Trait to describe a set of buffer keys. This allows listen and access
to work for arbitrary structs of buffer keys. Structs with this trait can be
produced by try_listen and try_create_buffer_access.
This trait can be implemented on structs that represent a layout of buffers.
You do not normally have to implement this yourself. Instead you should
#[derive(Joined)] on a struct that you want a join operation to
produce.
This trait can be implemented for structs that are created by joining together
values from a collection of buffers. This allows join to produce arbitrary
structs. Structs with this trait can be produced by try_join.
The return type for functions that push a new message into a buffer. If an
error occurs while deserializing the message into the buffer’s message type
then this will return Err.
The return type for functions that replace (swap out) one message with
another. If an error occurs while serializing or deserializing either
message to/from the buffer’s message type then this will return Err.
The return type for functions that give a JSON view of a message in a buffer.
If an error occurs while attempting to serialize the message, this will return
Err.