|
256 | 256 | <returns>An IDisposable that, upon calling Dispose, will unlink the source from the target.</returns>
|
257 | 257 | <remarks>To be added.</remarks>
|
258 | 258 | <exception cref="T:System.ArgumentNullException">
|
259 |
| - <paramref name="target" /> is null (Nothing in Visual Basic) or <paramref name="linkOptions" /> is null (Nothing in Visual Basic).</exception> |
| 259 | + <paramref name="target" /> is <see langword="null" /> (Nothing in Visual Basic) or <paramref name="linkOptions" /> is <see langword="null" /> (Nothing in Visual Basic).</exception> |
260 | 260 | </Docs>
|
261 | 261 | </Member>
|
262 | 262 | <Member MemberName="OutputCount">
|
@@ -353,12 +353,25 @@ After `Fault` has been called on a dataflow block, that block will complete, suc
|
353 | 353 | <Parameter Name="messageConsumed" Type="System.Boolean" RefType="out" />
|
354 | 354 | </Parameters>
|
355 | 355 | <Docs>
|
356 |
| - <param name="messageHeader">To be added.</param> |
357 |
| - <param name="target">To be added.</param> |
358 |
| - <param name="messageConsumed">To be added.</param> |
359 |
| - <summary>To be added.</summary> |
360 |
| - <returns>To be added.</returns> |
361 |
| - <remarks>To be added.</remarks> |
| 356 | + <param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader" /> of the message that is to be consumed.</param> |
| 357 | + <param name="target">The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1" /> for which the message is to be consumed.</param> |
| 358 | + <param name="messageConsumed"> |
| 359 | + <see langword="true" /> if the message was successfully consumed. <see langword="false" /> otherwise.</param> |
| 360 | + <summary>Passes the ownership of the message identified by the <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader" /> from this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1" /> instance to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1" />.</summary> |
| 361 | + <returns> The value of the consumed message. This may correspond to a different <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader" /> instance than was previously reserved and passed as the <paramref name="messageHeader" /> to <see cref="M:ConsumeMessage" />. The consuming <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1" /> must use the returned value instead of the value passed as messageValue through <see cref="M:OfferMessage" />. |
| 362 | + If the message requested is not available, the return value will be <see langword="null" /> (Nothing in Visual Basic). |
| 363 | + </returns> |
| 364 | + <remarks> |
| 365 | + <format type="text/markdown"><![CDATA[ |
| 366 | +
|
| 367 | +## Remarks |
| 368 | +
|
| 369 | + The <xref:System.Threading.Tasks.Dataflow.ITargetBlock`1> for which the message is to be consumed need not be linked from this <xref:System.Threading.Tasks.Dataflow.ISourceBlock`1> instance. Moreover, this <xref:System.Threading.Tasks.Dataflow.ISourceBlock`1> instance may have never offered the message directly to the <xref:System.Threading.Tasks.Dataflow.ITargetBlock`1>. |
| 370 | +
|
| 371 | + ]]></format> |
| 372 | + </remarks> |
| 373 | + <exception cref="T:System.ArgumentException">The <paramref name="messageHeader" /> is not valid.</exception> |
| 374 | + <exception cref="T:System.ArgumentNullException">The <paramref name="target" /> is <see langword="null" /> (Nothing in Visual Basic).</exception> |
362 | 375 | </Docs>
|
363 | 376 | </Member>
|
364 | 377 | <Member MemberName="System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>>>.ReleaseReservation">
|
@@ -389,10 +402,23 @@ After `Fault` has been called on a dataflow block, that block will complete, suc
|
389 | 402 | <Parameter Name="target" Type="System.Threading.Tasks.Dataflow.ITargetBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>>>" />
|
390 | 403 | </Parameters>
|
391 | 404 | <Docs>
|
392 |
| - <param name="messageHeader">To be added.</param> |
393 |
| - <param name="target">To be added.</param> |
394 |
| - <summary>To be added.</summary> |
395 |
| - <remarks>To be added.</remarks> |
| 405 | + <param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader" /> of the reserved message.</param> |
| 406 | + <param name="target">The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1" /> that currently holds the reservation.</param> |
| 407 | + <summary>Releases the right to pass the ownership of the message identified by the <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader" /> from this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1" /> to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1" />.</summary> |
| 408 | + <remarks> |
| 409 | + <format type="text/markdown"><![CDATA[ |
| 410 | +
|
| 411 | +## Remarks |
| 412 | +
|
| 413 | + The <xref:System.Threading.Tasks.Dataflow.ITargetBlock`1> that holds the reservation need not be linked from this <xref:System.Threading.Tasks.Dataflow.ISourceBlock`1> instance. Moreover, this <xref:System.Threading.Tasks.Dataflow.ISourceBlock`1> instance may have never offered the message directly to the <xref:System.Threading.Tasks.Dataflow.ITargetBlock`1>. |
| 414 | + It is required that this message has been previously reserved for the same <xref:System.Threading.Tasks.Dataflow.ITargetBlock`1>. |
| 415 | + |
| 416 | +
|
| 417 | + ]]></format> |
| 418 | + </remarks> |
| 419 | + <exception cref="T:System.ArgumentException">The <paramref name="messageHeader" /> is not valid.</exception> |
| 420 | + <exception cref="T:System.ArgumentNullException">The <paramref name="target" /> is <see langword="null" /> (Nothing in Visual Basic).</exception> |
| 421 | + <exception cref="T:System.InvalidOperationException">The <paramref name="target" /> did not have the message reserved.</exception> |
396 | 422 | </Docs>
|
397 | 423 | </Member>
|
398 | 424 | <Member MemberName="System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>>>.ReserveMessage">
|
@@ -423,11 +449,26 @@ After `Fault` has been called on a dataflow block, that block will complete, suc
|
423 | 449 | <Parameter Name="target" Type="System.Threading.Tasks.Dataflow.ITargetBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>>>" />
|
424 | 450 | </Parameters>
|
425 | 451 | <Docs>
|
426 |
| - <param name="messageHeader">To be added.</param> |
427 |
| - <param name="target">To be added.</param> |
428 |
| - <summary>To be added.</summary> |
429 |
| - <returns>To be added.</returns> |
430 |
| - <remarks>To be added.</remarks> |
| 452 | + <param name="messageHeader">The <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader" /> of the message that is to be reserved.</param> |
| 453 | + <param name="target">The <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1" /> for which the message is to be reserved.</param> |
| 454 | + <summary>Reserves the right to pass the ownership of the message identified by the <see cref="T:System.Threading.Tasks.Dataflow.DataflowMessageHeader" /> from this <see cref="T:System.Threading.Tasks.Dataflow.ISourceBlock`1" /> to the <see cref="T:System.Threading.Tasks.Dataflow.ITargetBlock`1" />.</summary> |
| 455 | + <returns> |
| 456 | + <see langword="true" /> if the message was successfully reserved; otherwise, <see langword="false" />.</returns> |
| 457 | + <remarks> |
| 458 | + <format type="text/markdown"><![CDATA[ |
| 459 | +
|
| 460 | +## Remarks |
| 461 | +
|
| 462 | + The <xref:System.Threading.Tasks.Dataflow.ITargetBlock`1> for which the message is to be reserved need not be linked from this <xref:System.Threading.Tasks.Dataflow.ISourceBlock`1> instance. Moreover, this <xref:System.Threading.Tasks.Dataflow.ISourceBlock`1> instance may have never offered the message directly to the <xref:System.Threading.Tasks.Dataflow.ITargetBlock`1>. |
| 463 | + If `true` is returned, either <xref:ConsumeMessage> or <xref:ReleaseReservation> for this message must be subsequently called with the same <xref:System.Threading.Tasks.Dataflow.DataflowMessageHeader> and <xref:System.Threading.Tasks.Dataflow.ITargetBlock`1>. |
| 464 | + Failure to do so may result in the source being unable to propagate any further messages to any target. |
| 465 | + <xref:ReserveMessage> must not be called while the target is holding any internal locks. Doing so will violate the lock hierarchy necessary to avoid deadlocks in a dataflow network. |
| 466 | + |
| 467 | +
|
| 468 | + ]]></format> |
| 469 | + </remarks> |
| 470 | + <exception cref="T:System.ArgumentException">The <paramref name="messageHeader" /> is not valid.</exception> |
| 471 | + <exception cref="T:System.ArgumentNullException">The <paramref name="target" /> is <see langword="null" /> (Nothing in Visual Basic).</exception> |
431 | 472 | </Docs>
|
432 | 473 | </Member>
|
433 | 474 | <Member MemberName="Target1">
|
|
0 commit comments