Skip to content

Microsoft.Orleans.Streaming

10.0.0 · net10.0

Orleans

RegexImplicitStreamSubscriptionAttribute

class
The [Orleans.RegexImplicitStreamSubscription] attribute is used to mark grains as implicit stream subscriptions by filtering stream namespaces to subscribe using a regular expression.

Orleans.Configuration

LeaseBasedQueueBalancerOptions

class
Config for LeaseBasedQueueBalancer. User need to configure this option in order to use LeaseBasedQueueBalancer in the stream provider. Per stream provider options can be configured as named options using the same name as the provider.

RunState

enum
Identifies well-known points in the lifecycle of the streaming system.

Orleans.Hosting

ClientBuilderStreamingExtensions

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

SimpleGeneratorOptions

class
Simple generator configuration class. This class is used to configure a generator stream provider to generate streams using the SimpleGenerator

Orleans.Providers

MemoryAdapterFactory<TSerializer>

class
Adapter factory for in memory stream provider. This factory acts as the adapter and the adapter factory. The events are stored in an in-memory grain that behaves as an event queue, this provider adapter is primarily used for testing

MemoryMessageData

struct
Represents the event sent and received from an In-Memory queue grain.

MemoryStreamQueueGrain

class
Memory stream queue grain. This grain works as a storage queue of event data. Enqueue and Dequeue operations are supported. the max event count sets the max storage limit to the queue.

Orleans.Providers.Streams.Common

CachedMessage

struct
This is a tightly packed cached structure containing a queue message. It should only contain value types.

CachedMessageBlock

class
CachedMessageBlock is a block of tightly packed structures containing tracking data for cached messages. This data is tightly packed to reduced GC pressure. The tracking data is used by the queue cache to walk the cache serving ordered queue messages by stream.

DefaultBlockPoolMonitor

class
Block pool monitor used as a default option in GeneratorStreamProvider and MemoryStreamProvider.

DefaultCacheMonitor

class
cache monitor used as a default option in GeneratorStreamprovider and MemoryStreamProvider

EventSequenceToken

class
Stream sequence token that tracks sequence number and event index

FixedSizeBuffer

class
Manages a contiguous block of memory. Calls purge action with itself as the purge request when it's signaled to purge.

IBlockPoolMonitor

interface
Monitor track block pool related metrics. Block pool is used in cache system for memory management

ICacheDataAdapter

interface
Pooled queue cache stores data in tightly packed structures that need to be transformed to various other formats quickly. Since the data formats may change by queue type and data format, this interface allows adapter developers to build custom data transforms appropriate for the various types of queue data.

ICacheMonitor

interface
Responsible for monitoring cache related metrics.

IObjectPool<T>

interface
Simple object pool Interface. Objects allocated should be returned to the pool when disposed.

ObjectPool<T>

class
Simple object pool that uses a stack to store available objects.

ObjectPoolMonitorBridge

class
ObjectPoolMonitor report metrics for ObjectPool, which are based on object count. BlockPoolMonitor report metrics for BlockPool, which are based on memory size. These two monitor converge in orleans cache infrastructure, where ObjectPool is used as block pool to allocate memory, where each object represent a block of memory which has a size. ObjectPoolMonitorBridge is the bridge between these two monitors in cache infrastructure. When ObjectPoolMonitor is reporting a metric, the user configured BlockPoolMonitor will call its counterpart method and reporting metric based on the math: memoryInByte = objectCount*objectSizeInByte

PooledQueueCache

class
The PooledQueueCache is a cache that is intended to serve as a message cache in an IQueueCache. It is capable of storing large numbers of messages (gigs worth of messages) for extended periods of time (minutes to indefinite), while incurring a minimal performance hit due to garbage collection. This pooled cache allocates memory and never releases it. It keeps freed resources available in pools that remain in application use through the life of the service. This means these objects go to gen2, are compacted, and then stay there. This is relatively cheap, as the only cost they now incur is the cost of checking to see if they should be freed in each collection cycle. Since this cache uses small numbers of large objects with relatively simple object graphs, they are less costly to check then large numbers of smaller objects with more complex object graphs. For performance reasons this cache is designed to more closely align with queue specific data. This is, in part, why, unlike the SimpleQueueCache, this cache does not implement IQueueCache. It is intended to be used in queue specific implementations of IQueueCache.

PooledResource<T>

class
Utility class to support pooled objects by allowing them to track the pool they came from and return to it when disposed

SegmentBuilder

class
Utility class for encoding data into an ArraySegment.

Orleans.Providers.Streams.Generator

GeneratorAdapterFactory

class
Adapter factory for stream generator stream provider. This factory acts as the adapter and the adapter factory. It creates receivers that use configurable generator to generate event streams, rather than reading them from storage.

