com.limegroup.gnutella.messages.vendor
Class HopsFlowVendorMessage

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

public final class HopsFlowVendorMessage
extends VendorMessage

In Vendor Message parlance, the "message type" of this VMP is "BEAR/4". Used to ask a host you connect to to not send queries above the specified hops value....

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
HopsFlowVendorMessage(byte hopVal)
           
 
Method Summary
 int getHopValue()
           
 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

HopsFlowVendorMessage

public HopsFlowVendorMessage(byte hopVal)
                      throws BadPacketException
Parameters:
hopVal - represents the upper bound value for hops that you wish to see in queries from the neighbor you send this to. Only queries whose hops are STRICTLY lower than hopVal are expected to be received. A hopVal of 0 means that NO queries should be sent at all. A hopVal of 1 would mean that only queries from the immediate neighbor should be sent.
Method Detail

getHopValue

public int getHopValue()
Returns:
a int representing the upper bound (exclusive) that the connection you received this on wants to see from you.

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