BufferBlock<T>.ISourceBlock<T>.ReserveMessage Método

Definición

Llamado por un vinculado ITargetBlock<TInput> para reservar un objeto ofrecido DataflowMessageHeader anteriormente por este ISourceBlock<TOutput>.

 virtual bool System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReserveMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, System::Threading::Tasks::Dataflow::ITargetBlock<T> ^ target) = System::Threading::Tasks::Dataflow::ISourceBlock<T>::ReserveMessage;
bool ISourceBlock<T>.ReserveMessage(System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<T> target);
abstract member System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'T> -> bool
override this.System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'T> -> bool
Function ReserveMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of T)) As Boolean Implements ISourceBlock(Of T).ReserveMessage

Parámetros

messageHeader
DataflowMessageHeader

DataflowMessageHeader del mensaje que se va a reservar.

target
ITargetBlock<T>

Reserva ITargetBlock<TInput> del mensaje.

Devoluciones

true si el mensaje se reservó correctamente; de lo contrario, false.

Implementaciones

Excepciones

no messageHeader es válido.

El target es null.

Comentarios

Solo ITargetBlock<TInput> las instancias vinculadas a esta ISourceBlock<TOutput> instancia pueden usar ReserveMessagey solo se deben usar para reservar DataflowMessageHeader instancias ofrecidas anteriormente por este origen al destino.

Si true se devuelve , ITargetBlock<TInput> debe llamar posteriormente a ConsumeMessage o ReleaseReservation para este mensaje. Si no lo hace, es posible que el origen no pueda propagar ningún mensaje adicional a este u otros destinos.

ReserveMessage no debe llamarse mientras el destino contiene ningún bloqueo interno. Si lo hace, se infringirá la jerarquía de bloqueo necesaria para evitar interbloqueos en una red de flujo de datos.

Se aplica a