com.limegroup.gnutella.messages.vendor
Class UDPConnectBackVendorMessage

java.lang.Object
  extended bycom.limegroup.gnutella.messages.Message
      extended bycom.limegroup.gnutella.messages.vendor.VendorMessage
          extended bycom.limegroup.gnutella.messages.vendor.UDPConnectBackVendorMessage
All Implemented Interfaces:
java.lang.Comparable, java.io.Serializable

public final class UDPConnectBackVendorMessage
extends VendorMessage

In Vendor Message parlance, the "message type" of this VMP is "GTKG/7". Used to ask a host you connect to do a UDP ConnectBack. VERSIONING INFO: ------------------------- Version 2 of this message will fold the connect back guid into the guid of the message. In order to transition, we should follow a 3 step process: 1) allow this class to accept version 2 format 2) after 1) has been released for a while, start using version 2 3) some time after 2), stop accepting 1) (optional)

See Also:
Serialized Form

Field Summary
static int VERSION
           
 
Fields inherited from class com.limegroup.gnutella.messages.vendor.VendorMessage
F_BEAR_VENDOR_ID, F_GTKG_VENDOR_ID, F_HOPS_FLOW, F_LIME_ACK, F_LIME_VENDOR_ID, F_MESSAGES_SUPPORTED, F_NULL_VENDOR_ID, F_PUSH_PROXY_ACK, F_PUSH_PROXY_REQ, F_REPLY_NUMBER, F_TCP_CONNECT_BACK, F_UDP_CONNECT_BACK
 
Fields inherited from class com.limegroup.gnutella.messages.Message
F_PING, F_PING_REPLY, F_PUSH, F_QUERY, F_QUERY_REPLY, F_ROUTE_TABLE_UPDATE, F_VENDOR_MESSAGE, F_VENDOR_MESSAGE_STABLE, N_MULTICAST, N_TCP, N_UDP, N_UNKNOWN, RECORD_STATS, SOFT_MAX
 
Constructor Summary
UDPConnectBackVendorMessage(int port, GUID guid)
           
 
Method Summary
 GUID getConnectBackGUID()
           
 int getConnectBackPort()
           
 void recordDrop()
          Overridden purely for stats handling.
protected  void writePayload(java.io.OutputStream out)
          Overridden purely for stats handling.
 
Methods inherited from class com.limegroup.gnutella.messages.vendor.VendorMessage
deriveVendorMessage, equals, getPayload, getVersion, hashCode, stripExtendedPayload
 
Methods inherited from class com.limegroup.gnutella.messages.Message
compareTo, getCreationTime, getFunc, getGUID, getHops, getLength, getNetwork, getPriority, getTotalLength, getTTL, hop, isMulticast, isTCP, isUDP, isUnknownNetwork, makeGuid, read, read, read, read, read, readNullTerminatedBytes, repOk, setGUID, setHops, setPriority, setTTL, toString, updateLength, write, writeGemExtension, writeGemExtension, writeGemExtensions
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

VERSION

public static final int VERSION
See Also:
Constant Field Values
Constructor Detail

UDPConnectBackVendorMessage

public UDPConnectBackVendorMessage(int port,
                                   GUID guid)
                            throws BadPacketException
Parameters:
port - The port you want people to connect back to. If you give a bad port I don't check so check yourself!
guid - The guid you want people to connect back with. Serves as a flag that the connect back is 'unsolicited'.
Method Detail

getConnectBackPort

public int getConnectBackPort()

getConnectBackGUID

public GUID getConnectBackGUID()

writePayload

protected void writePayload(java.io.OutputStream out)
                     throws java.io.IOException
Overridden purely for stats handling.

Overrides:
writePayload in class VendorMessage
Throws:
java.io.IOException

recordDrop

public void recordDrop()
Overridden purely for stats handling.

Overrides:
recordDrop in class VendorMessage