package com.limegroup.gnutella.messages.vendor; import com.limegroup.gnutella.messages.Message; /** Vendor Messages are Gnutella Messages that are NEVER forwarded after * received. */ public interface VendorMessage extends Message { static final int LENGTH_MINUS_PAYLOAD = 8; //Functional IDs defined by Gnutella VendorMessage protocol.... public static final int F_MESSAGES_SUPPORTED = 0; public static final int F_HOPS_FLOW = 4; public static final int F_TCP_CONNECT_BACK = 7; public static final int F_UDP_CONNECT_BACK = 7; public static final int F_UDP_CONNECT_BACK_REDIR = 8; public static final int F_CAPABILITIES = 10; public static final int F_LIME_ACK = 11; public static final int F_REPLY_NUMBER = 12; public static final int F_OOB_PROXYING_CONTROL = 13; public static final int F_PUSH_PROXY_REQ = 21; public static final int F_PUSH_PROXY_ACK = 22; @Deprecated public static final int F_GIVE_STATS = 14; @Deprecated public static final int F_STATISTICS = 15; public static final int F_CRAWLER_PING = 5; public static final int F_CRAWLER_PONG = 6; public static final int F_SIMPP_REQ = 16; public static final int F_SIMPP = 17; public static final int F_UDP_HEAD_PING = 23; public static final int F_UDP_HEAD_PONG = 24; public static final int F_HEADER_UPDATE = 25; public static final int F_UPDATE_REQ = 26; public static final int F_UPDATE_RESP = 27; public static final int F_CONTENT_REQ = 28; public static final int F_CONTENT_RESP = 29; public static final int F_INSPECTION_REQ = 30; public static final int F_INSPECTION_RESP = 31; public static final int F_ADVANCED_TOGGLE = 32; public static final int F_DHT_CONTACTS = 33; public static final byte[] F_LIME_VENDOR_ID = { (byte) 76, (byte) 73, (byte) 77, (byte) 69 }; public static final byte[] F_BEAR_VENDOR_ID = { (byte) 66, (byte) 69, (byte) 65, (byte) 82 }; public static final byte[] F_GTKG_VENDOR_ID = { (byte) 71, (byte) 84, (byte) 75, (byte) 71 }; public static final byte[] F_NULL_VENDOR_ID = { (byte) 0, (byte) 0, (byte) 0, (byte) 0 }; public int getVersion(); /** Marker interface for vendor messages which are also Control messages. */ public static interface ControlMessage extends VendorMessage {} }