Class TFTPRequestPacket

    • Constructor Summary

      Constructors 
      Constructor Description
      TFTPRequestPacket​(int type, java.net.DatagramPacket datagram)
      Creates a request packet of a given type based on a received datagram.
      TFTPRequestPacket​(java.net.InetAddress destination, int port, int type, java.lang.String filename, int mode)
      Creates a request packet of a given type to be sent to a host at a given port with a filename and transfer mode request.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) java.net.DatagramPacket _newDatagram​(java.net.DatagramPacket datagram, byte[] data)
      This is a method only available within the package for implementing efficient datagram transport by elminating buffering.
      java.lang.String getFilename()
      Returns the requested filename.
      int getMode()
      Returns the transfer mode of the request.
      java.net.DatagramPacket newDatagram()
      Creates a UDP datagram containing all the TFTP request packet data in the proper format.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • _modeStrings

        static final java.lang.String[] _modeStrings
        An array containing the string names of the transfer modes and indexed by the transfer mode constants.
      • _modeBytes

        private static final byte[][] _modeBytes
        A null terminated byte array representation of the ascii names of the transfer mode constants. This is convenient for creating the TFTP request packets.
      • _mode

        private final int _mode
        The transfer mode of the request.
      • _filename

        private final java.lang.String _filename
        The filename of the request.
    • Constructor Detail

      • TFTPRequestPacket

        TFTPRequestPacket​(java.net.InetAddress destination,
                          int port,
                          int type,
                          java.lang.String filename,
                          int mode)
        Creates a request packet of a given type to be sent to a host at a given port with a filename and transfer mode request.
        Parameters:
        destination - The host to which the packet is going to be sent.
        port - The port to which the packet is going to be sent.
        type - The type of the request (either TFTPPacket.READ_REQUEST or TFTPPacket.WRITE_REQUEST).
        filename - The requested filename.
        mode - The requested transfer mode. This should be on of the TFTP class MODE constants (e.g., TFTP.NETASCII_MODE).
      • TFTPRequestPacket

        TFTPRequestPacket​(int type,
                          java.net.DatagramPacket datagram)
                   throws TFTPPacketException
        Creates a request packet of a given type based on a received datagram. Assumes the datagram is at least length 4, else an ArrayIndexOutOfBoundsException may be thrown.
        Parameters:
        type - The type of the request (either TFTPPacket.READ_REQUEST or TFTPPacket.WRITE_REQUEST).
        datagram - The datagram containing the received request.
        Throws:
        TFTPPacketException - If the datagram isn't a valid TFTP request packet of the appropriate type.
    • Method Detail

      • _newDatagram

        final java.net.DatagramPacket _newDatagram​(java.net.DatagramPacket datagram,
                                                   byte[] data)
        This is a method only available within the package for implementing efficient datagram transport by elminating buffering. It takes a datagram as an argument, and a byte buffer in which to store the raw datagram data. Inside the method, the data is set as the datagram's data and the datagram returned.
        Specified by:
        _newDatagram in class TFTPPacket
        Parameters:
        datagram - The datagram to create.
        data - The buffer to store the packet and to use in the datagram.
        Returns:
        The datagram argument.
      • newDatagram

        public final java.net.DatagramPacket newDatagram()
        Creates a UDP datagram containing all the TFTP request packet data in the proper format. This is a method exposed to the programmer in case he wants to implement his own TFTP client instead of using the TFTPClient class. Under normal circumstances, you should not have a need to call this method.
        Specified by:
        newDatagram in class TFTPPacket
        Returns:
        A UDP datagram containing the TFTP request packet.
      • getMode

        public final int getMode()
        Returns the transfer mode of the request.
        Returns:
        The transfer mode of the request.
      • getFilename

        public final java.lang.String getFilename()
        Returns the requested filename.
        Returns:
        The requested filename.