public IEnumerable <CloudQueueMessage> EndGetMessages(IAsyncResult asyncResult) { CloudQueue queue = (CloudQueue)NestedAsyncHelper.GetExtraState(asyncResult); IEnumerable <CloudQueueMessage> msgs = queue.EndGetMessages(NestedAsyncHelper.UnwrapAsyncResult(asyncResult)); return(msgs.Select(msg => HSMessageWrapper.FromCloudQueueMessage(msg, queue))); }
public IEnumerable <CloudQueueMessage> GetMessages(int messageCount, TimeSpan visibilityTimeout) { CloudQueue originQ = _queues[GetNextQueue()]; IEnumerable <CloudQueueMessage> msgs = originQ.GetMessages(messageCount, visibilityTimeout); return(msgs.Select(msg => HSMessageWrapper.FromCloudQueueMessage(msg, originQ))); }
public CloudQueueMessage GetMessage(TimeSpan visibilityTimeout) { CloudQueue originQ = _queues[GetNextQueue()]; CloudQueueMessage msg = originQ.GetMessage(visibilityTimeout); return(HSMessageWrapper.FromCloudQueueMessage(msg, originQ)); }
public CloudQueueMessage GetMessage() { CloudQueue originQ = _queues[GetNextQueue()]; CloudQueueMessage msg = originQ.GetMessage(); return(HSMessageWrapper.FromCloudQueueMessage(msg, originQ)); }
public void DeleteMessage(CloudQueueMessage message) { if (message == null) { throw new ArgumentNullException("message"); } HSMessageWrapper msg = (HSMessageWrapper)message; msg._origin.DeleteMessage(message); }
public IAsyncResult BeginDeleteMessage(CloudQueueMessage message, AsyncCallback callback, object state) { if (message == null) { throw new ArgumentNullException("message"); } HSMessageWrapper msg = (HSMessageWrapper)message; NestedAsyncHelper wrapper = NestedAsyncHelper.WrapBeginParameters(callback, state, msg._origin); return(wrapper.WrapAsyncResult(msg._origin.BeginDeleteMessage(msg, NestedAsyncHelper.Callback, wrapper))); }
public static HSMessageWrapper FromCloudQueueMessage(CloudQueueMessage msg, CloudQueue originQ) { if (msg == null) { return(null); } HSMessageWrapper result = new HSMessageWrapper(msg.AsBytes); FieldInfo[] fields_of_class = msg.GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance); foreach (FieldInfo fi in fields_of_class) { fi.SetValue(result, fi.GetValue(msg)); } result._origin = originQ; return(result); }