sdk/Common/Communication/IServiceClient.cs (11 lines of code) (raw):

/* * Copyright (C) Alibaba Cloud Computing * All rights reserved. * */ using System; namespace Aliyun.OSS.Common.Communication { /// <summary> /// Represent the channel that communicates with an Aliyun Open Service. /// </summary> internal interface IServiceClient { /// <summary> /// Sends a request to the service. /// </summary> /// <param name="request">The request data.</param> /// <param name="context">The execution context.</param> /// <returns>The response data.</returns> ServiceResponse Send(ServiceRequest request, ExecutionContext context); /// <summary> /// Begins to send a request to the service asynchronously. /// </summary> /// <param name="request">The request data.</param> /// <param name="context">The execution context.</param> /// <param name="callback">User callback.</param> /// <param name="state">User state.</param> /// <returns>An instance of <see cref="IAsyncResult"/>.</returns> IAsyncResult BeginSend(ServiceRequest request, ExecutionContext context, AsyncCallback callback, object state); /// <summary> /// Ends the asynchronous operation. /// </summary> /// <param name="asyncResult">An instance of <see cref="IAsyncResult"/>.</param> /// <returns>The response data.</returns> ServiceResponse EndSend(IAsyncResult asyncResult); } }