Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ReceiveCore< TOutput >()

static Task< TOutput > System.Threading.Tasks.Dataflow.DataflowBlock.ReceiveCore< TOutput > ( this ISourceBlock< TOutput > source,
bool attemptTryReceive,
TimeSpan timeout,
CancellationToken cancellationToken )
inlinestaticprivate

Definition at line 1400 of file DataflowBlock.cs.

1401 {
1402 if (cancellationToken.IsCancellationRequested)
1403 {
1404 return Common.CreateTaskFromCancellation<TOutput>(cancellationToken);
1405 }
1407 {
1408 try
1409 {
1410 if (receivableSourceBlock.TryReceive(null, out var item))
1411 {
1412 return Task.FromResult(item);
1413 }
1414 }
1415 catch (Exception exception)
1416 {
1417 return Common.CreateTaskFromException<TOutput>(exception);
1418 }
1419 }
1420 int num = (int)timeout.TotalMilliseconds;
1421 if (num == 0)
1422 {
1423 return Common.CreateTaskFromException<TOutput>(ReceiveTarget<TOutput>.CreateExceptionForTimeout());
1424 }
1426 }

References System.cancellationToken, System.exception, System.item, System.source, and System.timeout.