/// <summary> /// Пытается обработать сообщение как запрос. /// </summary> /// <param name="delivery"> /// Входящее сообщение. /// </param> /// <returns> /// Если <c>true</c> - тогда сообщение обработано как запрос, иначе - <c>false</c>. /// </returns> private bool TryHandleAsResponse(RabbitDelivery delivery) { if (!delivery.IsResponse) { return(false); } string correlationId = delivery.CorrelationId; lock (this.locker) { if (this.expectations.ContainsKey(correlationId)) { Expectation e = this.expectations[correlationId]; if (e.TimeoutTicket.HasValue) { this.ticketTimer.Cancel(e.TimeoutTicket.Value); } this.expectations.Remove(correlationId); e.Complete(delivery); return(true); } } return(false); }