Freigeben über


Orleans.Providers.Streams.Common Namespace

Klassen

BlockPoolMonitorDimensions

Aggregationsdimensionen für Blockpoolmonitore.

CacheDataComparerExtensions

Zwischenspeichern von Datenvergleichserweiterungsfunktionen, die die Argumentreihenfolge ändern

CachedMessageBlock

CachedMessageBlock ist ein Block eng gepackter Strukturen, die Nachverfolgungsdaten für zwischengespeicherte Nachrichten enthalten. Diese Daten sind eng gepackt, um den GC-Druck zu verringern. Die Nachverfolgungsdaten werden vom Warteschlangencache verwendet, um den Cache zu durchlaufen, der geordnete Warteschlangennachrichten nach Stream verarbeitet.

CachedMessageBlock<TCachedMessage>

CachedMessageBlock ist ein Block eng gepackter Strukturen, die Nachverfolgungsdaten für zwischengespeicherte Nachrichten enthalten. Diese Daten sind eng gepackt, um den GC-Druck zu verringern. Die Nachverfolgungsdaten werden vom Warteschlangencache verwendet, um den Cache zu durchlaufen, der geordnete Warteschlangennachrichten nach Stream verarbeitet.

CachedMessageExtensions

Erweiterungen für CachedMessage.

CacheMonitorDimensions

Aggregationsdimensionen für cachemonitor.

ChronologicalEvictionStrategy

Räumungsstrategie, bei der Daten basierend auf dem Alter entfernt werden.

ChronologicalEvictionStrategy<TCachedMessage>

Räumungsstrategie, bei der Daten basierend auf dem Alter entfernt werden.

DefaultBlockPoolMonitor

Blockpoolmonitor, der als Standardoption in GeneratorStreamProvider und MemoryStreamProvider verwendet wird.

DefaultCacheMonitor

Cachemonitor, der als Standardoption in GeneratorStreamprovider und MemoryStreamProvider verwendet wird

DefaultQueueAdapterReceiverMonitor

Warteschlangenadapterempfängermonitor, der als Standardoption in GeneratorStreamprovider und MemoryStreamProvider verwendet wird

EventSequenceToken

Streamsequenztoken, das Sequenznummer und Ereignisindex nachverfolgt

EventSequenceTokenV2

Streamsequenztoken, das Sequenznummer und Ereignisindex nachverfolgt

EvictionStrategyCommonUtils
FixedSizeBuffer

Verwaltet einen zusammenhängenden Speicherblock. Ruft die Löschaktion mit sich selbst als Löschanforderung auf, wenn signalisiert wird, dass sie löscht.

MonitorAggregationDimensions

Basisklasse zum Halten von Monitoraggregationsdimensionen

ObjectPool<T>

Einfacher Objektpool, der einen Stapel zum Speichern verfügbarer Objekte verwendet.

ObjectPoolMonitorBridge

ObjectPoolMonitor-Berichtsmetriken für ObjectPool, die auf der Objektanzahl basieren. BlockPoolMonitor-Berichtsmetriken für BlockPool, die auf der Arbeitsspeichergröße basieren. Diese beiden Monitore konvergieren in der Orleans-Cacheinfrastruktur, in der ObjectPool als Blockpool verwendet wird, um Arbeitsspeicher zuzuweisen, wobei jedes Objekt einen Speicherblock mit einer Größe darstellt. ObjectPoolMonitorBridge ist die Brücke zwischen diesen beiden Monitoren in der Cacheinfrastruktur. Wenn ObjectPoolMonitor eine Metrik meldet, ruft der vom Benutzer konfigurierte BlockPoolMonitor seine Entsprechungsmethode und Berichtsmetrik basierend auf der Mathematik auf: memoryInByte = objectCount*objectSizeInByte

PersistentStreamProvider

Persistenter Streamanbieter, der einen Adapter für Persistenz verwendet

PersistentStreamProvider<TAdapterFactory>

Persistenter Streamanbieter, der einen Adapter für Persistenz verwendet

PooledQueueCache

PooledQueueCache ist ein Cache, der als Nachrichtencache in einem IQueueCache dienen soll. Es ist in der Lage, eine große Anzahl von Nachrichten (Gigs im Wert von Nachrichten) für längere Zeiträume (Minuten bis unbestimmt) zu speichern, während es aufgrund der Garbage Collection zu einem minimalen Leistungstreffer kommt. Dieser Poolcache weist Arbeitsspeicher zu und gibt ihn nie frei. Es hält freigegebene Ressourcen in Pools zur Verfügung, die während der Lebensdauer des Diensts in der Anwendung verwendet werden. Dies bedeutet, dass diese Objekte zu gen2 wechseln, komprimiert werden und dann dort bleiben. Dies ist relativ günstig, da die einzigen Kosten, die jetzt anfallen, die Kosten für die Überprüfung sind, ob sie in jedem Sammlungszyklus frei werden sollen. Da dieser Cache eine kleine Anzahl großer Objekte mit relativ einfachen Objektgraphen verwendet, ist die Überprüfung der großen Anzahl kleinerer Objekte mit komplexeren Objektgraphen kostengünstiger. Aus Leistungsgründen ist dieser Cache so konzipiert, dass er besser an warteschlangenspezifischen Daten ausgerichtet ist. Dies ist teilweise der Grund, warum dieser Cache im Gegensatz zum SimpleQueueCache nicht IQueueCache implementiert. Es ist für die Verwendung in warteschlangenspezifischen Implementierungen von IQueueCache vorgesehen.

