Partager via


BroadcastBlock<T> Classe

Définition

Fournit une mémoire tampon pour stocker au plus un élément à la fois, en remplaçant chaque message par le suivant lorsque ce dernier arrive.

generic <typename T>
public ref class BroadcastBlock sealed : System::Threading::Tasks::Dataflow::IPropagatorBlock<T, T>, System::Threading::Tasks::Dataflow::IReceivableSourceBlock<T>, System::Threading::Tasks::Dataflow::ISourceBlock<T>, System::Threading::Tasks::Dataflow::ITargetBlock<T>
public sealed class BroadcastBlock<T> : System.Threading.Tasks.Dataflow.IPropagatorBlock<T,T>, System.Threading.Tasks.Dataflow.IReceivableSourceBlock<T>, System.Threading.Tasks.Dataflow.ISourceBlock<T>, System.Threading.Tasks.Dataflow.ITargetBlock<T>
type BroadcastBlock<'T> = class
    interface IPropagatorBlock<'T, 'T>
    interface ITargetBlock<'T>
    interface IDataflowBlock
    interface ISourceBlock<'T>
    interface IReceivableSourceBlock<'T>
type BroadcastBlock<'T> = class
    interface IDataflowBlock
    interface IPropagatorBlock<'T, 'T>
    interface ISourceBlock<'T>
    interface ITargetBlock<'T>
    interface IReceivableSourceBlock<'T>
Public NotInheritable Class BroadcastBlock(Of T)
Implements IPropagatorBlock(Of T, T), IReceivableSourceBlock(Of T), ISourceBlock(Of T), ITargetBlock(Of T)

Paramètres de type

T

Spécifie le type des données mises en mémoire tampon par ce bloc de flux de données.

Héritage
BroadcastBlock<T>
Implémente

Remarques

Notes

La bibliothèque de flux de données TPL (espace de noms System.Threading.Tasks.Dataflow) n'est pas distribuée avec .NET. Pour installer l’espace de noms System.Threading.Tasks.Dataflow dans Visual Studio, ouvrez votre projet, choisissez Gérer les packages NuGet dans le menu Projet, puis recherchez en ligne le package System.Threading.Tasks.Dataflow. Vous pouvez également l’installer à l’aide de l’interface CLI .NET Core en exécutant dotnet add package System.Threading.Tasks.Dataflow.

BroadcastBlock<T> expose au maximum un élément à la fois. Toutefois, contrairement à WriteOnceBlock<T>, cet élément sera remplacé à mesure que de nouveaux éléments sont fournis au bloc. BroadcastBlock<T> garantit que l’élément actuel est diffusé vers toutes les cibles liées avant d’autoriser le remplacement de l’élément.

Constructeurs

BroadcastBlock<T>(Func<T,T>)

Initialise BroadcastBlock<T> avec la fonction de clonage spécifiée.

BroadcastBlock<T>(Func<T,T>, DataflowBlockOptions)

Initialise avec BroadcastBlock<T> la fonction de clonage spécifiée et DataflowBlockOptions.

Propriétés

Completion

Obtient une Task qui représente l'opération asynchrone et l'achèvement du bloc de flux de données.

Méthodes

Complete()

Signale à IDataflowBlock qu'il ne doit plus recevoir ni produire de messages ou utiliser des messages différés.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
LinkTo(ITargetBlock<T>, DataflowLinkOptions)

Lie le ISourceBlock<TOutput> au spécifié ITargetBlock<TInput>.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente le nom mis en forme de cette instance IDataflowBlock.

TryReceive(Predicate<T>, T)

Tente de recevoir de façon synchrone un élément de sortie disponible de IReceivableSourceBlock<TOutput>.

Implémentations d’interfaces explicites

IDataflowBlock.Fault(Exception)

Provoque l'achèvement du IDataflowBlock à l'état Faulted.

IReceivableSourceBlock<T>.TryReceiveAll(IList<T>)

