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); } }
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); } } }
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); } }
public override void WriteLine(string message) { TUI.WriteColor(message + Environment.NewLine, ConsoleColor.Gray); }
public override void Write(string message) { TUI.WriteColor(message, ConsoleColor.Gray); }