Esempio n. 1
0
        public void UpgradeProtocol(IProtocolUpgrader upgrader)
        {
            channel.Lock();
            channel.UnbindAllEvents(handlers);
            var newChannel = upgrader.UpgradeClientChannel(channel, logger);

            newChannel.Driver = Driver;
            if (ChannelReplaced != null)
            {
                ChannelReplaced(this, newChannel);
            }
            channel.Unlock();
        }
Esempio n. 2
0
        public void UpgradeProtocol(IProtocolUpgrader upgrader, IDataStream switchHeader = null)
        {
            channel.Lock();
            channel.UnbindAllEvents(handlers);
            if (switchHeader != null)
            {
                channel.Send(switchHeader);
            }
            var newChannel = upgrader.UpgradeServerChannel(channel, logger);

            newChannel.Driver = Driver;
            var ev = ChannelReplaced;

            if (ev != null)
            {
                ev(this, newChannel);
            }
            channel.Unlock();
        }