private Data ParseData(TftpStreamReader reader) { ushort blockNumber = reader.ReadUInt16(); byte[] data = reader.ReadBytes(10000); return(new Data(blockNumber, data)); }
private Error ParseError(TftpStreamReader reader) { ushort errorCode = reader.ReadUInt16(); String message = ParseNullTerminatedString(reader); return(new Error(errorCode, message)); }
private ITftpCommand ParseInternal(byte[] message) { TftpStreamReader reader = new TftpStreamReader(new MemoryStream(message)); ushort opcode = reader.ReadUInt16(); switch (opcode) { case ReadRequest.OpCode: return(ParseReadRequest(reader)); case WriteRequest.OpCode: return(ParseWriteRequest(reader)); case Data.OpCode: return(ParseData(reader)); case Acknowledgement.OpCode: return(ParseAcknowledgement(reader)); case Error.OpCode: return(ParseError(reader)); case OptionAcknowledgement.OpCode: return(ParseOptionAcknowledgement(reader)); default: throw new TftpParserException("Invalid opcode"); } }
private Acknowledgement ParseAcknowledgement(TftpStreamReader reader) { ushort blockNumber = reader.ReadUInt16(); return(new Acknowledgement(blockNumber)); }