public SentMessageWithCachedReplies(MessageId messageId, ReplyStream replyStream) { if (messageId == null) throw new ArgumentNullException("messageId"); if (replyStream == null) throw new ArgumentNullException("replyStream"); _messageId = messageId; _replyStream = replyStream; }
public ISentMessage CreateSentMessage(Message message) { CheckDisposed(); var messageId = message.Headers.MessageId; var replyStreamExpiration = DateTime.UtcNow.Add(_replyTimeout); var newReplyStream = new ReplyStream(); var replyStream = (ReplyStream) _cache.AddOrGetExisting(messageId, newReplyStream, replyStreamExpiration); // ReSharper disable once ConvertIfStatementToNullCoalescingExpression if (replyStream == null) { // MemoryCache.AddOrGetExisting returns null if the key does not // already exist, so use the one we just created. See: // http://msdn.microsoft.com/en-us/library/dd988741%28v=vs.110%29.aspx replyStream = newReplyStream; } return new SentMessageWithCachedReplies(messageId, replyStream); }