string GenerateKey(TimeSpan timeToBeReceived)
{
if (timeToBeReceived > MaxMessageTimeToLive)
{
timeToBeReceived = MaxMessageTimeToLive;
}
var keepMessageUntil = DateTime.MaxValue;
if (timeToBeReceived < TimeSpan.MaxValue)
{
keepMessageUntil = DateTime.Now + timeToBeReceived;
}
return Path.Combine(keepMessageUntil.ToString("yyyy-MM-dd_HH"), Guid.NewGuid().ToString());
}