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"); }
public PerformCmd(CommonData data, CommandDataPattern pattern) : base(data, pattern) { }
public ClientsCmd(CommonData data, CommandDataPattern pattern) : base(data, pattern) { }
public LoadCmd(CommonData data, CommandDataPattern pattern) : base(data, pattern) { }
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); }
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]); }; }); }
public StressCmd(CommonData data, CommandDataPattern pattern) : base(data, pattern) { }