PooledQueueCache<TQueueMessage,TCachedMessage>

PooledQueueCache ist ein Cache, der als Nachrichtencache in einem IQueueCache dienen soll. Es ist in der Lage, eine große Anzahl von Nachrichten (Gigs im Wert von Nachrichten) für längere Zeiträume (Minuten bis unbestimmt) zu speichern, während es aufgrund der Garbage Collection zu einem minimalen Leistungstreffer kommt. Dieser Poolcache weist Arbeitsspeicher zu und gibt ihn nie frei. Es hält freigegebene Ressourcen in Pools zur Verfügung, die während der Lebensdauer des Diensts in der Anwendung verwendet werden. Dies bedeutet, dass diese Objekte zu gen2 wechseln, komprimiert werden und dann dort bleiben. Dies ist relativ günstig, da die einzigen Kosten, die jetzt anfallen, die Kosten für die Überprüfung sind, ob sie in jedem Sammlungszyklus frei werden sollen. Da dieser Cache eine kleine Anzahl großer Objekte mit relativ einfachen Objektgraphen verwendet, ist die Überprüfung der großen Anzahl kleinerer Objekte mit komplexeren Objektgraphen kostengünstiger. Aus Leistungsgründen ist dieser Cache so konzipiert, dass er besser an warteschlangenspezifischen Daten ausgerichtet ist. Dies ist teilweise der Grund, warum dieser Cache im Gegensatz zum SimpleQueueCache nicht IQueueCache implementiert. Es ist für die Verwendung in warteschlangenspezifischen Implementierungen von IQueueCache vorgesehen.

PooledResource<T>

Hilfsprogrammklasse zur Unterstützung von Poolobjekten durch die Möglichkeit, den Pool, aus dem sie stammen, nachzuverfolgen und nach der Veräußerung an ihn zurückzukehren

ReceiverMonitorDimensions

Aggregationsdimensionen für empfängermonitor.

RecoverableStreamProviderSettings

Allgemeine Streamanbietereinstellungen, die von EventHubStreamProvider, MemoryStreamProvider und GeneratorStreamProvider freigegeben werden

SegmentBuilder

Hilfsprogrammklasse zum Codieren von Daten in ein ArraySegment.

SimpleQueueAdapterCache

Adapter für einfache Warteschlangencaches.

SimpleQueueCache

Ein Warteschlangencache, der Elemente im Arbeitsspeicher speichert.

SimpleQueueCacheCursor

Cursor in einen einfachen Warteschlangencache.

StreamPosition

Die Streamposition identifiziert eindeutig die Position eines Ereignisses in einem Stream. Beim Abrufen einer Streamposition für einen Batch von Ereignissen ist die Streamposition das erste Ereignis im Batch.

TimePurgePredicate

Bestimmt, ob Daten basierend auf der Zeit gelöscht werden sollen.

Strukturen

CachedMessage

Dies ist eine eng gepackte zwischengespeicherte Struktur, die eine Warteschlangennachricht enthält. Sie sollte nur Werttypen enthalten.

Schnittstellen

IBlockPoolMonitor

Überwachen sie Metriken im Zusammenhang mit Blockpools. Blockpool wird im Cachesystem für die Speicherverwaltung verwendet.

ICacheDataAdapter

Der Poolwarteschlangencache speichert Daten in eng gepackten Strukturen, die schnell in verschiedene andere Formate transformiert werden müssen. Da sich die Datenformate möglicherweise nach Warteschlangentyp und Datenformat ändern können, können Adapterentwickler benutzerdefinierte Datentransformationen erstellen, die für die verschiedenen Arten von Warteschlangendaten geeignet sind.

ICacheDataAdapter<TQueueMessage,TCachedMessage>

Der Poolwarteschlangencache speichert Daten in eng gepackten Strukturen, die schnell in verschiedene andere Formate transformiert werden müssen. Da sich die Datenformate möglicherweise nach Warteschlangentyp und Datenformat ändern können, können Adapterentwickler benutzerdefinierte Datentransformationen erstellen, die für die verschiedenen Arten von Warteschlangendaten geeignet sind.

ICacheDataComparer<TCachedMessage>

Vergleicht zwischengespeicherte Nachrichten mit verschiedenen Datenstromdetails

ICacheMonitor

Verantwortlich für die Überwachung cachebezogener Metriken.

IEvictionStrategy

Räumungsstrategie für pooledQueueCache

IEvictionStrategy<TCachedMessage>

Räumungsstrategie für pooledQueueCache

IObjectPool<T>

Einfache Objektpoolschnittstelle. Zugeordnete Objekte sollten beim Löschen an den Pool zurückgegeben werden.

IObjectPoolMonitor

Überwachen von Metriken im Zusammenhang mit dem Nachverfolgen von Objektpools

IPurgeObservable

Funktionalität für Löschaktionen.

IPurgeObservable<TCachedMessage>

IPurgeObservable wird vom Cache implementiert, um verwandte Aktionen zu bereinigen, und von EvictionStrategy aufgerufen.

IQueueAdapterReceiverMonitor

Verantwortlich für die Überwachung von Empfängerleistungsmetriken.

Enumerationen

PersistentStreamProviderCommand

Befehle, die von PersistentStreamProviderverarbeitet werden können.

PersistentStreamProviderState