WriteOnceBlock<T>.ITargetBlock<T>.OfferMessage 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
메시지를 ITargetBlock<TInput>에 제공하며 대상에서 메시지를 선택적으로 사용하거나 연기할 수 있습니다.
virtual System::Threading::Tasks::Dataflow::DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<T>.OfferMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, T messageValue, System::Threading::Tasks::Dataflow::ISourceBlock<T> ^ source, bool consumeToAccept) = System::Threading::Tasks::Dataflow::ITargetBlock<T>::OfferMessage;
System.Threading.Tasks.Dataflow.DataflowMessageStatus ITargetBlock<T>.OfferMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, T messageValue, System.Threading.Tasks.Dataflow.ISourceBlock<T> source, bool consumeToAccept);
abstract member System.Threading.Tasks.Dataflow.ITargetBlock<T>.OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'T * System.Threading.Tasks.Dataflow.ISourceBlock<'T> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
override this.System.Threading.Tasks.Dataflow.ITargetBlock<T>.OfferMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * 'T * System.Threading.Tasks.Dataflow.ISourceBlock<'T> * bool -> System.Threading.Tasks.Dataflow.DataflowMessageStatus
Function OfferMessage (messageHeader As DataflowMessageHeader, messageValue As T, source As ISourceBlock(Of T), consumeToAccept As Boolean) As DataflowMessageStatus Implements ITargetBlock(Of T).OfferMessage
매개 변수
- messageHeader
- DataflowMessageHeader
제공되는 메시지의 헤더를 나타내는 DataflowMessageHeader 인스턴스입니다.
- messageValue
- T
제공되는 메시지의 값입니다.
- source
- ISourceBlock<T>
메시지를 제공하는 ISourceBlock<TOutput>입니다. 이 값은 null
이 될 수 있습니다.
- consumeToAccept
- Boolean
메시지를 사용하기 위해 ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean)를 반환하기 전에 OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)를 호출하는 동안 Accepted를 동기적으로 호출하도록 대상에 지시하려면 true
로 설정합니다.
반환
제공된 메시지의 상태입니다. 메시지가 대상에서 허용된 경우 Accepted가 반환되고 원본은 현재 대상에서 그대로 소유하고 있으므로 제안된 메시지를 더 이상 사용할 수 없습니다. 메시지가 대상에 의해 연기된 경우 Postponed는 나중에 메시지를 사용하거나 예약하려고 시도할 수 있는 알림으로 반환됩니다. 그 동안 소스는 메시지를 계속 소유하고 있으며 다른 블록에 메시지를 제공할 수 있습니다.
대상이 메시지를 연기해야 하지만 source
가 null
인 경우 Declined가 대신 반환됩니다.
대상이 메시지를 받으려고 시도했지만 다른 대상에 메시지를 전달하는 소스 또는 단순히 삭제로 인해 누락된 경우 NotAvailable이 반환됩니다.
대상이 메시지를 수락하지 않도록 선택한 경우 Declined이 반환 됩니다. 대상이 메시지를 받지 않도록 선택했고 이 소스에서 다른 메시지를 받지 않을 경우 DecliningPermanently이 반환됩니다.
구현
예외
messageHeader
이 올바르지 않은 경우
또는 null이 아닌 source
가 제공되는 경우 consumeToAccept
는 true만 될 수 있습니다.
적용 대상
.NET