org.apache.commons.net.tftp
Class TFTPPacket
public abstract
class
TFTPPacket
extends Object
TFTPPacket is an abstract class encapsulating the functionality common
to the 5 types of TFTP packets. It also provides a static factory
method that will create the correct TFTP packet instance from a
datagram. This relieves the programmer from having to figure out what
kind of TFTP packet is contained in a datagram and create it himself.
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
{@link org.apache.commons.net.tftp.TFTPClient} class
{@link org.apache.commons.net.tftp.TFTPClient#receiveFile receiveFile()}
and
{@link org.apache.commons.net.tftp.TFTPClient#sendFile sendFile()}
methods.
Author: Daniel F. Savarese
See Also: TFTPPacketException
Field Summary |
static int | ACKNOWLEDGEMENT
This is the actual TFTP spec
identifier and is equal to 4.
|
static int | DATA
This is the actual TFTP spec
identifier and is equal to 3.
|
static int | ERROR
This is the actual TFTP spec
identifier and is equal to 5.
|
static int | READ_REQUEST
This is the actual TFTP spec
identifier and is equal to 1.
|
static int | SEGMENT_SIZE
The TFTP data packet maximum segment size in bytes. |
static int | WRITE_REQUEST
This is the actual TFTP spec
identifier and is equal to 2.
|
Method Summary |
InetAddress | getAddress()
Returns the address of the host where the packet is going to be sent
or where it came from.
|
int | getPort()
Returns the port where the packet is going to be sent
or where it came from.
|
int | getType()
Returns the type of the packet.
|
abstract DatagramPacket | newDatagram()
Creates a UDP datagram containing all the TFTP packet
data in the proper format.
|
static TFTPPacket | newTFTPPacket(DatagramPacket datagram)
When you receive a datagram that you expect to be a TFTP packet, you use
this factory method to create the proper TFTPPacket object
encapsulating the data contained in that datagram. |
void | setAddress(InetAddress address) Sets the host address where the packet is going to be sent. |
void | setPort(int port) Sets the port where the packet is going to be sent. |
public static final int ACKNOWLEDGEMENT
This is the actual TFTP spec
identifier and is equal to 4.
Identifier returned by {@link #getType getType()}
indicating an acknowledgement packet.
public static final int DATA
This is the actual TFTP spec
identifier and is equal to 3.
Identifier returned by {@link #getType getType()}
indicating a data packet.
public static final int ERROR
This is the actual TFTP spec
identifier and is equal to 5.
Identifier returned by {@link #getType getType()}
indicating an error packet.
public static final int READ_REQUEST
This is the actual TFTP spec
identifier and is equal to 1.
Identifier returned by {@link #getType getType()}
indicating a read request packet.
public static final int SEGMENT_SIZE
The TFTP data packet maximum segment size in bytes. This is 512
and is useful for those familiar with the TFTP protocol who want
to use the {@link org.apache.commons.net.tftp.TFTP}
class methods to implement their own TFTP servers or clients.
public static final int WRITE_REQUEST
This is the actual TFTP spec
identifier and is equal to 2.
Identifier returned by {@link #getType getType()}
indicating a write request packet.
public final InetAddress getAddress()
Returns the address of the host where the packet is going to be sent
or where it came from.
Returns: The type of the packet.
public final int getPort()
Returns the port where the packet is going to be sent
or where it came from.
Returns: The port where the packet came from or where it is going.
public final int getType()
Returns the type of the packet.
Returns: The type of the packet.
public abstract DatagramPacket newDatagram()
Creates a UDP datagram containing all the TFTP packet
data in the proper format.
This is an abstract method, exposed to the programmer in case he
wants to implement his own TFTP client instead of using
the {@link org.apache.commons.net.tftp.TFTPClient}
class.
Under normal circumstances, you should not have a need to call this
method.
Returns: A UDP datagram containing the TFTP packet.
public static final
TFTPPacket newTFTPPacket(DatagramPacket datagram)
When you receive a datagram that you expect to be a TFTP packet, you use
this factory method to create the proper TFTPPacket object
encapsulating the data contained in that datagram. This method is the
only way you can instantiate a TFTPPacket derived class from a
datagram.
Parameters: datagram The datagram containing a TFTP packet.
Returns: The TFTPPacket object corresponding to the datagram.
Throws: TFTPPacketException If the datagram does not contain a valid
TFTP packet.
public final void setAddress(InetAddress address)
Sets the host address where the packet is going to be sent. **
public final void setPort(int port)
Sets the port where the packet is going to be sent. **