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 and Description
    --- | ---
    `static int` | `ID_HANDSHAKE`
    `static int` | `ID_METADATA`
    `static int` | `ID_PEX`
    `static String` | `TYPE_METADATA`
    `static String` | `TYPE_PEX` not ut_pex since the compact format is different

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ExtensionHandler()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static byte[]` | `getHandshake(int metasize)`
    `static void` | `handleMessage(Peer peer, PeerListener listener, int id, byte[] bs)`
    `static void` | `sendPEX(Peer peer, List<Peer> pList)` added.f and dropped unsupported

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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

  - ### Constructor Detail

    - #### ExtensionHandler

          ExtensionHandler()

  - ### Method Detail

    - #### getHandshake

          public static byte[] getHandshake(int metasize)

      Parameters:
        `metasize` - -1 if unknown
      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