Class AZPeerExchange
- java.lang.Object
-
- com.biglybt.core.peermanager.messaging.azureus.AZPeerExchange
-
- All Implemented Interfaces:
AZMessage
,AZStylePeerExchange
,Message
public class AZPeerExchange extends java.lang.Object implements AZMessage, AZStylePeerExchange
AZ peer exchange message.
-
-
Field Summary
Fields Modifier and Type Field Description private static byte
bss
private DirectByteBuffer
buffer
private java.lang.String
description
private byte[]
infohash
private static LogIDs
LOGID
private PeerItem[]
peers_added
private PeerItem[]
peers_dropped
private byte
version
-
Fields inherited from interface com.biglybt.core.peermanager.messaging.azureus.AZMessage
AZ_FEATURE_ID, ID_AZ_BAD_PIECE, ID_AZ_BAD_PIECE_BYTES, ID_AZ_GENERIC_MAP, ID_AZ_GENERIC_MAP_BYTES, ID_AZ_HANDSHAKE, ID_AZ_HANDSHAKE_BYTES, ID_AZ_HAVE, ID_AZ_HAVE_BYTES, ID_AZ_METADATA, ID_AZ_METADATA_BYTES, ID_AZ_PEER_EXCHANGE, ID_AZ_PEER_EXCHANGE_BYTES, ID_AZ_REQUEST_HINT, ID_AZ_REQUEST_HINT_BYTES, ID_AZ_STAT_REPLY, ID_AZ_STAT_REPLY_BYTES, ID_AZ_STAT_REQUEST, ID_AZ_STAT_REQUEST_BYTES, SUBID_AZ_BAD_PIECE, SUBID_AZ_GENERIC_MAP, SUBID_AZ_HANDSHAKE, SUBID_AZ_HAVE, SUBID_AZ_METADATA, SUBID_AZ_PEER_EXCHANGE, SUBID_AZ_REQUEST_HINT, SUBID_AZ_STAT_REPLY, SUBID_AZ_STAT_REQUEST
-
Fields inherited from interface com.biglybt.core.peermanager.messaging.Message
TYPE_DATA_PAYLOAD, TYPE_PROTOCOL_PAYLOAD
-
-
Constructor Summary
Constructors Constructor Description AZPeerExchange(byte[] _infohash, PeerItem[] _peers_added, PeerItem[] _peers_dropped, byte version)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Message
deserialize(DirectByteBuffer data, byte version)
Create a new instance of this message by decoding the given byte serialization.void
destroy()
Destroy the message; i.e.private PeerItem[]
extractPeers(java.lang.String key_name, java.util.Map root_map)
PeerItem[]
getAddedPeers()
DirectByteBuffer[]
getData()
Get message payload data.java.lang.String
getDescription()
Get textual description of this particular message.PeerItem[]
getDroppedPeers()
java.lang.String
getFeatureID()
Get the main feature set name this message belongs to.int
getFeatureSubID()
Get the static message sub-id for the feature.java.lang.String
getID()
Get message id.byte[]
getIDBytes()
byte[]
getInfoHash()
int
getMaxAllowedPeersPerVolley(boolean initial, boolean added)
int
getType()
Get message type.byte
getVersion()
private void
insertPeers(java.lang.String key_name, java.util.Map root_map, PeerItem[] peers)
-
-
-
Field Detail
-
LOGID
private static final LogIDs LOGID
-
bss
private static final byte bss
- See Also:
- Constant Field Values
-
buffer
private DirectByteBuffer buffer
-
description
private java.lang.String description
-
version
private final byte version
-
infohash
private final byte[] infohash
-
peers_added
private final PeerItem[] peers_added
-
peers_dropped
private final PeerItem[] peers_dropped
-
-
Method Detail
-
insertPeers
private void insertPeers(java.lang.String key_name, java.util.Map root_map, PeerItem[] peers)
-
extractPeers
private PeerItem[] extractPeers(java.lang.String key_name, java.util.Map root_map)
-
getInfoHash
public byte[] getInfoHash()
-
getAddedPeers
public PeerItem[] getAddedPeers()
- Specified by:
getAddedPeers
in interfaceAZStylePeerExchange
-
getDroppedPeers
public PeerItem[] getDroppedPeers()
- Specified by:
getDroppedPeers
in interfaceAZStylePeerExchange
-
getID
public java.lang.String getID()
Description copied from interface:Message
Get message id.
-
getIDBytes
public byte[] getIDBytes()
- Specified by:
getIDBytes
in interfaceMessage
-
getFeatureID
public java.lang.String getFeatureID()
Description copied from interface:Message
Get the main feature set name this message belongs to.- Specified by:
getFeatureID
in interfaceMessage
- Returns:
- feature id
-
getFeatureSubID
public int getFeatureSubID()
Description copied from interface:Message
Get the static message sub-id for the feature.- Specified by:
getFeatureSubID
in interfaceMessage
- Returns:
- sub id
-
getType
public int getType()
Description copied from interface:Message
Get message type.
-
getVersion
public byte getVersion()
- Specified by:
getVersion
in interfaceMessage
-
getDescription
public java.lang.String getDescription()
Description copied from interface:Message
Get textual description of this particular message.- Specified by:
getDescription
in interfaceMessage
- Returns:
- description
-
getData
public DirectByteBuffer[] getData()
Description copied from interface:Message
Get message payload data.
-
deserialize
public Message deserialize(DirectByteBuffer data, byte version) throws MessageException
Description copied from interface:Message
Create a new instance of this message by decoding the given byte serialization.- Specified by:
deserialize
in interfaceMessage
- Parameters:
data
- to deserialize- Returns:
- decoded message instance
- Throws:
MessageException
- if the decoding process fails NOTE: Does not auto-return given direct buffer on thrown exception.
-
destroy
public void destroy()
Description copied from interface:Message
Destroy the message; i.e. perform cleanup actions.
-
getMaxAllowedPeersPerVolley
public int getMaxAllowedPeersPerVolley(boolean initial, boolean added)
- Specified by:
getMaxAllowedPeersPerVolley
in interfaceAZStylePeerExchange
-
-