Module buffer

Module buffer 

Source

Structs§

AnyBuffer
A Buffer whose message type has been anonymized. Joining with this buffer type will yield an AnyMessageBox.
AnyBufferKey
Similar to a BufferKey except it can be used for any buffer without knowing the buffer’s message type at compile time.
AnyBufferMut
Similar to BufferMut, but this can be unlocked with an AnyBufferKey, so it can work for any buffer regardless of the data type inside.
AnyBufferView
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.
AnyMessageError
Buffer
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.
BufferAccess
This system parameter lets you get read-only access to a buffer that exists within a workflow. Use a BufferKey to unlock the access.
BufferAccessMut
This system parameter lets you get mutable access to a buffer that exists within a workflow. Use a BufferKey to unlock the access.
BufferGateAccess
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.
BufferGateAccessMut
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.
BufferGateMut
Access to mutate the gate of a buffer that exists inside a workflow.
BufferGateView
Access to view the gate of a buffer that exists inside a workflow.
BufferIncompatibility
Difference between the expected and received types of a named buffer.
BufferKey
This key can unlock access to the contents of a buffer by passing it into BufferAccess or BufferAccessMut.
BufferKeyBuilder
BufferKeyTag
The identifying information for a buffer key. This does not indicate anything about the type of messages that the buffer can contain.
BufferLocation
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.
BufferMut
Access to mutate a buffer that exists inside a workflow.
BufferSettings
Settings to describe the behavior of a buffer.
BufferView
Access to view a buffer that exists inside a workflow.
CloneFromBuffer
DrainAnyBuffer
DrainJsonBuffer
FetchFromBuffer
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.
IncompatibleLayout
This error is used when the buffers provided for an input are not compatible with the layout.
IterJsonBufferView
JsonBuffer
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.
JsonBufferKey
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.
JsonBufferMut
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.
JsonBufferView
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.
JsonMut
View or modify a buffer message in terms of JSON values.
MessageTypeHintEvaluation
A helper struct for putting together buffer type hint maps

Enums§

BufferError
BufferIdentifier
Uniquely identify a buffer within a buffer map, either by name or by an index value.
JoinBehavior
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.
JsonMessage
Represents any valid JSON value.
MessageTypeHint
This hint is used by the diagram builder to assign types to buffers who do not have any messages pushed into them directly as input.
RetentionPolicy
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.

Traits§

Accessible
This trait is used to create operations that access buffers or outputs.
Accessing
Accessor
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.
AddBufferToMap
Extension trait that makes it more convenient to insert buffers into a BufferMap.
AnyBufferAccessInterface
AnyBufferAccessMut
AnyBufferAccessMutState
AnyBufferWorldAccess
This trait allows World to give you access to any buffer using an AnyBufferKey.
AsAnyBuffer
A trait for turning a buffer into an AnyBuffer. It is expected that all buffer types implement this trait.
BufferKeyLifecycle
This trait is implemented by crate::BufferKey-like structs so their lifecycles can be managed.
BufferMapLayout
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.
BufferMapStruct
This trait helps auto-generated buffer map structs to implement the Buffering trait.
BufferWorldAccess
This trait allows World to give you access to any buffer using a BufferKey
Bufferable
Buffering
InspectBuffer
IterBufferable
Joinable
Joined
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.
Joining
JsonBufferWorldAccess
ManageBuffer

Type Aliases§

AnyMessageBox
AnyMessageMut
AnyMessagePushResult
AnyMessageRef
AnyMessageResult
BufferDowncastBox
BufferDowncastRef
BufferKeys
BufferMap
CloneForAnyFn
JoinedItem
JsonMessagePushResult
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.
JsonMessageReplaceResult
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.
JsonMessageViewResult
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.
KeyDowncastBox
KeyDowncastRef
MessageTypeHintMap

Derive Macros§

Accessor
Joined