private void HandleOptionsAck(TFTPPacket_OptionsAck response) { if (response.Options.ContainsKey(Option_BlockSize)) { m_BlockSize = int.Parse(response.Options[Option_BlockSize], CultureInfo.InvariantCulture); SetSocketBufferSize(); } if (response.Options.ContainsKey(Option_Timeout)) { m_Timeout = int.Parse(response.Options[Option_Timeout], CultureInfo.InvariantCulture); } if (response.Options.ContainsKey(Option_TransferSize)) { m_TransferSize = long.Parse(response.Options[Option_TransferSize], CultureInfo.InvariantCulture); } }
public static TFTPPacket Deserialize(Stream s) { TFTPPacket result = null; long startPosition = s.Position; Opcode c = (Opcode)ReadUInt16(s); s.Position = startPosition; switch (c) { case Opcode.Ack: result = new TFTPPacket_Ack(s); break; case Opcode.Data: result = new TFTPPacket_Data(s); break; case Opcode.Error: result = new TFTPPacket_Error(s); break; case Opcode.OptionsAck: result = new TFTPPacket_OptionsAck(s); break; case Opcode.ReadRequest: result = new TFTPPacket_ReadRequest(s); break; case Opcode.WriteRequest: result = new TFTPPacket_WriteRequest(s); break; default: result = new TFTPPacket_Unknown(s); break; } return(result); }
public static TFTPPacket Deserialize(Stream s) { TFTPPacket result = null; long startPosition = s.Position; Opcode c = (Opcode)ReadUInt16(s); s.Position = startPosition; switch (c) { case Opcode.Ack: result = new TFTPPacket_Ack(s); break; case Opcode.Data: result = new TFTPPacket_Data(s); break; case Opcode.Error: result = new TFTPPacket_Error(s); break; case Opcode.OptionsAck: result = new TFTPPacket_OptionsAck(s); break; case Opcode.ReadRequest: result = new TFTPPacket_ReadRequest(s); break; case Opcode.WriteRequest: result = new TFTPPacket_WriteRequest(s); break; default: result = new TFTPPacket_Unknown(s); break; } return result; }