IPropagatorBlock<TInput, TOutput> Interface

.NET Framework 4.5

Represents a dataflow block that is both a target for data and a source of data.

Namespace:  System.Threading.Tasks.Dataflow
Assembly:  System.Threading.Tasks.Dataflow (in System.Threading.Tasks.Dataflow.dll)

public interface IPropagatorBlock<in TInput, out TOutput> : ITargetBlock<TInput>, 
	ISourceBlock<TOutput>, IDataflowBlock

Type Parameters

in TInput

Specifies the type of data accepted by the IPropagatorBlock<TInput, TOutput>.

This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics.

out TOutput

Specifies the type of data supplied by the IPropagatorBlock<TInput, TOutput>.

This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics.

The IPropagatorBlock<TInput, TOutput> type exposes the following members.

  NameDescription
Public propertySupported by Portable Class LibraryCompletionGets a Task that represents the asynchronous operation and completion of the dataflow block. (Inherited from IDataflowBlock.)
Top

  NameDescription
Public methodSupported by Portable Class LibraryCompleteSignals to the IDataflowBlock that it should not accept nor produce any more messages nor consume any more postponed messages. (Inherited from IDataflowBlock.)
Public methodSupported by Portable Class LibraryConsumeMessageCalled by a linked ITargetBlock<TInput> to accept and consume a DataflowMessageHeader previously offered by this ISourceBlock<TOutput>. (Inherited from ISourceBlock<TOutput>.)
Public methodSupported by Portable Class LibraryFaultCauses the IDataflowBlock to complete in a Faulted state. (Inherited from IDataflowBlock.)
Public methodSupported by Portable Class LibraryLinkToLinks the ISourceBlock<TOutput> to the specified ITargetBlock<TInput>. (Inherited from ISourceBlock<TOutput>.)
Public methodSupported by Portable Class LibraryOfferMessageOffers a message to the ITargetBlock<TInput>, giving the target the opportunity to consume or postpone the message. (Inherited from ITargetBlock<TInput>.)
Public methodSupported by Portable Class LibraryReleaseReservationCalled by a linked ITargetBlock<TInput> to release a previously reserved DataflowMessageHeader by this ISourceBlock<TOutput>. (Inherited from ISourceBlock<TOutput>.)
Public methodSupported by Portable Class LibraryReserveMessageCalled by a linked ITargetBlock<TInput> to reserve a previously offered DataflowMessageHeader by this ISourceBlock<TOutput>. (Inherited from ISourceBlock<TOutput>.)
Top

  NameDescription
Public Extension MethodSupported by Portable Class LibraryAsObservable<TOutput>Creates a new IObservable<T> abstraction over the ISourceBlock<TOutput>. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryAsObserver<TInput>Creates a new IObserver<T> abstraction over the ITargetBlock<TInput>. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryLinkTo<TOutput>(ITargetBlock<TOutput>)Overloaded. Links the ISourceBlock<TOutput> to the specified ITargetBlock<TInput>. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryLinkTo<TOutput>(ITargetBlock<TOutput>, Predicate<TOutput>)Overloaded. Links the ISourceBlock<TOutput> to the specified ITargetBlock<TInput> using the specified filter. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryLinkTo<TOutput>(ITargetBlock<TOutput>, DataflowLinkOptions, Predicate<TOutput>)Overloaded. Links the ISourceBlock<TOutput> to the specified ITargetBlock<TInput> using the specified filter. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryOutputAvailableAsync<TOutput>()Overloaded. Provides a Task<TResult> that asynchronously monitors the source for available output. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryOutputAvailableAsync<TOutput>(CancellationToken)Overloaded. Provides a Task<TResult> that asynchronously monitors the source for available output. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryPost<TInput>Posts an item to the ITargetBlock<TInput>. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryReceive<TOutput>()Overloaded. Synchronously receives a value from a specified source. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryReceive<TOutput>(CancellationToken)Overloaded. Synchronously receives a value from a specified source and provides a token to cancel the operation. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryReceive<TOutput>(TimeSpan)Overloaded. Synchronously receives a value from a specified source, observing an optional time-out period. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryReceive<TOutput>(TimeSpan, CancellationToken)Overloaded. Synchronously receives a value from a specified source, providing a token to cancel the operation and observing an optional time-out interval. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryReceiveAsync<TOutput>()Overloaded. Asynchronously receives a value from a specified source. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryReceiveAsync<TOutput>(CancellationToken)Overloaded. Asynchronously receives a value from a specified source and provides a token to cancel the operation. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryReceiveAsync<TOutput>(TimeSpan)Overloaded. Asynchronously receives a value from a specified source, observing an optional time-out period. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryReceiveAsync<TOutput>(TimeSpan, CancellationToken)Overloaded. Asynchronously receives a value from a specified source, providing a token to cancel the operation and observing an optional time-out interval. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibrarySendAsync<TInput>(TInput)Overloaded. Asynchronously offers a message to the target message block, allowing for postponement. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibrarySendAsync<TInput>(TInput, CancellationToken)Overloaded. Asynchronously offers a message to the target message block, allowing for postponement. (Defined by DataflowBlock.)
Top

NoteNote

The TPL Dataflow Library (System.Threading.Tasks.Dataflow namespace) is not distributed with the .NET Framework 4.5. To install the System.Threading.Tasks.Dataflow namespace, open your project in Visual Studio 2012, choose Manage NuGet Packages from the Project menu, and search online for the Microsoft.Tpl.Dataflow package.

.NET Framework

Supported in: 4.5

Portable Class Library

Supported in: Portable Class Library

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft