BufferBlock<T> BufferBlock<T> BufferBlock<T> BufferBlock<T> Class

Определение

Создает буфер для хранения данных в потоке данных.Provides a buffer for storing data for a Dataflow.

generic <typename T>
public ref class BufferBlock 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 BufferBlock<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 BufferBlock<'T> = class
    interface IDataflowBlock
    interface IPropagatorBlock<'T, 'T>
    interface ISourceBlock<'T>
    interface ITargetBlock<'T>
    interface IReceivableSourceBlock<'T>
Public NotInheritable Class BufferBlock(Of T)
Implements IPropagatorBlock(Of T, T), IReceivableSourceBlock(Of T), ISourceBlock(Of T), ITargetBlock(Of T)

Параметры типа

T

Указывает тип данных, буферизуемых этим блоком потока данных.Specifies the type of the data buffered by this dataflow block.

Наследование
BufferBlock<T>BufferBlock<T>BufferBlock<T>BufferBlock<T>
Реализации

Комментарии

Примечание

Библиотека потоков данных TPL (пространство имен System.Threading.Tasks.Dataflow) не поставляется с .NET.The TPL Dataflow Library (the System.Threading.Tasks.Dataflow namespace) is not distributed with .NET. Чтобы установить пространство имен System.Threading.Tasks.Dataflow в Visual Studio, откройте проект, выберите Управление пакетами NuGet в меню Проект и выполните поиск пакета System.Threading.Tasks.Dataflow в Интернете.To install the System.Threading.Tasks.Dataflow namespace in Visual Studio, open your project, choose Manage NuGet Packages from the Project menu, and search online for the System.Threading.Tasks.Dataflow package. Вы также можете установить его, выполнив в .NET Core CLI команду dotnet add package System.Threading.Tasks.Dataflow.Alternatively, to install it using the .NET Core CLI, run dotnet add package System.Threading.Tasks.Dataflow.

Конструкторы

BufferBlock<T>() BufferBlock<T>() BufferBlock<T>() BufferBlock<T>()

Инициализирует новый объект BufferBlock<T>.Initializes a new BufferBlock<T>.

BufferBlock<T>(DataflowBlockOptions) BufferBlock<T>(DataflowBlockOptions) BufferBlock<T>(DataflowBlockOptions) BufferBlock<T>(DataflowBlockOptions)

Инициализирует новый BufferBlock<T> с указанным DataflowBlockOptions.Initializes a new BufferBlock<T> with the specified DataflowBlockOptions.

Свойства

Completion Completion Completion Completion

Получает объект Task, представляющий асинхронную операцию и завершение блока потока данных.Gets a Task that represents the asynchronous operation and completion of the dataflow block.

Count Count Count Count

Получает число элементов, хранящихся в буфере в данный момент.Gets the number of items currently stored in the buffer.

Методы

Complete() Complete() Complete() Complete()

Сообщает блоку IDataflowBlock, что он больше не должен принимать и создавать никакие сообщения и не должен использовать отложенные сообщения.Signals to the IDataflowBlock that it should not accept nor produce any more messages nor consume any more postponed messages.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
LinkTo(ITargetBlock<T>, DataflowLinkOptions) LinkTo(ITargetBlock<T>, DataflowLinkOptions) LinkTo(ITargetBlock<T>, DataflowLinkOptions) LinkTo(ITargetBlock<T>, DataflowLinkOptions)

Связывает ISourceBlock<TOutput> с указанным ITargetBlock<TInput>.Links the ISourceBlock<TOutput> to the specified ITargetBlock<TInput>.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Возвращает строку, представляющую отформатированное имя данного экземпляра IDataflowBlock.Returns a string that represents the formatted name of this IDataflowBlock instance.

TryReceive(Predicate<T>, T) TryReceive(Predicate<T>, T) TryReceive(Predicate<T>, T) TryReceive(Predicate<T>, T)

Пытается синхронно получить доступный выходной элемент от интерфейса IReceivableSourceBlock<TOutput>.Attempts to synchronously receive an available output item from the IReceivableSourceBlock<TOutput>.

TryReceiveAll(IList<T>) TryReceiveAll(IList<T>) TryReceiveAll(IList<T>) TryReceiveAll(IList<T>)

Пытается синхронно получить все доступные элементы от интерфейса IReceivableSourceBlock<TOutput>.Attempts to synchronously receive all available items from the IReceivableSourceBlock<TOutput>.

Явные реализации интерфейса

IDataflowBlock.Fault(Exception) IDataflowBlock.Fault(Exception) IDataflowBlock.Fault(Exception) IDataflowBlock.Fault(Exception)

Вызывает выполнение IDataflowBlock в состоянии Faulted.Causes the IDataflowBlock to complete in a Faulted state.

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

Вызывается связанным объектом ITargetBlock<TInput> для принятия и использования объекта DataflowMessageHeader, ранее предложенного этим объектом ISourceBlock<TOutput>.Called by a linked ITargetBlock<TInput> to accept and consume a DataflowMessageHeader previously offered by this ISourceBlock<TOutput>.

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

