private static Task PressEscToExit(ConsoleMessageHandler handler)
{
return(Task.Run(() =>
{
SystemConsole.WriteLine(@"Press:
P to print processed message count
C to clear screen
R to reset counter
ESC to exit");
ConsoleKey key;
while ((key = SystemConsole.ReadKey(true).Key) != ConsoleKey.Escape)
{
switch (key)
{
case ConsoleKey.C:
handler.Clear();
continue;
case ConsoleKey.R:
handler.Reset();
continue;
case ConsoleKey.P:
SystemConsole.WriteLine(handler.GetCount());
continue;
}
}
}));
}