Package com.oroinc.net.tftp
Class TFTPPacket
java.lang.Object
com.oroinc.net.tftp.TFTPPacket
- Direct Known Subclasses:
TFTPAckPacket
,TFTPDataPacket
,TFTPErrorPacket
,TFTPRequestPacket
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 TFTPClient class receiveFile() and sendFile() methods.
- Author:
- Daniel F. Savarese
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
Identifier returned by getType() indicating an acknowledgement packet.static final int
Identifier returned by getType() indicating a data packet.static final int
Identifier returned by getType() indicating an error packet.static final int
Identifier returned by getType() indicating a read request packet.static final int
The TFTP data packet maximum segment size in bytes.static final int
Identifier returned by getType() indicating a write request packet. -
Method Summary
Modifier and TypeMethodDescriptionfinal InetAddress
Returns the address of the host where the packet is going to be sent or where it came from.final int
getPort()
Returns the port where the packet is going to be sent or where it came from.final int
getType()
Returns the type of the packet.abstract DatagramPacket
This is an abstract method, exposed to the programmer in case he wants to implement his own TFTP client instead of using the TFTPClient class.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.final void
setAddress
(InetAddress address) Sets the host address where the packet is going to be sent.final void
setPort
(int port) Sets the port where the packet is going to be sent.
-
Field Details
-
READ_REQUEST
public static final int READ_REQUESTIdentifier returned by getType() indicating a read request packet. This is the actual TFTP spec identifier and is equal to 1.- See Also:
-
WRITE_REQUEST
public static final int WRITE_REQUESTIdentifier returned by getType() indicating a write request packet. This is the actual TFTP spec identifier and is equal to 2.- See Also:
-
DATA
public static final int DATAIdentifier returned by getType() indicating a data packet. This is the actual TFTP spec identifier and is equal to 3.- See Also:
-
ACKNOWLEDGEMENT
public static final int ACKNOWLEDGEMENTIdentifier returned by getType() indicating an acknowledgement packet. This is the actual TFTP spec identifier and is equal to 4.- See Also:
-
ERROR
public static final int ERRORIdentifier returned by getType() indicating an error packet. This is the actual TFTP spec identifier and is equal to 5.- See Also:
-
SEGMENT_SIZE
public static final int SEGMENT_SIZEThe 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 TFTP class methods to implement their own TFTP servers or clients.- See Also:
-
-
Method Details
-
newTFTPPacket
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.
-
newDatagram
This is an abstract 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. It creates a UDP datagram containing all the TFTP packet data in the proper format.- Returns:
- A UDP datagram containing the TFTP packet.
-
getType
public final int getType()Returns the type of the packet.- Returns:
- The type of the packet.
-
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.
-
getPort
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.
-
setPort
public final void setPort(int port) Sets the port where the packet is going to be sent. -
setAddress
Sets the host address where the packet is going to be sent.
-