Пример #1
0
        public override void TraceEvent(TraceEventCache eventCache, string source, TraceEventType eventType, int id, string format, params object[] args)
        {
            lock (_sync)
            {
                if (Filter != null && !Filter.ShouldTrace(eventCache, source, eventType, id, format, args, null, null))
                {
                    return;
                }
                ConsoleColor color;
                switch (eventType)
                {
                case TraceEventType.Error:
                    color = ConsoleColor.Red;
                    break;

                case TraceEventType.Warning:
                    color = ConsoleColor.Yellow;
                    break;

                case TraceEventType.Information:
                    color = ConsoleColor.Green;
                    break;

                case TraceEventType.Verbose:
                    color = ConsoleColor.DarkCyan;
                    break;

                default:
                    color = ConsoleColor.Gray;
                    break;
                }

                var eventTypeString = Enum.GetName(typeof(TraceEventType), eventType);
                var message         = source + "(" + eventTypeString.Substring(0, 1) + ") " + (args != null && args.Length > 0 ? string.Format(format, args) : format);

                TUI.WriteColor(message + Environment.NewLine, color);
            }
        }
Пример #2
0
        async void OnReceiveReady(object sender, NetMQSocketEventArgs e)
        {
            BasePayload   request  = null;
            ResultPayload response = null;

            try
            {
                var message     = _responseSocket.ReceiveFrameString();
                var basePayload = JsonConvert.DeserializeObject <BasePayload>(message);

                request = (BasePayload)JsonConvert.DeserializeObject(message, basePayload.Type);

                TUI.WriteColor($"{request}->", ConsoleColor.Blue);
                response = await GetResult(request);
            }
            catch (Exception ex)
            {
                response = new ResultPayload()
                {
                    Success = false, Message = ex.Message
                };
            }

            if (response != null)
            {
                try
                {
                    TUI.WriteColor($"<-{response}", ConsoleColor.Blue);
                    _responseSocket.SendFrame(JsonConvert.SerializeObject(response));
                }
                catch (Exception ex)
                {
                    TUI.WriteColor($"RPCServer could not reply to a {request} payload, got exception: {ex.Message}", ConsoleColor.Red);
                }
            }
        }
Пример #3
0
        public static void Main(string[] args)
        {
            Console.WriteLine($"\n\n ** Node starting with args: {String.Join(" ", args)}\n");

            app = new App();

            bool show_help = false;

            var p = new OptionSet()
            {
                { "headless", "start in headless mode",
                  v => launchMode = LaunchModeEnum.Headless },

                { "t|tui", "show TUI",
                  v => launchMode = LaunchModeEnum.TUI },

                { "n|network=", "use network profile",
                  v => app.SetNetwork(v) },

                { "wallet=", "wallet DB",
                  v => app.Settings.WalletDB = v },

                { "blockchain=", "blockchain DB suffix",
                  v => app.Settings.BlockChainDBSuffix = v },

                { "m|miner", "enable miner",
                  v => app.MinerEnabled = true },

                { "r|rpc", "enable RPC",
                  v => rpcServer = true },

                { "g|genesis", "add the genesis block",
                  v => genesis = true },

                { "w|wipe db's on startup",
                  v => wipe = v != null },

                { "h|help", "show this message and exit",
                  v => show_help = v != null },
            };

            try {
                p.Parse(args);
            }
            catch (OptionException e) {
                Console.Write("greet: ");
                Console.WriteLine(e.Message);
                Console.WriteLine("Try `greet --help' for more information.");
                return;
            }

            if (show_help)
            {
                ShowHelp(p);
                return;
            }

            if (launchMode == LaunchModeEnum.GUI)
            {
                Init(true); //new Thread(Init).Start();
                app.GUI(true);
            }
            else
            {
                Init(launchMode != LaunchModeEnum.TUI);
            }

            if (launchMode == LaunchModeEnum.TUI)
            {
                TUI.Start(app);
            }
        }
Пример #4
0
 public override void WriteLine(string message)
 {
     TUI.WriteColor(message + Environment.NewLine, ConsoleColor.Gray);
 }
Пример #5
0
 public override void Write(string message)
 {
     TUI.WriteColor(message, ConsoleColor.Gray);
 }