public void OnSubscriptionAdded(ISubscriptionAdded message) { if (_ignoredMessageTypes.Contains(message.MessageName)) { return; } WithTarget(x => { if (_log.IsDebugEnabled) { _log.DebugFormat("Send AddPeerSubscription: {0}, {1}", _peerId, message.MessageName); } x.Send(new AddPeerSubscriptionMessage { PeerId = _peerId, MessageNumber = ++_messageNumber, EndpointUri = message.EndpointUri, MessageName = message.MessageName, SubscriptionId = message.SubscriptionId, CorrelationId = message.CorrelationId, }); }); }
/// <summary> /// Called when a subscription was added. /// </summary> /// <param name="message"></param> public void OnSubscriptionAdded(ISubscriptionAdded message) { long messageNumber = Interlocked.Increment(ref _lastMessageNumber); var subscription = new SubscriptionInformation(_peerId, messageNumber, message.MessageName, message.CorrelationId, message.EndpointUri) { SubscriptionId = message.SubscriptionId }; var add = new AddSubscription(subscription); if (_log.IsDebugEnabled) { _log.DebugFormat("AddSubscription: {0}, {1}", subscription.MessageName, subscription.SubscriptionId); } _endpoint.Send(add, SetSendContext); }
public void OnSubscriptionAdded(ISubscriptionAdded message) { Guard.AgainstNull(_inputAddress, "InputAddress", "The input address was not set"); Type messageType = Type.GetType(message.MessageName); if (messageType == null) { _log.InfoFormat("Unknown message type '{0}', unable to add subscription", message.MessageName); return; } MessageName messageName = _messageNameFormatter.GetMessageName(messageType); _inboundTransport.BindSubscriberExchange(RabbitEndpointAddress.Parse(message.EndpointUri), messageName.ToString(), IsTemporaryMessageType(messageType)); _bindings[message.SubscriptionId] = messageName; }
/// <summary> /// Adds a remote subscription to the route path or a local data or control bus /// </summary> /// <param name="message"></param> public void OnSubscriptionAdded(ISubscriptionAdded message) { // determine whether the message should be send over the control bus bool isControlMessage = message.EndpointUri.IsControlAddress(); // connect the message to the correct cache if (!isControlMessage) { _connectionCache[message.SubscriptionId] = _dataBusSubscriptionCache.Connect(message.MessageName, message.EndpointUri, message.CorrelationId); } else { _connectionCache[message.SubscriptionId] = _controlBusSubscriptionCache.Connect(message.MessageName, message.EndpointUri, message.CorrelationId); } _log.Debug(() => string.Format("Added: {0} => {1}, {2}", message.MessageName, message.EndpointUri, message.SubscriptionId)); }
public void OnSubscriptionAdded(ISubscriptionAdded message) { long messageNumber = Interlocked.Increment(ref _lastMessageNumber); var add = new AddPeerSubscriptionMessage { PeerId = _peerId, MessageNumber = messageNumber, SubscriptionId = message.SubscriptionId, EndpointUri = message.EndpointUri, MessageName = message.MessageName, CorrelationId = message.CorrelationId, }; if (_log.IsDebugEnabled) { _log.DebugFormat("AddSubscription: {0}, {1}", add.MessageName, add.SubscriptionId); } _endpoint.Send(add, SetSendContext); }
/// <summary> /// Called when a subscription was added. /// </summary> /// <param name="message"></param> public void OnSubscriptionAdded(ISubscriptionAdded message) { _producer.OnSubscriptionAdded(message); }
public void OnSubscriptionAdded(ISubscriptionAdded message) { lock (_observers) _observers.Each(x => x.OnSubscriptionAdded(message)); }