|
|||||||||
| Home >> All >> org >> apache >> commons >> net >> [ tftp overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.apache.commons.net.tftp
Class TFTPPacket

java.lang.Objectorg.apache.commons.net.tftp.TFTPPacket
- Direct Known Subclasses:
- TFTPAckPacket, TFTPDataPacket, TFTPErrorPacket, TFTPRequestPacket
- public abstract class TFTPPacket
- extends java.lang.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 TFTPClient class receiveFile() 55 and sendFile() 55 methods.
| Field Summary | |
(package private) java.net.InetAddress |
_address
The host the packet is going to be sent or where it came from. |
(package private) int |
_port
The port the packet came from or is going to. |
(package private) int |
_type
The type of packet. |
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. |
(package private) static int |
MIN_PACKET_SIZE
The minimum size of a packet. |
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. |
| Constructor Summary | |
(package private) |
TFTPPacket(int type,
java.net.InetAddress address,
int port)
This constructor is not visible outside of the package. |
| Method Summary | |
(package private) abstract java.net.DatagramPacket |
_newDatagram(java.net.DatagramPacket datagram,
byte[] data)
This is an abstract method only available within the package for implementing efficient datagram transport by elminating buffering. |
java.net.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 java.net.DatagramPacket |
newDatagram()
Creates a UDP datagram containing all the TFTP packet data in the proper format. |
static TFTPPacket |
newTFTPPacket(java.net.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(java.net.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. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
MIN_PACKET_SIZE
static final int MIN_PACKET_SIZE
- The minimum size of a packet. This is 4 bytes. It is enough
to store the opcode and blocknumber or other required data
depending on the packet type.
- See Also:
- Constant Field Values
READ_REQUEST
public static final int READ_REQUEST
- This is the actual TFTP spec
identifier and is equal to 1.
Identifier returned by getType() 55
indicating a read request packet.
- See Also:
- Constant Field Values
WRITE_REQUEST
public static final int WRITE_REQUEST
- This is the actual TFTP spec
identifier and is equal to 2.
Identifier returned by getType() 55
indicating a write request packet.
- See Also:
- Constant Field Values
DATA
public static final int DATA
- This is the actual TFTP spec
identifier and is equal to 3.
Identifier returned by getType() 55
indicating a data packet.
- See Also:
- Constant Field Values
ACKNOWLEDGEMENT
public static final int ACKNOWLEDGEMENT
- This is the actual TFTP spec
identifier and is equal to 4.
Identifier returned by getType() 55
indicating an acknowledgement packet.
- See Also:
- Constant Field Values
ERROR
public static final int ERROR
- This is the actual TFTP spec
identifier and is equal to 5.
Identifier returned by getType() 55
indicating an error packet.
- See Also:
- Constant Field Values
SEGMENT_SIZE
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 TFTP
class methods to implement their own TFTP servers or clients.
- See Also:
- Constant Field Values
_type
int _type
- The type of packet.
_port
int _port
- The port the packet came from or is going to.
_address
java.net.InetAddress _address
- The host the packet is going to be sent or where it came from.
| Constructor Detail |
TFTPPacket
TFTPPacket(int type,
java.net.InetAddress address,
int port)
- This constructor is not visible outside of the package. It is used
by subclasses within the package to initialize base data.
| Method Detail |
newTFTPPacket
public static final TFTPPacket newTFTPPacket(java.net.DatagramPacket datagram) throws TFTPPacketException
- 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.
_newDatagram
abstract java.net.DatagramPacket _newDatagram(java.net.DatagramPacket datagram, byte[] data)
- This is an abstract 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
should be set as the datagram's data and the datagram returned.
newDatagram
public abstract java.net.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 TFTPClient
class.
Under normal circumstances, you should not have a need to call this
method.
getType
public final int getType()
- Returns the type of the packet.
getAddress
public final java.net.InetAddress getAddress()
- Returns the address of the host where the packet is going to be sent
or where it came from.
getPort
public final int getPort()
- Returns the port where the packet is going to be sent
or where it came from.
setPort
public final void setPort(int port)
- Sets the port where the packet is going to be sent.
setAddress
public final void setAddress(java.net.InetAddress address)
- Sets the host address where the packet is going to be sent.
|
|||||||||
| Home >> All >> org >> apache >> commons >> net >> [ tftp overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC
org.apache.commons.net.tftp.TFTPPacket