Example #1
0
        private Result ProcessDisconnect(Tokenizer tokenizer, Channel channel)
        {
            if (!channel.IsClosed)
            {
                channel.Disconnect();
                _channel.Remove(channel.Id);
            }

            return(new Result());
        }
Example #2
0
        private Result ProcessShutdown(Tokenizer tokenizer, Channel channel)
        {
            channel.CheckAdmin();

            // don't disconnect system user; need it to save database
            for (int i = 1; i < _channel.Count; i++)
            {
                Channel d = (Channel)_channel[i];

                if (d != null)
                {
                    d.Disconnect();
                }
            }

            _channel.Clear();

            string token = tokenizer.GetString();

            switch (token)
            {
            case "IMMEDIATELY":
                Close(-1);
                break;

            case "COMPACT":
                Close(1);
                break;

            default:
                tokenizer.Back();
                Close(0);
                break;
            }

            ProcessDisconnect(tokenizer, channel);

            return(new Result());
        }
Example #3
0
File: sql.cs Project: Myvar/Eclang
 public void close(Channel myChannel)
 {
     this.db.Execute("shutdown", myChannel);
     myChannel.Disconnect();
 }
Example #4
0
        private Result ProcessDisconnect(Tokenizer tokenizer, Channel channel)
        {
            if (!channel.IsClosed)
            {
                channel.Disconnect();
                _channel.Remove(channel.Id);
            }

            return new Result();
        }