seda.sandStorm.lib.Gnutella
Class GnutellaPacketReader
java.lang.Object
seda.sandStorm.lib.Gnutella.GnutellaPacketReader
- All Implemented Interfaces:
- GnutellaConst
class GnutellaPacketReader
- extends java.lang.Object
- implements GnutellaConst
This is an internal class, responsible for generating GnutellaPacket
objects from raw socket data. It encapsulates the core packet-processing
code in the Gnutella protocol.
Fields inherited from interface seda.sandStorm.lib.Gnutella.GnutellaConst |
DEFAULT_DOWNLOAD_PORT, DEFAULT_GNUTELLA_PORT, DEFAULT_HOPS, DEFAULT_PING_INTERVAL, DEFAULT_SPEED, DEFAULT_TTL, GNUTELLA_CONNECT, GNUTELLA_FN_PING, GNUTELLA_FN_PONG, GNUTELLA_FN_PUSH, GNUTELLA_FN_QUERY, GNUTELLA_FN_QUERYHITS, GNUTELLA_OK, MAX_PAYLOAD_SIZE, PACKET_HEADER_SIZE, WRITE_CLOG_THRESHOLD |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEBUG
private static final boolean DEBUG
- See Also:
- Constant Field Values
STATE_READ_HEADER
private static final int STATE_READ_HEADER
- See Also:
- Constant Field Values
STATE_READ_PAYLOAD
private static final int STATE_READ_PAYLOAD
- See Also:
- Constant Field Values
state
private int state
cur_offset
private int cur_offset
packet_offset
private int packet_offset
pktdata
private byte[] pktdata
guid
private GnutellaGUID guid
function
private int function
ttl
private int ttl
hops
private int hops
payload_length
private int payload_length
header
private byte[] header
payload
private byte[] payload
completePackets
private java.util.Vector completePackets
GnutellaPacketReader
GnutellaPacketReader()
pushPacket
void pushPacket(ATcpInPacket pkt)
throws java.io.IOException
- Throws:
java.io.IOException
reset
private void reset()
doReadHeader
private boolean doReadHeader()
throws java.io.IOException
- Throws:
java.io.IOException
doReadPayload
private boolean doReadPayload()
throws java.io.IOException
- Throws:
java.io.IOException
processHeader
private void processHeader()
throws java.io.IOException
- Throws:
java.io.IOException
getGnutellaPacket
GnutellaPacket getGnutellaPacket()
throws java.io.IOException
- Throws:
java.io.IOException
createPacket
void createPacket()
throws java.io.IOException
- Throws:
java.io.IOException