BufferBlock<T> Class

.NET Framework 4.5

Provides a buffer for storing data.

System.Object
  System.Threading.Tasks.Dataflow.BufferBlock<T>

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

public sealed class BufferBlock<T> : IPropagatorBlock<T, T>, 
	ITargetBlock<T>, IReceivableSourceBlock<T>, ISourceBlock<T>, IDataflowBlock

Type Parameters

T

Specifies the type of the data buffered by this dataflow block.

The BufferBlock<T> type exposes the following members.

  NameDescription
Public methodSupported by Portable Class LibraryBufferBlock<T>()Initializes a new BufferBlock<T>.
Public methodSupported by Portable Class LibraryBufferBlock<T>(DataflowBlockOptions)Initializes a new BufferBlock<T> with the specified DataflowBlockOptions.
Top

  NameDescription
Public propertySupported by Portable Class LibraryCompletionGets a Task that represents the asynchronous operation and completion of the dataflow block.
Public propertySupported by Portable Class LibraryCountGets the number of items currently stored in the buffer.
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.
Public methodSupported by Portable Class LibraryEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Public methodSupported by Portable Class LibraryGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodSupported by Portable Class LibraryGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodSupported by Portable Class LibraryLinkToLinks the ISourceBlock<TOutput> to the specified ITargetBlock<TInput>.
Public methodSupported by Portable Class LibraryToStringReturns a string that represents the formatted name of this IDataflowBlock instance. (Overrides Object.ToString().)
Public methodSupported by Portable Class LibraryTryReceiveAttempts to synchronously receive an available output item from the IReceivableSourceBlock<TOutput>.
Public methodSupported by Portable Class LibraryTryReceiveAllAttempts to synchronously receive all available items from the IReceivableSourceBlock<TOutput>.
Top

  NameDescription
Public Extension MethodSupported by Portable Class LibraryAsObservable<T>Creates a new IObservable<T> abstraction over the ISourceBlock<TOutput>. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryAsObserver<T>Creates a new IObserver<T> abstraction over the ITargetBlock<TInput>. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryLinkTo<T>(ITargetBlock<T>)Overloaded. Links the ISourceBlock<TOutput> to the specified ITargetBlock<TInput>. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryLinkTo<T>(ITargetBlock<T>, Predicate<T>)Overloaded. Links the ISourceBlock<TOutput> to the specified ITargetBlock<TInput> using the specified filter. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryLinkTo<T>(ITargetBlock<T>, DataflowLinkOptions, Predicate<T>)Overloaded. Links the ISourceBlock<TOutput> to the specified ITargetBlock<TInput> using the specified filter. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryOutputAvailableAsync<T>()Overloaded. Provides a Task<TResult> that asynchronously monitors the source for available output. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryOutputAvailableAsync<T>(CancellationToken)Overloaded. Provides a Task<TResult> that asynchronously monitors the source for available output. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryPost<T>Posts an item to the ITargetBlock<TInput>. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryReceive<T>()Overloaded. Synchronously receives a value from a specified source. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryReceive<T>(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<T>(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<T>(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<T>()Overloaded. Asynchronously receives a value from a specified source. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryReceiveAsync<T>(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<T>(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<T>(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<T>(T)Overloaded. Asynchronously offers a message to the target message block, allowing for postponement. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibrarySendAsync<T>(T, CancellationToken)Overloaded. Asynchronously offers a message to the target message block, allowing for postponement. (Defined by DataflowBlock.)
Public Extension MethodSupported by Portable Class LibraryTryReceive<T>Attempts to synchronously receive an item from the ISourceBlock<TOutput>. (Defined by DataflowBlock.)
Top

  NameDescription
Explicit interface implemetationPrivate methodSupported by Portable Class LibraryIDataflowBlock.FaultCauses the IDataflowBlock to complete in a Faulted state.
Explicit interface implemetationPrivate methodSupported by Portable Class LibraryISourceBlock<T>.ConsumeMessageCalled by a linked ITargetBlock<TInput> to accept and consume a DataflowMessageHeader previously offered by this ISourceBlock<TOutput>.
Explicit interface implemetationPrivate methodSupported by Portable Class LibraryISourceBlock<T>.ReleaseReservationCalled by a linked ITargetBlock<TInput> to release a previously reserved DataflowMessageHeader by this ISourceBlock<TOutput>.
Explicit interface implemetationPrivate methodSupported by Portable Class LibraryISourceBlock<T>.ReserveMessageCalled by a linked ITargetBlock<TInput> to reserve a previously offered DataflowMessageHeader by this ISourceBlock<TOutput>.
Explicit interface implemetationPrivate methodSupported by Portable Class LibraryITargetBlock<T>.OfferMessageOffers a message to the ITargetBlock<TInput>, giving the target the opportunity to consume or postpone the message.
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.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Show:
© 2014 Microsoft