| |
|
| java.lang.Object org.apache.commons.net.tftp.TFTPPacket
All known Subclasses: org.apache.commons.net.tftp.TFTPAckPacket, org.apache.commons.net.tftp.TFTPRequestPacket, org.apache.commons.net.tftp.TFTPDataPacket, org.apache.commons.net.tftp.TFTPErrorPacket,
TFTPPacket | abstract public class TFTPPacket (Code) | | 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
org.apache.commons.net.tftp.TFTPClient class
org.apache.commons.net.tftp.TFTPClient.receiveFile receiveFile() and
org.apache.commons.net.tftp.TFTPClient.sendFile sendFile() methods.
author: Daniel F. Savarese See Also: TFTPPacketException See Also: TFTP |
Field Summary | |
final public static int | ACKNOWLEDGEMENT This is the actual TFTP spec
identifier and is equal to 4. | final public static int | DATA This is the actual TFTP spec
identifier and is equal to 3. | final public static int | ERROR This is the actual TFTP spec
identifier and is equal to 5. | final static int | MIN_PACKET_SIZE The minimum size of a packet. | final public static int | READ_REQUEST This is the actual TFTP spec
identifier and is equal to 1. | final public static int | SEGMENT_SIZE The TFTP data packet maximum segment size in bytes. | final public static int | WRITE_REQUEST This is the actual TFTP spec
identifier and is equal to 2. | InetAddress | _address The host the packet is going to be sent or where it came from. | int | _port The port the packet came from or is going to. | int | _type The type of packet. |
Constructor Summary | |
| TFTPPacket(int type, InetAddress address, int port) This constructor is not visible outside of the package. |
Method Summary | |
abstract DatagramPacket | _newDatagram(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. | final public InetAddress | getAddress() Returns the address of the host where the packet is going to be sent
or where it came from. | final public int | getPort() Returns the port where the packet is going to be sent
or where it came from. | final public int | getType() Returns the type of the packet. | abstract public DatagramPacket | newDatagram() Creates a UDP datagram containing all the TFTP packet
data in the proper format. | final public 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. | final public void | setAddress(InetAddress address) Sets the host address where the packet is going to be sent. | final public void | setPort(int port) Sets the port where the packet is going to be sent. |
ACKNOWLEDGEMENT | final public static int ACKNOWLEDGEMENT(Code) | | This is the actual TFTP spec
identifier and is equal to 4.
Identifier returned by
TFTPPacket.getType getType() indicating an acknowledgement packet.
|
DATA | final public static int DATA(Code) | | This is the actual TFTP spec
identifier and is equal to 3.
Identifier returned by
TFTPPacket.getType getType() indicating a data packet.
|
ERROR | final public static int ERROR(Code) | | This is the actual TFTP spec
identifier and is equal to 5.
Identifier returned by
TFTPPacket.getType getType() indicating an error packet.
|
MIN_PACKET_SIZE | final static int MIN_PACKET_SIZE(Code) | | 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.
|
READ_REQUEST | final public static int READ_REQUEST(Code) | | This is the actual TFTP spec
identifier and is equal to 1.
Identifier returned by
TFTPPacket.getType getType() indicating a read request packet.
|
SEGMENT_SIZE | final public static int SEGMENT_SIZE(Code) | | 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
org.apache.commons.net.tftp.TFTP class methods to implement their own TFTP servers or clients.
|
WRITE_REQUEST | final public static int WRITE_REQUEST(Code) | | This is the actual TFTP spec
identifier and is equal to 2.
Identifier returned by
TFTPPacket.getType getType() indicating a write request packet.
|
_address | InetAddress _address(Code) | | The host the packet is going to be sent or where it came from. **
|
_port | int _port(Code) | | The port the packet came from or is going to. **
|
_type | int _type(Code) | | The type of packet. **
|
TFTPPacket | TFTPPacket(int type, InetAddress address, int port)(Code) | | This constructor is not visible outside of the package. It is used
by subclasses within the package to initialize base data.
Parameters: type - The type of the packet. Parameters: address - The host the packet came from or is going to be sent. Parameters: port - The port the packet came from or is going to be sent. |
_newDatagram | abstract DatagramPacket _newDatagram(DatagramPacket datagram, byte[] data)(Code) | | 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.
Parameters: datagram - The datagram to create. Parameters: data - The buffer to store the packet and to use in the datagram. The datagram argument. |
getAddress | final public InetAddress getAddress()(Code) | | Returns the address of the host where the packet is going to be sent
or where it came from.
The type of the packet. |
getPort | final public int getPort()(Code) | | Returns the port where the packet is going to be sent
or where it came from.
The port where the packet came from or where it is going. |
getType | final public int getType()(Code) | | Returns the type of the packet.
The type of the packet. |
newDatagram | abstract public DatagramPacket newDatagram()(Code) | | 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
org.apache.commons.net.tftp.TFTPClient class.
Under normal circumstances, you should not have a need to call this
method.
A UDP datagram containing the TFTP packet. |
newTFTPPacket | final public static TFTPPacket newTFTPPacket(DatagramPacket datagram) throws TFTPPacketException(Code) | | 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. The TFTPPacket object corresponding to the datagram. exception: TFTPPacketException - If the datagram does not contain a validTFTP packet. |
setAddress | final public void setAddress(InetAddress address)(Code) | | Sets the host address where the packet is going to be sent. **
|
setPort | final public void setPort(int port)(Code) | | Sets the port where the packet is going to be sent. **
|
|
|
|