Tente de recevoir de façon synchrone tous les éléments disponibles de IReceivableSourceBlock<TOutput>.

ISourceBlock<T>.ConsumeMessage(DataflowMessageHeader, ITargetBlock<T>, Boolean)

Appelé par un ITargetBlock<TInput> lié pour recevoir et utiliser un DataflowMessageHeader précédemment proposé par ce ISourceBlock<TOutput>.

ISourceBlock<T>.ReleaseReservation(DataflowMessageHeader, ITargetBlock<T>)

Appelé par un ITargetBlock<TInput> lié pour libérer un DataflowMessageHeader précédemment réservé par ce ISourceBlock<TOutput>.

ISourceBlock<T>.ReserveMessage(DataflowMessageHeader, ITargetBlock<T>)

Appelé par un ITargetBlock<TInput> lié pour réserver un DataflowMessageHeader précédemment proposé par ce ISourceBlock<TOutput>.

ITargetBlock<T>.OfferMessage(DataflowMessageHeader, T, ISourceBlock<T>, Boolean)

Offre un message au ITargetBlock<TInput>, donnant à la cible la possibilité d'utiliser ou de différer le message.

Méthodes d’extension

AsObservable<TOutput>(ISourceBlock<TOutput>)

Crée une abstraction IObservable<T> sur ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Crée une abstraction IObserver<T> sur ITargetBlock<TInput>.

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>)

Lie le ISourceBlock<TOutput> au spécifié ITargetBlock<TInput>.

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, Predicate<TOutput>)

Lie le ISourceBlock<TOutput> au spécifié ITargetBlock<TInput> à l’aide du filtre spécifié.

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, DataflowLinkOptions, Predicate<TOutput>)

Lie le ISourceBlock<TOutput> au spécifié ITargetBlock<TInput> à l’aide du filtre spécifié.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Fournit un Task<TResult> qui surveille de façon asynchrone la source de la sortie disponible.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken)

Fournit un Task<TResult> qui surveille de façon asynchrone la source de la sortie disponible.

Post<TInput>(ITargetBlock<TInput>, TInput)

Publie un élément à ITargetBlock<TInput>.

Receive<TOutput>(ISourceBlock<TOutput>)

Reçoit de façon synchrone une valeur d'une source spécifiée.

Receive<TOutput>(ISourceBlock<TOutput>, CancellationToken)

Reçoit de façon synchrone une valeur d'une source spécifiée et fournit un jeton pour annuler l'opération.

Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan)

Reçoit de façon synchrone une valeur d'une source spécifiée, en observant un délai d'attente facultatif.

Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken)

Reçoit de façon synchrone une valeur d'une source spécifiée, en fournissant un jeton pour annuler l'opération et en observant un délai d'attente facultatif.

ReceiveAllAsync<TOutput>(IReceivableSourceBlock<TOutput>, CancellationToken)

Crée un IAsyncEnumerable<T> qui permet de recevoir toutes les données de la source.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Reçoit de façon asynchrone une valeur d'une source spécifiée.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken)

Accepte de façon asynchrone une valeur d'une source spécifiée et fournit un jeton pour annuler l'opération.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan)

Reçoit de façon asynchrone une valeur d'une source spécifiée, en observant un délai d'attente facultatif.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken)

Reçoit de façon asynchrone une valeur d'une source spécifiée, en fournissant un jeton pour annuler l'opération et en observant un délai d'attente facultatif.

SendAsync<TInput>(ITargetBlock<TInput>, TInput)

Propose de façon asynchrone un message au bloc de message cible, en autorisant l'ajournement.

SendAsync<TInput>(ITargetBlock<TInput>, TInput, CancellationToken)

Propose de façon asynchrone un message au bloc de message cible, en autorisant l'ajournement.

TryReceive<TOutput>(IReceivableSourceBlock<TOutput>, TOutput)

Tente de recevoir de façon synchrone un élément de ISourceBlock<TOutput>.

S’applique à