org.apache.commons.net.tftp
Class TFTPRequestPacket
public abstract class TFTPRequestPacket
An abstract class derived from TFTPPacket definiing a TFTP Request
packet type. It is subclassed by the
TFTPReadRequestPacket and
TFTPWriteRequestPacket classes.
Details regarding the TFTP protocol and the format of TFTP packets can
be found in RFC 783. But the point of these classes is to keep you
from having to worry about the internals. Additionally, only very
few people should have to care about any of the TFTPPacket classes
or derived classes. Almost all users should only be concerned with the
TFTPClient class
receiveFile()
and
sendFile()
methods.
- Daniel F. Savarese
TFTPPacket
, TFTPReadRequestPacket
, TFTPWriteRequestPacket
, TFTPPacketException
, TFTP
(package private) String | _filename - The filename of the request.
|
(package private) int | _mode - The transfer mode of the request.
|
(package private) static byte[][] | _modeBytes -
A null terminated byte array representation of the ascii names of the
transfer mode constants.
|
(package private) static String[] | _modeStrings -
An array containing the string names of the transfer modes and indexed
by the transfer mode constants.
|
TFTPRequestPacket(InetAddress destination, int port, int type, 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.
|
TFTPRequestPacket(int type, DatagramPacket datagram) -
Creates a request packet of a given type based on a received
datagram.
|
(package private) DatagramPacket | _newDatagram(DatagramPacket datagram, byte[] data) -
This is a method only available within the package for
implementing efficient datagram transport by elminating buffering.
|
String | getFilename() -
Returns the requested filename.
|
int | getMode() -
Returns the transfer mode of the request.
|
DatagramPacket | newDatagram() -
Creates a UDP datagram containing all the TFTP
request packet data in the proper format.
|
_filename
(package private) String _filename
The filename of the request. **
_mode
(package private) int _mode
The transfer mode of the request. **
_modeBytes
(package 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.
_modeStrings
(package private) static final String[] _modeStrings
An array containing the string names of the transfer modes and indexed
by the transfer mode constants.
TFTPRequestPacket
(package private) TFTPRequestPacket(InetAddress destination,
int port,
int type,
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.
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
(package private) TFTPRequestPacket(int type,
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.
type
- The type of the request (either TFTPPacket.READ_REQUEST or
TFTPPacket.WRITE_REQUEST).datagram
- The datagram containing the received request.
TFTPPacketException
- If the datagram isn't a valid TFTP
request packet of the appropriate type.
_newDatagram
(package private) final DatagramPacket _newDatagram(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.
- _newDatagram in interface TFTPPacket
datagram
- The datagram to create.data
- The buffer to store the packet and to use in the datagram.
- The datagram argument.
getFilename
public final String getFilename()
Returns the requested filename.
- The requested filename.
getMode
public final int getMode()
Returns the transfer mode of the request.
- The transfer mode of the request.
newDatagram
public final 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.
- newDatagram in interface TFTPPacket
- A UDP datagram containing the TFTP request packet.