/// <summary> /// Connect a connectable type /// </summary> /// <param name="connection">The connection to add</param> /// <returns>The connection handle</returns> public ConnectHandle Connect(ICacheValueObserver <TValue> connection) { if (connection == null) { throw new ArgumentNullException(nameof(connection)); } var id = Interlocked.Increment(ref _nextId); lock (_connections) { _connections.Add(id, connection); _connected = _connections.Values.ToArray(); } return(new Handle(id, Disconnect)); }
public ConnectHandle Connect(ICacheValueObserver <ServiceClientContext> observer) { return(_cache.Connect(observer)); }
public ConnectHandle Connect(ICacheValueObserver <TValue> observer) { return(_nodeTracker.Connect(observer)); }
public ConnectHandle Connect(ICacheValueObserver <TValue> observer) { return(_observers.Connect(observer)); }