public override bool ParseByte(DecryptStm context, byte b) { if (b != context.FrameChar) throw new ArgumentException(); context.SetState(new Parsing()); return false; }
public override bool ParseByte(DecryptStm context, byte b) { if (b == context.FrameSub1) { context.AddByte(context.FrameChar); context.SetState(new Parsing()); return false; } if (b == context.FrameSub2) { context.AddByte(context.FrameEscape); context.SetState(new Parsing()); return false; } throw new ArgumentException("Hola"); }
public override bool ParseByte(DecryptStm context, byte b) { if (b == context.FrameChar) { context.SetState(new Idle()); return true; } if (b == context.FrameEscape) { context.SetState(new EscapeParse()); return false; } context.Buffer[context.BufferSize] = b; ++context.BufferSize; return false; }
public override void NewMessage(DecryptStm context, byte[] buffer) { context.Buffer = buffer; context.BufferSize = 0; context.SetState(new ReadyToParse()); }