internal void ClearCommand() { currentCommand = null; }
internal async Task<string> SendCommand(Command command, int timeout) { var result = string.Empty; await transmitRunner.InvokeAsync(() => { SetCommand(command); if (DebugMode) { console.WriteLine("[Sending] " + command.Encode()); } input.WriteLine(command.Encode()); input.Flush(); result = WaitForResponse(timeout); ClearCommand(); }); return result; }
internal Command SetCommand(Command command) { if (currentCommand != null) { console.WriteLine("Serious error."); } currentCommand = command; return command; }