Example #1
0
 public HelpCmd(CommonData data, CommandDataPattern pattern)
     : base(data, pattern)
 {
     helpData = new Dictionary <string, string>();
     helpData.Add("clients", "select all clients flom server\n" +
                  "use:\tclients [keys]\n" +
                  "\t-g groupe_name\n" +
                  "\t-n iot_name");
     helpData.Add("exit", "close client end exit");
     helpData.Add("current", "print all known clients");
     helpData.Add("help", "print help by command\n" +
                  "use:\thelp command");
     helpData.Add("stress", "run stress test with selected count of messages (one message 512 bytes)\n" +
                  "use as\n" +
                  "\tstress -c count");
     helpData.Add("load", "run load test with selected random distribution\n" +
                  "use as:\n" +
                  "\tload -r type_of_random_distribution -c count\n" +
                  "\twhere -r:\n" +
                  "\t\tnormal -m double_num -d double_num\n" +
                  "\t\tgamma -a double_num -l double_num\n" +
                  "\t\terlang -m uint_num, -l double_num\n" +
                  "\t\tpareto -x double_num -a double_num\n");
     helpData.Add("perform", "start performance test on chosen clients");
 }
Example #2
0
 public PerformCmd(CommonData data, CommandDataPattern pattern)
     : base(data, pattern)
 {
 }
Example #3
0
 public ClientsCmd(CommonData data, CommandDataPattern pattern)
     : base(data, pattern)
 {
 }
Example #4
0
 public LoadCmd(CommonData data, CommandDataPattern pattern)
     : base(data, pattern)
 {
 }
Example #5
0
        static CommandArray <CommandData> configureCommands()
        {
            CommandArray <CommandData> cmds = new CommandArray <CommandData>();

            cmds.AddCommand(cmd => {
                cmd.Name = "search";
                CommandDataPattern pattern = new CommandDataPattern();
                pattern.AddOption('l', false);
                pattern.AddOption('w', true);
                pattern.AddOption('a', false);
                cmd.Execute = (arguments) => {
                    CommandData argument = arguments[0];
                    argument.SetPattern(pattern);
                    Stream outStream = null;
                    if (argument.IsKey('w'))
                    {
                        FileMode mode = FileMode.Create;
                        if (argument.IsKey('a'))
                        {
                            mode = FileMode.Append;
                        }
                        outStream = new FileStream(argument.GetKeyValue('w'), mode);
                    }
                    else
                    {
                        outStream = Console.OpenStandardOutput();
                    }
                    String searchPhrase = argument.args[0];
                    using (outStream) {
                        if (argument.IsKey('l'))
                        {//поиск в БД
                            writeToStream(outStream, DBRepository.findByQuery(searchPhrase), searchPhrase);
                        }
                        else
                        {//запрос к гуглу
                            Query searchResult = webSearchers[0].search(searchPhrase);
                            DBRepository.ConnectToDB(connect => {
                                Query query = (from q in connect.queries
                                               where q.title == searchPhrase
                                               select q).Include("links").FirstOrDefault();
                                if (query != null)
                                {
                                    if (!searchResult.Equals(query))
                                    {
                                        Console.WriteLine("update data base");
                                        connect.queries.Remove(query);
                                        connect.queries.Add(searchResult);
                                        connect.SaveChanges();
                                    }
                                }
                                else
                                {
                                    Console.WriteLine("write to data base");
                                    connect.queries.Add(searchResult);
                                    connect.SaveChanges();
                                }
                            });
                            writeToStream(outStream, searchResult.links, searchPhrase);
                        }
                    }
                };
            });

            cmds.AddCommand(cmd => {
                cmd.Name    = "exit";
                cmd.Execute = (arguments) => {
                    Console.WriteLine("exiting...");
                    execute = false;
                };
            });

            return(cmds);
        }
Example #6
0
        private static void ConfigMainCommands()
        {
            cmdArray.AddCommand(c => {            //выводит список выбранных клиентов
                c.Name    = "current";
                c.Execute = (CommandData[] arguments) => {
                    foreach (Client cli in data.selected)
                    {
                        Console.WriteLine(cli);
                    }
                };
            });
            cmdArray.AddCommand(c => {            //запрашивает у сервера клинтов по имени и или группе и выбирает их
                CommandDataPattern pattern = new CommandDataPattern()
                                             .AddOption('n', true)
                                             .AddOption('g', true);
                ICommand cmd = new ClientsCmd(data, pattern);
                c.Name       = "clients";
                c.Execute    = (CommandData[] arguments) => {
                    cmd.Execute(arguments[0]);
                };
            });
            cmdArray.AddCommand(c => {            //завершает работу програмы
                c.Name    = "exit";
                c.Execute = (CommandData[] arguments) => {
                    if (!data.server.IsClosed())
                    {
                        data.server.Close();
                    }
                    data.execute = false;
                };
            });
            cmdArray.AddCommand(c => {            //записывает в консоль руководство по команде
                ICommand cmd = new HelpCmd(data, CommandDataPattern.EmptyPattern);
                c.Name       = "help";
                c.Execute    = (CommandData[] arguments) => {
                    cmd.Execute(arguments[0]);
                };
            });

            cmdArray.AddCommand(c => {
                CommandDataPattern pattern = new CommandDataPattern()
                                             .AddOption('c', true);
                ICommand cmd = new StressCmd(data, pattern);
                c.Name       = "stress";
                c.Execute    = (CommandData[] arguments) => {
                    cmd.Execute(arguments[0]);
                };
            });

            cmdArray.AddCommand(c => {
                CommandDataPattern pattern = new CommandDataPattern()
                                             .AddOption('r', true)
                                             .AddOption('m', true)
                                             .AddOption('d', true)
                                             .AddOption('a', true)
                                             .AddOption('l', true)
                                             .AddOption('x', true)
                                             .AddOption('c', true);
                ICommand cmd = new LoadCmd(data, pattern);
                c.Name       = "load";
                c.Execute    = (CommandData[] arguments) =>
                {
                    cmd.Execute(arguments[0]);
                };
            });

            cmdArray.AddCommand(c => {
                ICommand cmd = new PerformCmd(data, CommandDataPattern.EmptyPattern);
                c.Name       = "perform";
                c.Execute    = (CommandData[] arguments) =>
                {
                    cmd.Execute(arguments[0]);
                };
            });
        }
Example #7
0
 public StressCmd(CommonData data, CommandDataPattern pattern)
     : base(data, pattern)
 {
 }