Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
            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);
            }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
            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;
            }