Esempio n. 1
0
        public Reader(
            Guid correlationId,
            IRegisterEvent eventRegister,
            IReaderChannel initialChannel,
            IExecute executor,
            IStateChanged <ReaderState> state)
        {
            _correlationId = correlationId;
            _eventRegister = eventRegister;
            _channel       = initialChannel;
            _executor      = executor;
            _state         = state;
            _isDisposed    = 0;

            _eventRegister.Register(new ReaderCreated(_correlationId, this));
        }
Esempio n. 2
0
        internal async ValueTask SetChannel(IReaderChannel channel)
        {
            if (_isDisposed != 0)
            {
                await channel.DisposeAsync().ConfigureAwait(false);

                return;
            }

            var oldChannel = _channel;

            _channel = channel;

            if (oldChannel != null)
            {
                await oldChannel.DisposeAsync().ConfigureAwait(false);
            }
        }
Esempio n. 3
0
 internal void SetChannel(IReaderChannel channel)
 {
     ThrowIfDisposed();
     _channel = channel;
 }