Вызывается связанным объектом ITargetBlock<TInput> для освобождения объекта DataflowMessageHeader, ранее зарезервированного этим объектом ISourceBlock<TOutput>.Called by a linked ITargetBlock<TInput> to release a previously reserved DataflowMessageHeader by this ISourceBlock<TOutput>.

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

Вызывается связанным объектом ITargetBlock<TInput> для резервирования объекта DataflowMessageHeader, ранее предложенного этим объектом ISourceBlock<TOutput>.Called by a linked ITargetBlock<TInput> to reserve a previously offered DataflowMessageHeader by this ISourceBlock<TOutput>.

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

Предлагает сообщение блоку ITargetBlock<TInput>, предоставляя целевому объекту возможность использовать или отложить его.Offers a message to the ITargetBlock<TInput>, giving the target the opportunity to consume or postpone the message.

Методы расширения

AsObservable<TOutput>(ISourceBlock<TOutput>) AsObservable<TOutput>(ISourceBlock<TOutput>) AsObservable<TOutput>(ISourceBlock<TOutput>) AsObservable<TOutput>(ISourceBlock<TOutput>)

Создает новую абстракцию IObservable<T> для ISourceBlock<TOutput>.Creates a new IObservable<T> abstraction over the ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>) AsObserver<TInput>(ITargetBlock<TInput>) AsObserver<TInput>(ITargetBlock<TInput>) AsObserver<TInput>(ITargetBlock<TInput>)

Создает новую абстракцию IObserver<T> для ITargetBlock<TInput>.Creates a new IObserver<T> abstraction over the ITargetBlock<TInput>.

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

Связывает ISourceBlock<TOutput> с указанным ITargetBlock<TInput>.Links the ISourceBlock<TOutput> to the specified ITargetBlock<TInput>.

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

Связывает ISourceBlock<TOutput> с указанным ITargetBlock<TInput>, используя указанный фильтр.Links the ISourceBlock<TOutput> to the specified ITargetBlock<TInput> using the specified filter.

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

Связывает ISourceBlock<TOutput> с указанным ITargetBlock<TInput>, используя указанный фильтр.Links the ISourceBlock<TOutput> to the specified ITargetBlock<TInput> using the specified filter.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>) OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>) OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>) OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Предоставляет Task<TResult>, которое асинхронным образом выполняет мониторинг источника доступного вывода.Provides a Task<TResult> that asynchronously monitors the source for available output.

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

Предоставляет Task<TResult>, которое асинхронным образом выполняет мониторинг источника доступного вывода.Provides a Task<TResult> that asynchronously monitors the source for available output.

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

Отправляет элемент в объект ITargetBlock<TInput>.Posts an item to the ITargetBlock<TInput>.

Receive<TOutput>(ISourceBlock<TOutput>) Receive<TOutput>(ISourceBlock<TOutput>) Receive<TOutput>(ISourceBlock<TOutput>) Receive<TOutput>(ISourceBlock<TOutput>)

Синхронно получает значение от указанного источника.Synchronously receives a value from a specified source.

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

Синхронно получает значение из указанного источника и предоставляет токен для отмены операции.Synchronously receives a value from a specified source and provides a token to cancel the operation.

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

Синхронно получает значение из указанного источника, отслеживание необязательно точкой времени ожидания.Synchronously receives a value from a specified source, observing an optional time-out period.

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

Синхронно получает значение из указанного источника, обеспечивая токен для отмены операции за необязательным и интервал времени ожидания.Synchronously receives a value from a specified source, providing a token to cancel the operation and observing an optional time-out interval.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>) ReceiveAsync<TOutput>(ISourceBlock<TOutput>) ReceiveAsync<TOutput>(ISourceBlock<TOutput>) ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Асинхронно получает значение от указанного источника.Asynchronously receives a value from a specified source.

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

Асинхронно получает значение из указанного источника и предоставляет токен для отмены операции.Asynchronously receives a value from a specified source and provides a token to cancel the operation.

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

Асинхронно получает значение из указанного источника, отслеживание необязательно точкой времени ожидания.Asynchronously receives a value from a specified source, observing an optional time-out period.

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

Асинхронно получает значение из указанного источника, обеспечивая токен для отмены операции за необязательным и интервал времени ожидания.Asynchronously receives a value from a specified source, providing a token to cancel the operation and observing an optional time-out interval.

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

Асинхронно предлагает сообщение в целевому блоку сообщений, позволяет задержки.Asynchronously offers a message to the target message block, allowing for postponement.

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

Асинхронно предлагает сообщение в целевому блоку сообщений, позволяет задержки.Asynchronously offers a message to the target message block, allowing for postponement.

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

Пытается синхронно получить элемент из ISourceBlock<TOutput>.Attempts to synchronously receive an item from the ISourceBlock<TOutput>.

Применяется к