다음을 통해 공유


TransformManyBlock<TInput,TOutput>.ITargetBlock<TInput>.OfferMessage 메서드

정의

메시지를 ITargetBlock<TInput>에 제공하며 대상에서 메시지를 선택적으로 사용하거나 연기할 수 있습니다.

 virtual System::Threading::Tasks::Dataflow::DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, TInput messageValue, System::Threading::Tasks::Dataflow::ISourceBlock<TInput> ^ source, bool consumeToAccept) = System::Threading::Tasks::Dataflow::ITargetBlock<TInput>::OfferMessage;
System.Threading.Tasks.Dataflow.DataflowMessageStatus ITargetBlock<TInput>.OfferMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, TInput messageValue, System.Threading.Tasks.Dataflow.ISourceBlock<TInput> source, bool consumeToAccept);
abstract member System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'Input * System.Threading.Tasks.Dataflow.ISourceBlock<'Input> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
override this.System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'Input * System.Threading.Tasks.Dataflow.ISourceBlock<'Input> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
Function OfferMessage (messageHeader As DataflowMessageHeader, messageValue As TInput, source As ISourceBlock(Of TInput), consumeToAccept As Boolean) As DataflowMessageStatus Implements ITargetBlock(Of TInput).OfferMessage

매개 변수

messageHeader
DataflowMessageHeader

제공되는 메시지의 헤더를 나타내는 DataflowMessageHeader 인스턴스입니다.

messageValue
TInput

제공되는 메시지의 값입니다.

source
ISourceBlock<TInput>

메시지를 제공하는 ISourceBlock<TOutput>입니다. 이 값은 null이 될 수 있습니다.

consumeToAccept
Boolean

대상이 메시지를 사용하기 위해 ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean)를 반환하기 전에 ITargetBlock<TInput>에 대한 호출 중 Accepted를 동기적으로 호출해야 하면 true입니다.

반환

DataflowMessageStatus

제공된 메시지의 상태입니다. 메시지가 대상에서 허용된 경우 Accepted가 반환되고 원본은 현재 대상에서 그대로 소유하고 있으므로 제안된 메시지를 더 이상 사용할 수 없습니다. 메시지가 대상에 의해 연기된 경우 Postponed는 나중에 메시지를 사용하거나 예약하려고 시도할 수 있는 알림으로 반환됩니다. 그 동안 소스는 메시지를 계속 소유하고 있으며 다른 블록에 메시지를 제공할 수 있습니다.

대상이 연기되더라도 원본이 null인 경우 대신 Declined가 반환됩니다.

대상이 메시지를 받으려고 시도했지만 다른 대상에 메시지를 전달하는 소스 또는 단순히 삭제로 인해 누락된 경우 NotAvailable이 반환됩니다.

대상이 메시지를 수락하지 않도록 선택한 경우 Declined이 반환 됩니다. 대상이 메시지를 받지 않도록 선택했고 이 소스에서 다른 메시지를 받지 않을 경우 DecliningPermanently이 반환됩니다.

구현

예외

messageHeader이 올바르지 않은 경우

또는 null이 아닌 consumeToAccept가 제공되는 경우 source는 true만 될 수 있습니다.

적용 대상