Esempio n. 1
0
        public void Release(string name)
        {
            IRealtimeChannel channel = null;

            if (this.channels.TryGetValue(name, out channel))
            {
                EventHandler <ChannelStateChangedEventArgs> eventHandler = null;
                eventHandler = (s, args) =>
                {
                    if (args.NewState == ChannelState.Detached || args.NewState == ChannelState.Failed)
                    {
                        channel.ChannelStateChanged -= eventHandler;
                        this.channels.Remove(name);
                    }
                };
                channel.ChannelStateChanged += eventHandler;
                channel.Detach();
            }
        }
Esempio n. 2
0
            public void WhenInitializedDetachedOrDetaching_ShouldDoNothing(ChannelState state)
            {
                SetState(state);
                bool changed = false;

                _channel.On((args) =>
                {
                    changed = true;
                });

                _channel.Detach();

                changed.Should().BeFalse();
            }