30 lines
904 B
C#
30 lines
904 B
C#
using System.Threading.Tasks;
|
|||
|
|
|
||
|
|
namespace PCL.Core.IO.Download;
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 下载连接,负责与服务器进行通信。
|
||
|
|
/// </summary>
|
||
|
|
public interface IDlConnection
|
||
|
|
{
|
||
|
|
/// <summary>
|
||
|
|
/// 开始连接,发起与服务器的通信。
|
||
|
|
/// </summary>
|
||
|
|
/// <param name="beginOffset">起始偏移,为 <c>0</c> 表示不使用分块</param>
|
||
|
|
/// <returns>连接信息</returns>
|
||
|
|
public Task<NDlConnectionInfo> StartAsync(long beginOffset);
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 停止连接,同时停止服务器通信并释放资源。
|
||
|
|
/// </summary>
|
||
|
|
/// <returns></returns>
|
||
|
|
public Task StopAsync();
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 读取指定长度的数据,若无法继续读取则返回空数组。
|
||
|
|
/// </summary>
|
||
|
|
/// <param name="length">读取长度</param>
|
||
|
|
/// <returns>字节数组形式的数据</returns>
|
||
|
|
public Task<byte[]> ReadAsync(int length);
|
||
|
|
}
|