IReceivableSourceBlock<TOutput> 接口

定义

表示数据流块,其支持在不链接的情况下接收消息。

generic <typename TOutput>
public interface class IReceivableSourceBlock : System::Threading::Tasks::Dataflow::ISourceBlock<TOutput>
public interface IReceivableSourceBlock<TOutput> : System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>
type IReceivableSourceBlock<'Output> = interface
    interface ISourceBlock<'Output>
    interface IDataflowBlock
type IReceivableSourceBlock<'Output> = interface
    interface IDataflowBlock
    interface ISourceBlock<'Output>
Public Interface IReceivableSourceBlock(Of TOutput)
Implements ISourceBlock(Of TOutput)

类型参数

TOutput

指定 IReceivableSourceBlock<TOutput> 提供的数据类型。

派生
实现

注解

注意

TPL 数据流库(System.Threading.Tasks.Dataflow 命名空间)不随 .NET 一起分发。 若要在 Visual Studio 中安装 System.Threading.Tasks.Dataflow 命名空间,请打开项目,选择“项目”菜单中的“管理 NuGet 包”,再在线搜索 System.Threading.Tasks.Dataflow 包。 或者,若要使用 .NET Core CLI 进行安装,请运行 dotnet add package System.Threading.Tasks.Dataflow

属性

Completion

获取 Task,其表示数据流块的操作和完成。

(继承自 IDataflowBlock)

方法

Complete()

通知 IDataflowBlock,告知其不应该生成任何更多的消息也不应使用任何更多的延迟消息。

(继承自 IDataflowBlock)
ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean)

由链接的 ITargetBlock<TInput> 调用,以接受并使用以前由此 DataflowMessageHeader 提供的 ISourceBlock<TOutput>

(继承自 ISourceBlock<TOutput>)
Fault(Exception)

导致 IDataflowBlockFaulted 状态下完成。

(继承自 IDataflowBlock)
LinkTo(ITargetBlock<TOutput>, DataflowLinkOptions)

ISourceBlock<TOutput>将 链接到指定的 ITargetBlock<TInput>

(继承自 ISourceBlock<TOutput>)
ReleaseReservation(DataflowMessageHeader, ITargetBlock<TOutput>)

由链接的 ITargetBlock<TInput> 调用,以发布由此 DataflowMessageHeader 发布的以前已保留的 ISourceBlock<TOutput>

(继承自 ISourceBlock<TOutput>)
ReserveMessage(DataflowMessageHeader, ITargetBlock<TOutput>)

由链接的 ITargetBlock<TInput> 调用,以保留以前由此 DataflowMessageHeader 提供的 ISourceBlock<TOutput>

(继承自 ISourceBlock<TOutput>)
TryReceive(Predicate<TOutput>, TOutput)

IReceivableSourceBlock<TOutput> 中尝试同步接收可用输出项。

TryReceiveAll(IList<TOutput>)

IReceivableSourceBlock<TOutput> 中尝试同步接收所有可用项。

扩展方法

AsObservable<TOutput>(ISourceBlock<TOutput>)

IObservable<T> 创建新的 ISourceBlock<TOutput> 抽象。

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

ISourceBlock<TOutput>将 链接到指定的 ITargetBlock<TInput>

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

ISourceBlock<TOutput>使用指定的ITargetBlock<TInput>筛选器将 链接到指定的 。

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

ISourceBlock<TOutput>使用指定的ITargetBlock<TInput>筛选器将 链接到指定的 。

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

提供可异步监视可利用的输出的源的 Task<TResult>

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

提供可异步监视可利用的输出的源的 Task<TResult>

Receive<TOutput>(ISourceBlock<TOutput>)

同步接收来自指定源的值。

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

同步从指定的数据源中接收值并提供标记来取消操作。

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

同步从指定的数据源中接收值,观察可选的超时期限。

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

同步从指定的数据源中接收值,提供标记以取消操作并观察可选的超时间隔。

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

创建一个 IAsyncEnumerable<T> ,用于接收来自源的所有数据。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

异步接收来自指定源的值。

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

异步从指定的数据源中接收值并提供标记来取消操作。

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

异步从指定的数据源中接收值,观察可选的超时期限。

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

异步从指定的数据源中接收值,提供标记以取消操作并观察可选的超时间隔。

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

尝试从 ISourceBlock<TOutput> 中同步接收一个项目。

适用于