public BusSubscriptionCache(ISubscriptionObserver observer) { _observer = observer; _subscriptions = new ConcurrentCache <SubscriptionKey, BusSubscription>( x => new BusSubscription(x.MessageName, x.CorrelationId, _observer)); }
public static void NotifyEnterUnsubscribing(this ISubscriptionObserver observer, ISubscription subscription) { if (observer != null) { observer.OnEnterUnsubscribing(subscription); } }
public static void NotifyLeaveFailed(this ISubscriptionObserver observer, ISubscription subscription) { if (observer != null) { observer.OnLeaveFailed(subscription); } }
public static void NotifyDeleted(this ISubscriptionObserver observer, ISubscription subscription) { if (observer != null) { observer.OnDeleted(subscription); } }
public static void NotifyEnterSubscribing(this ISubscriptionObserver observer, ISubscription subscription, RtmSubscribeRequest request) { if (observer != null) { observer.OnEnterSubscribing(subscription, request); } }
public static void NotifySubscriptionError(this ISubscriptionObserver observer, ISubscription subscription, RtmSubscriptionError error) { if (observer != null) { observer.OnSubscriptionError(subscription, error); } }
public static void NotifyUnsubscribeError(this ISubscriptionObserver observer, ISubscription subscription, Exception error) { if (observer != null) { observer.OnUnsubscribeError(subscription, error); } }
public static void NotifySubscriptionInfo(this ISubscriptionObserver observer, ISubscription subscription, RtmSubscriptionInfo info) { if (observer != null) { observer.OnSubscriptionInfo(subscription, info); } }
public static void NotifySubscriptionData(this ISubscriptionObserver observer, ISubscription subscription, RtmSubscriptionData data) { if (observer != null) { observer.OnSubscriptionData(subscription, data); } }
public EndpointSubscriptionCache(ISubscriptionObserver observer) { _observer = observer; _messageSubscriptions = new DictionaryCache <SubscriptionKey, EndpointSubscription>( key => new EndpointSubscription(key.MessageName, key.CorrelationId, _observer)); }
public static async Task <JToken> CreateSubscriptionAndWaitSubscribed( this IRtmClient client, string channel, string position, ISubscriptionObserver observer) { var tcs = new TaskCompletionSource <JToken>(); var sobs = new SubscriptionObserver(); sobs.OnEnterSubscribed += (s) => { tcs.TrySetResult(s.Position); }; sobs.OnEnterFailed += (_) => { tcs.TrySetException(new Exception("subscription was removed")); }; sobs.OnDeleted += (_) => { tcs.TrySetException(new Exception("subscription was removed")); }; var subCfg = new SubscriptionConfig(SubscriptionModes.Advanced) { Position = position, Observer = new SubscriptionCompoundObserver(sobs, observer) }; client.CreateSubscription(channel, subCfg); return(await tcs.Task.ConfigureAwait(false)); }
public PeerHandler(Inbox inbox, ISubscriptionObserver observer) { inbox.Receive <InitializePeerHandler>(init => { _peerId = init.PeerId; _peerUri = init.PeerUri; _endpointSubscriptionCache = new EndpointSubscriptionCache(observer); }); }
public BusSubscription(string messageName, string correlationId, ISubscriptionObserver observer) { _messageName = messageName; _correlationId = correlationId; _observer = observer; _ids = new HashSet <Guid>(); _subscriptionId = Guid.Empty; }
public PeerCache(ISubscriptionObserver observer, Guid clientId, Uri controlUri) { _peers = new DictionaryCache <Uri, ActorRef>(); _peerIds = new DictionaryCache <Guid, Uri>(); _peerHandlerFactory = ActorFactory.Create((f, s, i) => new PeerHandler(i, observer)); // create a peer for our local client WithPeer(clientId, controlUri, x => { }, true); }
public EndpointSubscription(string messageName, string correlationId, ISubscriptionObserver observer) { _messageName = messageName; _correlationId = correlationId; _observer = observer; _ids = new Dictionary <Guid, IPeerSubscription>(); _subscriptionId = Guid.Empty; }
public void CreateSubscription( string channel, SubscriptionModes mode, ISubscriptionObserver observer) { _rtmModule.CreateSubscription( channel, new SubscriptionConfig(mode) { Observer = observer }); }
public Subscription( RtmClient client, string subscriptionId, SubscriptionModes mode, string filter, uint?period, string position, RtmSubscribeHistory history, ISubscriptionObserver observer) : base(subscriptionId, mode, filter, period, position, history, observer) { _client = client; _state = new State.Unsubscribed(this); }
public SubscriptionFuture( string subscriptionId, SubscriptionModes mode, string filter, uint?period, string position, RtmSubscribeHistory history, ISubscriptionObserver observer) { SubscriptionId = subscriptionId; Mode = mode; Filter = filter; Period = period; Position = position; History = history; Observer = observer ?? new SubscriptionObserver(); }
public SubscriptionFuture ProcessSubscribe(SubscriptionConfig config, ISubscriptionObserver observer) { Log.V("Processing subscribe, subscription: {0}", this); if (!MarkAsDeleted || Future != null) { return(null); } Future = new SubscriptionFuture( subscriptionId: SubscriptionId, mode: config.Mode, filter: config.Filter, period: config.Period, position: config.Position, history: config.History, observer: observer); return(Future); }
public void CreateSubscription(string channel, ISubscriptionObserver observer) { CreateSubscription(channel, SubscriptionModes.Simple, observer); }
public void AddObserver(ISubscriptionObserver observer) { lock (_observers) _observers.Add(observer); }
/// <summary> /// Creates a subscription configuration to use in subscription requests, with a specific /// subscription modes. /// </summary> public SubscriptionConfig(SubscriptionModes mode, ISubscriptionObserver observer) : this(mode, null, observer) { }
/// <summary> /// Creates a subscription configuration to use in subscription requests, with a specific /// subscription modes. /// </summary> public SubscriptionConfig(SubscriptionModes mode, string position = null, ISubscriptionObserver observer = null) { Mode = mode; Position = position; Observer = observer; }
public BusSubscriptionEventListener(IServiceBus bus, ISubscriptionObserver observer) { _endpointUri = bus.Endpoint.Address.Uri; _busSubscriptionCache = new BusSubscriptionCache(observer); }