static async Task Main(string[] args) { System.Console.WriteLine("Starting to connect"); _log = args.Contains("log") || args.Contains("l"); var config = Configuration.Parse(); var bus = new ResponseBus(config.ZeroMQTcp); using (bus) { bus.Connect(); _interact = await CreateInteractAsync(config); while (true) { Log("awaiting the next contextModel"); await bus.RespondAsync ( async (model) => { Log($"incoming model:\nUserName:[{model.User?.Name}]\nType:[{model.Type}]\nKey:[{model.Key}]\nValue:[{model.Value}]\nAppName:[{model.AppName}]"); OperationResult result; if (config.Auth) { result = await _interact.Run(model); } else { result = await _interact.RunNoAuth(model); } Log($"result is:\nresult.Success[{result.IsSuccess}]\nresult.Type[{result.ResultType}]"); return(result); } ); } } }