aliyun-net-sdk-dybaseapi/Dybaseapi/MNS/Queue.cs (140 lines of code) (raw):
/*
* Copyright (C) Alibaba Cloud Computing
* All rights reserved.
*/
using System;
using Aliyun.Acs.Dybaseapi.MNS.Model;
using Aliyun.Acs.Dybaseapi.MNS.Model.Internal.MarshallTransformations;
using Aliyun.Acs.Dybaseapi.MNS.Runtime;
using Aliyun.Acs.Dybaseapi.MNS.Util;
using System.Collections.Generic;
namespace Aliyun.Acs.Dybaseapi.MNS
{
/// <summary>
/// Implementation for accessing MNS queue
/// </summary>
public partial class Queue : IQueue
{
#region Properties
private string _queueName;
private readonly AliyunServiceClient _serviceClient;
#endregion
#region Constructor
/// <summary>
/// Instantiates Queue with the parameterized properties
/// </summary>
public Queue(string queueName, AliyunServiceClient serviceClient)
{
_queueName = queueName;
_serviceClient = serviceClient;
}
#endregion
#region Public methods
/// <summary>
/// Gets and sets the property QueueName
/// </summary>
public string QueueName
{
get { return this._queueName; }
set { this._queueName = value; }
}
/// <summary>
/// Check to see if QueueName property is set
/// </summary>
public bool IsSetQueueName()
{
return this._queueName != null;
}
#endregion
#region DeleteMessage
/// <inheritdoc/>
public DeleteMessageResponse DeleteMessage(string receiptHandle)
{
var request = new DeleteMessageRequest {ReceiptHandle = receiptHandle};
return DeleteMessage(request);
}
/// <inheritdoc/>
public DeleteMessageResponse DeleteMessage(DeleteMessageRequest request)
{
request.QueueName = this.QueueName;
var marshaller = new DeleteMessageRequestMarshaller();
var unmarshaller = DeleteMessageResponseUnmarshaller.Instance;
return _serviceClient.Invoke<DeleteMessageRequest, DeleteMessageResponse>(request, marshaller, unmarshaller);
}
/// <inheritdoc/>
public BatchDeleteMessageResponse BatchDeleteMessage(BatchDeleteMessageRequest request)
{
request.QueueName = this.QueueName;
var marshaller = new BatchDeleteMessageRequestMarshaller();
var unmarshaller = BatchDeleteMessageResponseUnmarshaller.Instance;
return _serviceClient.Invoke<BatchDeleteMessageRequest, BatchDeleteMessageResponse>(request, marshaller, unmarshaller);
}
/// <inheritdoc/>
public IAsyncResult BeginDeleteMessage(DeleteMessageRequest request, AsyncCallback callback, object state)
{
request.QueueName = this.QueueName;
var marshaller = new DeleteMessageRequestMarshaller();
var unmarshaller = DeleteMessageResponseUnmarshaller.Instance;
return _serviceClient.BeginInvoke<DeleteMessageRequest>(request, marshaller, unmarshaller,
callback, state);
}
/// <inheritdoc/>
public DeleteMessageResponse EndDeleteMessage(IAsyncResult asyncResult)
{
return AliyunServiceClient.EndInvoke<DeleteMessageResponse>(asyncResult);
}
/// <inheritdoc/>
public IAsyncResult BeginBatchDeleteMessage(BatchDeleteMessageRequest request, AsyncCallback callback, object state)
{
request.QueueName = this.QueueName;
var marshaller = new BatchDeleteMessageRequestMarshaller();
var unmarshaller = BatchDeleteMessageResponseUnmarshaller.Instance;
return _serviceClient.BeginInvoke<BatchDeleteMessageRequest>(request, marshaller, unmarshaller,
callback, state);
}
/// <inheritdoc/>
public BatchDeleteMessageResponse EndBatchDeleteMessage(IAsyncResult asyncResult)
{
return AliyunServiceClient.EndInvoke<BatchDeleteMessageResponse>(asyncResult);
}
#endregion
#region ReceiveMessage
/// <inheritdoc/>
public ReceiveMessageResponse ReceiveMessage()
{
var request = new ReceiveMessageRequest();
return ReceiveMessage(request);
}
/// <inheritdoc/>
public ReceiveMessageResponse ReceiveMessage(uint waitSeconds)
{
var request = new ReceiveMessageRequest() {WaitSeconds = waitSeconds};
return ReceiveMessage(request);
}
/// <inheritdoc/>
public ReceiveMessageResponse ReceiveMessage(ReceiveMessageRequest request)
{
request.QueueName = this.QueueName;
var marshaller = new ReceiveMessageRequestMarshaller();
var unmarshaller = ReceiveMessageResponseUnmarshaller.Instance;
return _serviceClient.Invoke<ReceiveMessageRequest, ReceiveMessageResponse>(request, marshaller, unmarshaller);
}
/// <inheritdoc/>
public BatchReceiveMessageResponse BatchReceiveMessage(uint batchSize)
{
var request = new BatchReceiveMessageRequest(batchSize);
return BatchReceiveMessage(request);
}
/// <inheritdoc/>
public BatchReceiveMessageResponse BatchReceiveMessage(uint batchSize, uint waitSeconds)
{
var request = new BatchReceiveMessageRequest(batchSize, waitSeconds);
return BatchReceiveMessage(request);
}
/// <inheritdoc/>
public BatchReceiveMessageResponse BatchReceiveMessage(BatchReceiveMessageRequest request)
{
request.QueueName = this.QueueName;
var marshaller = new BatchReceiveMessageRequestMarshaller();
var unmarshaller = BatchReceiveMessageResponseUnmarshaller.Instance;
return _serviceClient.Invoke<BatchReceiveMessageRequest, BatchReceiveMessageResponse>(request, marshaller, unmarshaller);
}
/// <inheritdoc/>
public IAsyncResult BeginReceiveMessage(ReceiveMessageRequest request, AsyncCallback callback, object state)
{
request.QueueName = this.QueueName;
var marshaller = new ReceiveMessageRequestMarshaller();
var unmarshaller = ReceiveMessageResponseUnmarshaller.Instance;
return _serviceClient.BeginInvoke<ReceiveMessageRequest>(request, marshaller, unmarshaller,
callback, state);
}
/// <inheritdoc/>
public ReceiveMessageResponse EndReceiveMessage(IAsyncResult asyncResult)
{
return AliyunServiceClient.EndInvoke<ReceiveMessageResponse>(asyncResult);
}
/// <inheritdoc/>
public IAsyncResult BeginBatchReceiveMessage(BatchReceiveMessageRequest request, AsyncCallback callback, object state)
{
request.QueueName = this.QueueName;
var marshaller = new BatchReceiveMessageRequestMarshaller();
var unmarshaller = BatchReceiveMessageResponseUnmarshaller.Instance;
return _serviceClient.BeginInvoke<BatchReceiveMessageRequest>(request, marshaller, unmarshaller,
callback, state);
}
/// <inheritdoc/>
public BatchReceiveMessageResponse EndBatchReceiveMessage(IAsyncResult asyncResult)
{
return AliyunServiceClient.EndInvoke<BatchReceiveMessageResponse>(asyncResult);
}
#endregion
}
}