示例#1
0
        /// <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));
 }
示例#3
0
 public ConnectHandle Connect(ICacheValueObserver <TValue> observer)
 {
     return(_nodeTracker.Connect(observer));
 }
示例#4
0
 public ConnectHandle Connect(ICacheValueObserver <TValue> observer)
 {
     return(_observers.Connect(observer));
 }