/*
* Copyright (C) Alibaba Cloud Computing
* All rights reserved.
*
* 版权所有 (C)阿里云计算有限公司
*/
using System;
namespace Aliyun.OSS.Common.Communication
{
///
/// Represent the channel that communicates with an Aliyun Open Service.
///
internal interface IServiceClient
{
///
/// Sends a request to the service.
///
/// The request data.
/// The execution context.
/// The response data.
ServiceResponse Send(ServiceRequest request, ExecutionContext context);
///
/// Begins to send a request to the service asynchronously.
///
/// The request data.
/// The execution context.
/// User callback.
/// User state.
/// An instance of .
IAsyncResult BeginSend(ServiceRequest request, ExecutionContext context, AsyncCallback callback, object state);
///
/// Ends the asynchronous operation.
///
/// An instance of .
/// The response data.
ServiceResponse EndSend(IAsyncResult asyncResult);
}
}