Package org.klomp.snark
Class ExtensionHandler
- java.lang.Object
-
- org.klomp.snark.ExtensionHandler
-
abstract class ExtensionHandler extends Object
REF: BEP 10 Extension Protocol- Since:
- 0.8.2
- Author:
- zzz
-
-
Field Summary
Fields Modifier and Type Field Description static int
ID_COMMENT
static int
ID_DHT
static int
ID_HANDSHAKE
static int
ID_METADATA
static int
ID_PEX
static String
TYPE_COMMENT
static String
TYPE_DHT
not using the option bit since the compact format is differentstatic String
TYPE_METADATA
static String
TYPE_PEX
not ut_pex since the compact format is different
-
Constructor Summary
Constructors Constructor Description ExtensionHandler()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static byte[]
getHandshake(int metasize, boolean pexAndMetadata, boolean dht, boolean uploadOnly, boolean comment)
static void
handleMessage(Peer peer, PeerListener listener, int id, byte[] bs)
static void
locked_sendComments(Peer peer, int num, CommentSet comments)
Send comments Caller must sync on commentsstatic void
sendCommentReq(Peer peer, int num)
Send comment requeststatic void
sendDHT(Peer peer, int qport, int rport)
Send the DHT port numbersstatic void
sendPEX(Peer peer, List<Peer> pList)
added.f and dropped unsupported
-
-
-
Field Detail
-
ID_HANDSHAKE
public static final int ID_HANDSHAKE
- See Also:
- Constant Field Values
-
ID_METADATA
public static final int ID_METADATA
- See Also:
- Constant Field Values
-
TYPE_METADATA
public static final String TYPE_METADATA
- See Also:
- Constant Field Values
-
ID_PEX
public static final int ID_PEX
- See Also:
- Constant Field Values
-
TYPE_PEX
public static final String TYPE_PEX
not ut_pex since the compact format is different- See Also:
- Constant Field Values
-
ID_DHT
public static final int ID_DHT
- See Also:
- Constant Field Values
-
TYPE_DHT
public static final String TYPE_DHT
not using the option bit since the compact format is different- See Also:
- Constant Field Values
-
ID_COMMENT
public static final int ID_COMMENT
- Since:
- 0.9.31
- See Also:
- Constant Field Values
-
TYPE_COMMENT
public static final String TYPE_COMMENT
- Since:
- 0.9.31
- See Also:
- Constant Field Values
-
-
Method Detail
-
getHandshake
public static byte[] getHandshake(int metasize, boolean pexAndMetadata, boolean dht, boolean uploadOnly, boolean comment)
- Parameters:
metasize
- -1 if unknownpexAndMetadata
- advertise these capabilitiesdht
- advertise DHT capabilitycomment
- advertise ut_comment capability- Returns:
- bencoded outgoing handshake message
-
handleMessage
public static void handleMessage(Peer peer, PeerListener listener, int id, byte[] bs)
-
sendPEX
public static void sendPEX(Peer peer, List<Peer> pList)
added.f and dropped unsupported- Parameters:
pList
- non-null- Since:
- 0.8.4
-
sendDHT
public static void sendDHT(Peer peer, int qport, int rport)
Send the DHT port numbers- Since:
- DHT
-
sendCommentReq
public static void sendCommentReq(Peer peer, int num)
Send comment request- Since:
- 0.9.31
-
locked_sendComments
public static void locked_sendComments(Peer peer, int num, CommentSet comments)
Send comments Caller must sync on comments- Parameters:
num
- max to sendcomments
- non-null- Since:
- 0.9.31
-
-