Пример #1
0
        internal async Task UnsubscribeAsyncImpl(Exception error = null, CommandFlags flags = CommandFlags.None)
        {
            var parent = _parent;

            _parent = null;
            if (parent != null)
            {
                await parent.UnsubscribeAsync(Channel, HandleMessage, flags).ConfigureAwait(false);
            }
            _queue.Writer.TryComplete(error);
        }
Пример #2
0
        internal void UnsubscribeImpl(Exception error = null, CommandFlags flags = CommandFlags.None)
        {
            var parent = _parent;

            _parent = null;
            if (parent != null)
            {
                parent.UnsubscribeAsync(Channel, HandleMessage, flags);
            }
            _queue.Writer.TryComplete(error);
        }
Пример #3
0
 internal ChannelMessageQueue(RedisChannel redisChannel, RedisSubscriber parent)
 {
     Channel = redisChannel;
     _parent = parent;
     _queue  = System.Threading.Channels.Channel.CreateUnbounded <ChannelMessage>(s_ChannelOptions);
 }