Class PeerConnectionOut

java.lang.Object
org.klomp.snark.PeerConnectionOut
All Implemented Interfaces:
Runnable

class PeerConnectionOut extends Object implements Runnable
  • Field Details

    • lastSent

      long lastSent
  • Constructor Details

  • Method Details

    • startup

      public void startup()
    • run

      public void run()
      Continuesly monitors for more outgoing messages that have to be send. Stops if quit is true or an IOException occurs.
      Specified by:
      run in interface Runnable
    • disconnect

      public void disconnect()
    • sendAlive

      void sendAlive()
    • sendChoke

      void sendChoke(boolean choke)
    • sendInterest

      void sendInterest(boolean interest)
    • sendHave

      void sendHave(int piece)
    • sendBitfield

      void sendBitfield(BitField bitfield)
    • retransmitRequests

      void retransmitRequests(List<Request> requests)
    • sendRequests

      void sendRequests(List<Request> requests)
    • sendRequest

      void sendRequest(Request req)
    • queuedBytes

      int queuedBytes()
    • sendPiece

      void sendPiece(int piece, int begin, int length, DataLoader loader)
      Queue a piece message with a callback to load the data from disk when required.
      Since:
      0.8.2
    • sendCancel

      void sendCancel(Request req)
      send cancel
    • cancelRequestMessages

      void cancelRequestMessages()
      Remove all Request messages from the queue. Does not send a cancel message.
      Since:
      0.8.2
    • cancelRequest

      void cancelRequest(int piece, int begin, int length)
      Called by the PeerState when the other side doesn't want this request to be handled anymore. Removes any pending Piece Message from out send queue. Does not send a cancel message.
    • sendExtension

      void sendExtension(int id, byte[] bytes)
      Since:
      0.8.2
    • sendPort

      void sendPort(int port)
      Since:
      0.8.4
    • sendReject

      void sendReject(int piece, int begin, int length)
      Since:
      0.9.21