/// <summary> /// Called when a subscription expires. /// </summary> /// <param name="subscription">The subscription.</param> internal void SubscriptionExpired(Subscription subscription) { lock (m_statusMessages) { StatusMessage message = new StatusMessage(); message.SubscriptionId = subscription.Id; message.Message = subscription.PublishTimeout(); Queue<StatusMessage> queue = null; if (subscription.SessionId != null && m_statusMessages.TryGetValue(subscription.SessionId, out queue)) { queue.Enqueue(message); } } }