本文整理汇总了C#中Cargo.Delay方法的典型用法代码示例。如果您正苦于以下问题:C# Cargo.Delay方法的具体用法?C# Cargo.Delay怎么用?C# Cargo.Delay使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cargo
的用法示例。
在下文中一共展示了Cargo.Delay方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Write
public void Write(Cargo<ArraySegment<byte>> cargo)
{
if (!cargo.Delayable) {
_write(cargo.Result.Array, cargo.Result.Offset, cargo.Result.Count);
return;
}
var result = _beginWrite(cargo.Result.Array, cargo.Result.Offset, cargo.Result.Count, asyncResult => {
if (asyncResult.CompletedSynchronously)
return;
_endWrite(asyncResult);
cargo.Resume();
}, null);
if (result.CompletedSynchronously)
_endWrite(result);
else
cargo.Delay();
}
示例2: Write
static void Write(Cargo<ArraySegment<byte>> cargo, Stream stream)
{
if (!cargo.Delayable) {
stream.Write(cargo.Result.Array, cargo.Result.Offset, cargo.Result.Count);
return;
}
var result = stream.BeginWrite(cargo.Result.Array, cargo.Result.Offset, cargo.Result.Count, asyncResult => {
if (asyncResult.CompletedSynchronously)
return;
stream.EndWrite(asyncResult);
cargo.Resume();
}, null);
if (result.CompletedSynchronously)
stream.EndWrite(result);
else
cargo.Delay();
}