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
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 Details
-
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
- See Also:
- Constant Field Values
-
ID_PEX
public static final int ID_PEX- See Also:
- Constant Field Values
-
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
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
- Since:
- 0.9.31
- See Also:
- Constant Field Values
-
-
Constructor Details
-
ExtensionHandler
ExtensionHandler()
-
-
Method Details
-
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
-
sendPEX
added.f and dropped unsupported- Parameters:
pList
- non-null- Since:
- 0.8.4
-
sendDHT
Send the DHT port numbers- Since:
- DHT
-
sendCommentReq
Send comment request- Since:
- 0.9.31
-
locked_sendComments
Send comments Caller must sync on comments- Parameters:
num
- max to sendcomments
- non-null- Since:
- 0.9.31
-