//------------------------------------------------------------
// Game Framework
// Copyright © 2013-2021 loyalsoft. All rights reserved.
// Homepage: http://www.game7000.com/
// Feedback: http://www.game7000.com/
//------------------------------------------------------------
using System;
using System.Collections.Generic;
namespace GameFramework.WebRequest
{
///
/// Web 请求管理器接口。
///
public interface IWebRequestManager
{
///
/// 获取 Web 请求代理总数量。
///
int TotalAgentCount
{
get;
}
///
/// 获取可用 Web 请求代理数量。
///
int FreeAgentCount
{
get;
}
///
/// 获取工作中 Web 请求代理数量。
///
int WorkingAgentCount
{
get;
}
///
/// 获取等待 Web 请求数量。
///
int WaitingTaskCount
{
get;
}
///
/// 获取或设置 Web 请求超时时长,以秒为单位。
///
float Timeout
{
get;
set;
}
///
/// Web 请求开始事件。
///
event EventHandler WebRequestStart;
///
/// Web 请求成功事件。
///
event EventHandler WebRequestSuccess;
///
/// Web 请求失败事件。
///
event EventHandler WebRequestFailure;
///
/// 增加 Web 请求代理辅助器。
///
/// 要增加的 Web 请求代理辅助器。
void AddWebRequestAgentHelper(IWebRequestAgentHelper webRequestAgentHelper);
///
/// 根据 Web 请求任务的序列编号获取 Web 请求任务的信息。
///
/// 要获取信息的 Web 请求任务的序列编号。
/// Web 请求任务的信息。
TaskInfo GetWebRequestInfo(int serialId);
///
/// 根据 Web 请求任务的标签获取 Web 请求任务的信息。
///
/// 要获取信息的 Web 请求任务的标签。
/// Web 请求任务的信息。
TaskInfo[] GetWebRequestInfos(string tag);
///
/// 根据 Web 请求任务的标签获取 Web 请求任务的信息。
///
/// 要获取信息的 Web 请求任务的标签。
/// Web 请求任务的信息。
void GetAllWebRequestInfos(string tag, List results);
///
/// 获取所有 Web 请求任务的信息。
///
/// 所有 Web 请求任务的信息。
TaskInfo[] GetAllWebRequestInfos();
///
/// 获取所有 Web 请求任务的信息。
///
/// 所有 Web 请求任务的信息。
void GetAllWebRequestInfos(List results);
///
/// 增加 Web 请求任务。
///
/// Web 请求地址。
/// 新增 Web 请求任务的序列编号。
int AddWebRequest(string webRequestUri);
///
/// 增加 Web 请求任务。
///
/// Web 请求地址。
/// 要发送的数据流。
/// 新增 Web 请求任务的序列编号。
int AddWebRequest(string webRequestUri, byte[] postData);
///
/// 增加 Web 请求任务。
///
/// Web 请求地址。
/// Web 请求任务的标签。
/// 新增 Web 请求任务的序列编号。
int AddWebRequest(string webRequestUri, string tag);
///
/// 增加 Web 请求任务。
///
/// Web 请求地址。
/// Web 请求任务的优先级。
/// 新增 Web 请求任务的序列编号。
int AddWebRequest(string webRequestUri, int priority);
///
/// 增加 Web 请求任务。
///
/// Web 请求地址。
/// 用户自定义数据。
/// 新增 Web 请求任务的序列编号。
int AddWebRequest(string webRequestUri, object userData);
///
/// 增加 Web 请求任务。
///
/// Web 请求地址。
/// 要发送的数据流。
/// Web 请求任务的标签。
/// 新增 Web 请求任务的序列编号。
int AddWebRequest(string webRequestUri, byte[] postData, string tag);
///
/// 增加 Web 请求任务。
///
/// Web 请求地址。
/// 要发送的数据流。
/// Web 请求任务的优先级。
/// 新增 Web 请求任务的序列编号。
int AddWebRequest(string webRequestUri, byte[] postData, int priority);
///
/// 增加 Web 请求任务。
///
/// Web 请求地址。
/// 要发送的数据流。
/// 用户自定义数据。
/// 新增 Web 请求任务的序列编号。
int AddWebRequest(string webRequestUri, byte[] postData, object userData);
///
/// 增加 Web 请求任务。
///
/// Web 请求地址。
/// Web 请求任务的标签。
/// Web 请求任务的优先级。
/// 新增 Web 请求任务的序列编号。
int AddWebRequest(string webRequestUri, string tag, int priority);
///
/// 增加 Web 请求任务。
///
/// Web 请求地址。
/// Web 请求任务的标签。
/// 用户自定义数据。
/// 新增 Web 请求任务的序列编号。
int AddWebRequest(string webRequestUri, string tag, object userData);
///
/// 增加 Web 请求任务。
///
/// Web 请求地址。
/// Web 请求任务的优先级。
/// 用户自定义数据。
/// 新增 Web 请求任务的序列编号。
int AddWebRequest(string webRequestUri, int priority, object userData);
///
/// 增加 Web 请求任务。
///
/// Web 请求地址。
/// 要发送的数据流。
/// Web 请求任务的标签。
/// Web 请求任务的优先级。
/// 新增 Web 请求任务的序列编号。
int AddWebRequest(string webRequestUri, byte[] postData, string tag, int priority);
///
/// 增加 Web 请求任务。
///
/// Web 请求地址。
/// 要发送的数据流。
/// Web 请求任务的标签。
/// 用户自定义数据。
/// 新增 Web 请求任务的序列编号。
int AddWebRequest(string webRequestUri, byte[] postData, string tag, object userData);
///
/// 增加 Web 请求任务。
///
/// Web 请求地址。
/// 要发送的数据流。
/// Web 请求任务的优先级。
/// 用户自定义数据。
/// 新增 Web 请求任务的序列编号。
int AddWebRequest(string webRequestUri, byte[] postData, int priority, object userData);
///
/// 增加 Web 请求任务。
///
/// Web 请求地址。
/// Web 请求任务的标签。
/// Web 请求任务的优先级。
/// 用户自定义数据。
/// 新增 Web 请求任务的序列编号。
int AddWebRequest(string webRequestUri, string tag, int priority, object userData);
///
/// 增加 Web 请求任务。
///
/// Web 请求地址。
/// 要发送的数据流。
/// Web 请求任务的标签。
/// Web 请求任务的优先级。
/// 用户自定义数据。
/// 新增 Web 请求任务的序列编号。
int AddWebRequest(string webRequestUri, byte[] postData, string tag, int priority, object userData);
///
/// 根据 Web 请求任务的序列编号移除 Web 请求任务。
///
/// 要移除 Web 请求任务的序列编号。
/// 是否移除 Web 请求任务成功。
bool RemoveWebRequest(int serialId);
///
/// 根据 Web 请求任务的标签移除 Web 请求任务。
///
/// 要移除 Web 请求任务的标签。
/// 移除 Web 请求任务的数量。
int RemoveWebRequests(string tag);
///
/// 移除所有 Web 请求任务。
///
/// 移除 Web 请求任务的数量。
int RemoveAllWebRequests();
}
}