public CloudQueueMessageMutable(QueueMessage message) : base(Convert.FromBase64String(message.Text)) { this.Id = message.Id; this.PopReceipt = message.PopReceipt; this.NextVisibleTime = message.TimeNextVisible; this.ExpirationTime = message.ExpirationTime; this.InsertionTime = message.InsertionTime; this.Content = message.Text; }
/// <summary>Selects the peek message response.</summary> /// <param name="protocolMessage">The protocol message. </param> /// <returns>The parsed message. </returns> private CloudQueueMessage SelectPeekMessageResponse(QueueMessage protocolMessage) { // if EncodeMessage is true, we assume the string returned from server is Base64 encoding of original message; // if this is not true, exception will likely be thrown. // it is user's responsibility to make sure EncodeMessage setting matches the queue that is being read. var message = this.EncodeMessage ? new CloudQueueMessage(protocolMessage.Text, true) : new CloudQueueMessage(protocolMessage.Text); message.Id = protocolMessage.Id; message.InsertionTime = protocolMessage.InsertionTime; message.ExpirationTime = protocolMessage.ExpirationTime; message.DequeueCount = protocolMessage.DequeueCount; // PopReceipt and TimeNextVisible are not returned during peek return message; }
/// <summary>Selects the get message response.</summary> /// <param name="protocolMessage">The protocol message. </param> /// <returns>The parsed message. </returns> private CloudQueueMessage SelectGetMessageResponse(QueueMessage protocolMessage) { var message = this.SelectPeekMessageResponse(protocolMessage); message.PopReceipt = protocolMessage.PopReceipt; if (protocolMessage.TimeNextVisible.HasValue) { message.NextVisibleTime = protocolMessage.TimeNextVisible.Value; } return message; }