IStreamGenerator

interface
Interface of generators used by the GeneratorStreamProvider. Any method of generating events must conform to this interface to be used by the GeneratorStreamProvider.

IStreamGeneratorConfig

interface
Interface of configuration for generators used by the GeneratorStreamProvider. This interface covers the minimal set of information the stream provider needs to configure a generator to generate data. Generators should add any additional configuration information needed to it's implementation of this interface.

Orleans.Runtime

StreamId

struct
Identifies a Stream within a provider

Orleans.Runtime.Providers

IMessageDeliveryBackoffProvider

interface
Functionality for determining how long the Orleans.Streams.IPersistentStreamPullingAgent will wait between successive attempts to deliver a message.

IQueueReaderBackoffProvider

interface
Functionality for determining how long the Orleans.Streams.IPersistentStreamPullingAgent will wait between successive attempts to read a message from a queue.

Orleans.Streaming.Diagnostics

BalancerChanged

class
Event payload for when queue ownership changes after rebalancing completes.

ConsumerCursorDrained

class
Event payload for when a consumer cursor is drained and no more currently available work remains.

ItemDelivered

class
Event payload for when an individual item from a stream batch is delivered to a consumer.

MessageDelivered

class
Event payload for when a stream message is delivered to a consumer.

ProducerRegistered

class
Event payload for when a producer is durably registered in pubsub state for a stream.

ProducerUnregistered

class
Event payload for when a producer is durably removed from pubsub state for a stream.

StreamInactive

class
Event payload for when a stream becomes inactive due to no activity.

StreamingEvent

class
The base class used for streaming diagnostic events.

StreamingEvents

class
Provides the diagnostic listener and event payload types for Orleans streaming events.

SubscriptionAttached

class
Event payload for when a stream subscription is attached to a pulling agent and ready to receive data.

SubscriptionDetached

class
Event payload for when a stream subscription is detached from a pulling agent.

SubscriptionRegistered

class
Event payload for when a stream subscription is durably registered in pubsub state.

Orleans.Streams

BatchContainerBatch

class
A batch of batch containers, that if configured (see StreamPullingAgentOptions), will be the data pulled by the PersistenStreamPullingAgent from it's underlying cache

DeploymentBasedQueueBalancer

class
DeploymentBasedQueueBalancer is a stream queue balancer that uses deployment information to help balance queue distribution. DeploymentBasedQueueBalancer uses the deployment configuration to determine how many silos to expect and uses a silo status oracle to determine which of the silos are available. With this information it tries to balance the queues using a best fit resource balancing algorithm.

FaultedSubscriptionException

class
This exception indicates that an error has occurred on a stream subscription that has placed the subscription into a faulted state. Work on faulted subscriptions should be abandoned.

IAsyncBatchObservable<T>

interface
This interface generalizes the IAsyncObserver interface to allow production and consumption of batches of items.

Note that this interface is implemented by item consumers and invoked (used) by item producers. This means that the consumer endpoint of a stream implements this interface.

IAsyncBatchObserver<T>

interface
This interface generalizes the IAsyncObserver interface to allow production and consumption of batches of items.

Note that this interface is implemented by item consumers and invoked (used) by item producers. This means that the consumer endpoint of a stream implements this interface.

IAsyncBatchProducer<T>

interface
This interface generalizes the IAsyncObserver interface to allow production of batches of items.

Note that this interface is invoked (used) by item producers.

IAsyncObservable<T>

interface
This interface generalizes the standard .NET IObserveable interface to allow asynchronous consumption of items. Asynchronous here means that the consumer can process items asynchronously and signal item completion to the producer by completing the returned Task.

Note that this interface is invoked (used) by item consumers and implemented by item producers. This means that the producer endpoint of a stream implements this interface.

IAsyncObserver<T>

interface
This interface generalizes the standard .NET IObserver interface to allow asynchronous production of items.

Note that this interface is implemented by item consumers and invoked (used) by item producers. This means that the consumer endpoint of a stream implements this interface.

IAsyncStream

interface
This interface represents an object that serves as a distributed rendezvous between producers and consumers. It is similar to a Reactive Framework
Subject
and implements
IObserver
nor
IObservable
interfaces.

IAsyncStream<T>

interface
This interface represents an object that serves as a distributed rendezvous between producers and consumers. It is similar to a Reactive Framework
Subject
and implements
IObserver
nor
IObservable
interfaces.

IBatchContainer

interface
Each queue message is allowed to be a heterogeneous, ordered set of events. IBatchContainer contains these events and allows users to query the batch for a specific type of event.

IBatchContainerBatch

