package com.limegroup.gnutella.messages.vendor; import com.limegroup.gnutella.URN; /** Controls how HeadPongs are constructed. */ interface HeadPongRequestor { /** Returns the URN the request is for. */ public URN getUrn(); /** True if this requests wants ranges. */ public boolean requestsRanges(); /** True if this is requesting direct alternate locations. */ public boolean requestsAltlocs(); /** True if this is requesting push alternate locations. */ public boolean requestsPushLocs(); /** True if this is requesting FWT-capable alternate locations. */ public boolean requestsFWTOnlyPushLocs(); /** * Returns the features this request supports. * * Note: This is only used by HeadPong v1, which mirrored most * of the requested features in the reply. * This field should not be used for v2+. * Instead, use the specific requestsXXX methods. */ public byte getFeatures(); /** Determines if the Pong should be constructed with GGEP or Binary. */ public boolean isPongGGEPCapable(); /** Returns the GUID that should be used for the Pong. */ public byte[] getGUID(); }