Orleans.Providers.Streams.Common 命名空间

BlockPoolMonitorDimensions

块池监视器的聚合维度。

CacheDataComparerExtensions

用于切换参数顺序的缓存数据比较器扩展函数

CachedMessageBlock

CachedMessageBlock 是一个紧密打包的结构块,其中包含缓存消息的跟踪数据。 此数据紧密包装,可降低 GC 压力。 跟踪数据由队列缓存用于按流访问为有序队列消息提供服务的缓存。

CachedMessageBlock<TCachedMessage>

CachedMessageBlock 是一个紧密打包的结构块,其中包含缓存消息的跟踪数据。 此数据紧密包装,可降低 GC 压力。 跟踪数据由队列缓存用于按流访问为有序队列消息提供服务的缓存。

CachedMessageExtensions

CachedMessage扩展。

CacheMonitorDimensions

缓存监视器的聚合维度。

ChronologicalEvictionStrategy

逐出基于年龄的数据的逐出策略。

ChronologicalEvictionStrategy<TCachedMessage>

逐出基于年龄的数据的逐出策略。

DefaultBlockPoolMonitor

块池监视器用作 GeneratorStreamProvider 和 MemoryStreamProvider 中的默认选项。

DefaultCacheMonitor

缓存监视器用作 GeneratorStreamprovider 和 MemoryStreamProvider 中的默认选项

DefaultQueueAdapterReceiverMonitor

队列适配器接收器监视器用作 GeneratorStreamprovider 和 MemoryStreamProvider 中的默认选项

EventSequenceToken

跟踪序列号和事件索引的流序列令牌

EventSequenceTokenV2

跟踪序列号和事件索引的流序列令牌

EvictionStrategyCommonUtils
FixedSizeBuffer

管理连续内存块。 当发出清除信号时,调用清除操作,并将它本身作为清除请求。

MonitorAggregationDimensions

用于保存监视器聚合维度的基类

ObjectPool<T>

使用堆栈存储可用对象的简单对象池。

ObjectPoolMonitorBridge

ObjectPoolMonitor 报告 ObjectPool 的指标,这些指标基于对象计数。 BlockPoolMonitor 报告 BlockPool 的指标,这些指标基于内存大小。 这两个监视器聚合在 orleans 缓存基础结构中,其中 ObjectPool 用作块池来分配内存,其中每个对象表示一个具有一个大小的内存块。 ObjectPoolMonitorBridge 是缓存基础结构中这两个监视器之间的桥梁。 当 ObjectPoolMonitor 报告指标时,配置 BlockPoolMonitor 的用户将调用其对应的方法和基于数学的报表指标:memoryInByte = objectCount*objectSizeInByte

PersistentStreamProvider

使用适配器进行持久性的永久性流提供程序

PersistentStreamProvider<TAdapterFactory>

使用适配器进行持久性的永久性流提供程序

PooledQueueCache

PooledQueueCache 是一个缓存,旨在用作 IQueueCache 中的消息缓存。 它可以存储大量消息, (大量消息) 长时间 (分钟到无限期) ,同时对垃圾回收造成的性能影响最小。 此共用缓存分配内存,但永远不会释放它。 它在服务生命周期内保持池中可用的可用资源,这些池一直处于应用程序使用状态。 这意味着这些对象将转到第 2 代,进行压缩,然后保留在那里。 这是相对便宜的,因为他们现在产生的唯一成本是检查是否应该在每个收集周期中释放它们的成本。 由于此缓存使用少量具有相对简单对象图的大型对象,因此检查大量具有较复杂对象图的较小对象的成本较低。 出于性能原因,此缓存旨在更紧密地与队列特定数据保持一致。 这是部分原因,与 SimpleQueueCache 不同,此缓存不实现 IQueueCache。 它旨在用于 IQueueCache 的队列特定实现。

PooledQueueCache<TQueueMessage,TCachedMessage>

PooledQueueCache 是一个缓存,旨在用作 IQueueCache 中的消息缓存。 它可以存储大量消息, (大量消息) 长时间 (分钟到无限期) ,同时对垃圾回收造成的性能影响最小。 此共用缓存分配内存,但永远不会释放它。 它在服务生命周期内保持池中可用的可用资源,这些池一直处于应用程序使用状态。 这意味着这些对象将转到第 2 代,进行压缩,然后保留在那里。 这是相对便宜的,因为他们现在产生的唯一成本是检查是否应该在每个收集周期中释放它们的成本。 由于此缓存使用少量具有相对简单对象图的大型对象,因此检查大量具有较复杂对象图的较小对象的成本较低。 出于性能原因,此缓存旨在更紧密地与队列特定数据保持一致。 这是部分原因,与 SimpleQueueCache 不同,此缓存不实现 IQueueCache。 它旨在用于 IQueueCache 的队列特定实现。

PooledResource<T>

实用工具类支持共用对象,允许它们跟踪它们来自的池并在释放时返回到该池

ReceiverMonitorDimensions

接收方监视器的聚合维度。

RecoverableStreamProviderSettings

EventHubStreamProvider、MemoryStreamProvider 和 GeneratorStreamProvider 共享的常见流提供程序设置

SegmentBuilder

用于将数据编码为 ArraySegment 的实用工具类。

SimpleQueueAdapterCache

适用于简单队列缓存的适配器。

SimpleQueueCache

将项保留在内存中的队列缓存。

SimpleQueueCacheCursor

游标到简单的队列缓存中。

StreamPosition

流位置唯一标识事件在流中的位置。 如果获取一批事件的流位置,则流位置将是批处理中的第一个事件。

TimePurgePredicate

确定是否应根据休息时间清除数据。

结构

CachedMessage

这是一个紧密打包的缓存结构,其中包含队列消息。 它应仅包含值类型。

接口

IBlockPoolMonitor

监视跟踪块池相关指标。 块池在缓存系统中用于内存管理

ICacheDataAdapter

共用队列缓存将数据存储在需要快速转换为各种其他格式的紧密打包结构中。 由于数据格式可能因队列类型和数据格式而更改,因此此接口允许适配器开发人员生成适合各种队列数据的自定义数据转换。

ICacheDataAdapter<TQueueMessage,TCachedMessage>

共用队列缓存将数据存储在需要快速转换为各种其他格式的紧密打包结构中。 由于数据格式可能因队列类型和数据格式而更改,因此此接口允许适配器开发人员生成适合各种队列数据的自定义数据转换。

ICacheDataComparer<TCachedMessage>

将缓存的消息与各种流详细信息进行比较

ICacheMonitor

负责监视缓存相关指标。

IEvictionStrategy

PooledQueueCache 的逐出策略

IEvictionStrategy<TCachedMessage>

PooledQueueCache 的逐出策略

IObjectPool<T>

简单对象池接口。 分配的对象在释放后应返回到池。

IObjectPoolMonitor

监视跟踪对象池相关指标

IPurgeObservable

清除相关操作的功能。

IPurgeObservable<TCachedMessage>

IPurgeObservable 由缓存实现以执行清除相关操作,并由 EvictionStrategy 调用

IQueueAdapterReceiverMonitor

负责监视接收方性能指标。

枚举

PersistentStreamProviderCommand

可由 处理的 PersistentStreamProvider命令。

PersistentStreamProviderState