Class AZPeerExchange

java.lang.Object
com.biglybt.core.peermanager.messaging.azureus.AZPeerExchange
All Implemented Interfaces:
AZMessage, AZStylePeerExchange, Message

public class AZPeerExchange extends Object implements AZMessage, AZStylePeerExchange
AZ peer exchange message.
  • Field Details

    • LOGID

      private static final LogIDs LOGID
    • bss

      private static final byte bss
      See Also:
    • buffer

      private DirectByteBuffer buffer
    • description

      private 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
  • Constructor Details

    • AZPeerExchange

      public AZPeerExchange(byte[] _infohash, PeerItem[] _peers_added, PeerItem[] _peers_dropped, byte version)
  • Method Details

    • insertPeers

      private void insertPeers(String key_name, Map root_map, PeerItem[] peers)
    • extractPeers

      private PeerItem[] extractPeers(String key_name, Map root_map)
    • getInfoHash

      public byte[] getInfoHash()
    • getAddedPeers

      public PeerItem[] getAddedPeers()
      Specified by:
      getAddedPeers in interface AZStylePeerExchange
    • getDroppedPeers

      public PeerItem[] getDroppedPeers()
      Specified by:
      getDroppedPeers in interface AZStylePeerExchange
    • getID

      public String getID()
      Description copied from interface: Message
      Get message id.
      Specified by:
      getID in interface Message
      Returns:
      id
    • getIDBytes

      public byte[] getIDBytes()
      Specified by:
      getIDBytes in interface Message
    • getFeatureID

      public String getFeatureID()
      Description copied from interface: Message
      Get the main feature set name this message belongs to.
      Specified by:
      getFeatureID in interface Message
      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 interface Message
      Returns:
      sub id
    • getType

      public int getType()
      Description copied from interface: Message
      Get message type.
      Specified by:
      getType in interface Message
      Returns:
      type
    • getVersion

      public byte getVersion()
      Specified by:
      getVersion in interface Message
    • getDescription

      public String getDescription()
      Description copied from interface: Message
      Get textual description of this particular message.
      Specified by:
      getDescription in interface Message
      Returns:
      description
    • getData

      public DirectByteBuffer[] getData()
      Description copied from interface: Message
      Get message payload data.
      Specified by:
      getData in interface Message
      Returns:
      message data buffers
    • 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 interface Message
      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.
      Specified by:
      destroy in interface Message
    • getMaxAllowedPeersPerVolley

      public int getMaxAllowedPeersPerVolley(boolean initial, boolean added)
      Specified by:
      getMaxAllowedPeersPerVolley in interface AZStylePeerExchange