Freigeben über


Zuordnungsschemas

Das folgende Diagramm stellt einen einzelnen Allocator dar, der für die Verwendung durch drei Filter zugewiesen ist. In den Transformations- oder Senkenfiltern ist keine Zuordnung erforderlich, da dem System kein Zuweisungshandle für diese Filter zugewiesen wurde.

Diagramm, das eine einfache Allocatorkonfiguration veranschaulicht.

Der Quellfilter weist einen Frame zu, füllt ihn mit Daten und sendet ihn an den nächsten Filter. Der Transformationsfilter führt eine direkte Datentransformation durch und sendet den Frame an den nächsten Filter. Wenn der Sinkfilter den E/A-Vorgang abgeschlossen hat, gibt der Quellfilter den Frame entweder frei oder verwendet ihn wieder. Die Flusssteuerung wird in diesem Filterdiagramm durch die Anzahl der insgesamt ausstehenden Frames, die vom Sink-Allocator zugewiesen werden können, und durch die Abschlussrate des E/A-Vorgangs aufrechterhalten.

Das folgende Diagramm stellt eine Allocatorkonfiguration dar, in der ein Quellframe an mehrere Zielsenken weitergeleitet wird.

Diagramm, das eine Allocatorkonfiguration mit mehreren Senken veranschaulicht.

Im Diagramm könnte der Dateischreiber eine Welle in eine Datei darstellen, und das Gerät eine Soundkarte, an die Audio gesendet wird.

Dieses Filterdiagramm enthält zwei Allokatoren: den Allokator der Transformation und den Allokator des Geräts. Der Quellfilter weist einen Frame aus dem Transformations-Allocator zu, füllt ihn mit Daten und sendet ihn an den Transformationsfilter und dann an den Dateischreiber. Beim Empfang eines Frames weist der Transformationsfilter einen Frame vom Gerätezuordnungsgerät zu, führt eine Transformation der Daten in den neuen Frame durch und sendet diesen Frame an das Gerät.

Die Flusssteuerung in diesem Filterdiagramm wird durch die Anzahl der insgesamt ausstehenden Frames, die von den Allokatoren zugewiesen werden können, sowie durch die Abschlussrate der E/A-Vorgänge aufrechterhalten. Beachten Sie, dass für jede separate Liste der Quell-/Senkensegmente, die über Verbindungshefte erstellt werden, ein separater Allocator vorhanden sein muss. Wenn keine separaten Zuweisungen vorhanden sind, kann ein bestimmtes Segment alle verfügbaren Frames nutzen, sodass für das nächste Segment keine mehr verfügbar sind, obwohl es möglicherweise einige Frames benötigt, um die vom vorherigen Segment erstellten Daten zu verarbeiten.