interface
A batch of queue messages (see IBatchContainer for description of batch contents)

IConsistentRingStreamQueueMapper

interface
The stream queue mapper is responsible for mapping ring ranges from the load balancing ring provider to stream queues. Implementation must be thread safe.

IQueueAdapter

interface
Stream queue storage adapter. This is an abstraction layer that hides the implementation details of the underlying queuing system.

IQueueAdapterFactory

interface
Adapter factory. This should create an adapter from the stream provider configuration

IStreamProvider

interface
Functionality for providing streams to consumers and producers.

IStreamQueueBalanceListener

interface
The stream queue balancer listener receives notifications from a stream queue balancer (
IStreamQueueBalancer
) indicating that the balance of queues has changed. It should be implemented by components interested in stream queue load balancing. When change notification is received, listener should request updated list of queues from the queue balancer.

IStreamQueueBalancer

interface
The stream queue balancer is responsible for load balancing queues across all other related queue balancers. It notifies any listeners (
IStreamQueueBalanceListener
) of changes to the distribution of queues. Method GetMyQueues, SubscribeToQueueDistributionChangeEvents, and UnSubscribeFromQueueDistributionChangeEvents will likely be called in the IStreamQueueBalanceListener's thread so they need to be thread safe

IStreamQueueMapper

interface
The stream queue mapper returns a list of all queues and is also responsible for mapping streams to queues. Implementation must be thread safe.

LeaseBasedQueueBalancer

class
LeaseBasedQueueBalancer. This balancer supports queue balancing in cluster auto-scale scenarios, unexpected server failure scenarios, and tries to support ideal distribution as much as possible.

LoadShedQueueFlowController

class
Flow control triggered by silo load shedding. This is an all-or-nothing trigger which will request System.Int32.MaxValue, or 0.

PubSubSubscriptionState

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

QueueId

struct
Identifier of a durable queue. Used by Orleans streaming extensions.

StreamIdentity

class
Stream identity contains the public stream information use to uniquely identify a stream. Stream identities are only unique per stream provider.

StreamPosition

class
Stream position uniquely identifies the position of an event in a stream. If acquiring a stream position for a batch of events, the stream position will be of the first event in the batch.

StreamPubSubType

enum
Identifies the publish/subscribe system types which stream providers can use.

StreamSequenceToken

class
Handle representing stream sequence number/token. Consumer may subscribe to the stream while specifying the start of the subscription sequence token. That means that the stream infrastructure will deliver stream events starting from this sequence token.

StreamSubscriptionHandle<T>

class
Handle representing this subscription. Consumer may serialize and store the handle in order to unsubscribe later, for example in another activation on this grain.

Orleans.Streams.Core

Orleans.Streams.Filtering

Orleans.Streams.PubSub

OrleansCodeGen.Orleans.Hosting

Codec_SimpleGeneratorOptions

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Copier_SimpleGeneratorOptions

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

OrleansCodeGen.Orleans.Providers

Codec_DefaultMemoryMessageBodySerializer

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Codec_MemoryMessageBody

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Codec_MemoryMessageData

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Copier_MemoryMessageBody

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Copier_MemoryMessageData

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

OrleansCodeGen.Orleans.Providers.Streams.Common

Codec_EventSequenceToken

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Codec_EventSequenceTokenV2

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Copier_EventSequenceToken

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Copier_EventSequenceTokenV2

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

OrleansCodeGen.Orleans.Providers.Streams.Generator

Codec_GeneratedBatchContainer

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Codec_GeneratedEvent

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Copier_GeneratedBatchContainer

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Copier_GeneratedEvent

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

OrleansCodeGen.Orleans.Runtime

Codec_QualifiedStreamId

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Codec_StreamId

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

OrleansCodeGen.Orleans.Streams

Codec_BatchContainerBatch

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Codec_CacheFullException

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Codec_DataNotAvailableException

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Codec_FaultedSubscriptionException

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Codec_ProviderStartException

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Codec_PubSubSubscriptionState

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Codec_QueueCacheMissException

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Codec_QueueId

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Codec_StreamEventDeliveryFailureException

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Codec_StreamIdentity

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Codec_StreamSequenceToken

class
Serializer for types which are abstract and therefore cannot be instantiated themselves, such as abstract classes and interface types.

Codec_StreamSubscriptionHandle<T>

class
Serializer for types which are abstract and therefore cannot be instantiated themselves, such as abstract classes and interface types.

Copier_BatchContainerBatch

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Copier_PubSubSubscriptionState

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Copier_StreamSequenceToken

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

Copier_StreamSubscriptionHandle<T>

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

OrleansCodeGen.Orleans.Streams.Core

Codec_StreamSubscription

class
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.