org.klomp.snark

## Class PeerConnectionOut

- java.lang.Object
- - org.klomp.snark.PeerConnectionOut

- All Implemented Interfaces:
    Runnable

       class PeerConnectionOut
      extends Object
      implements Runnable

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `(package private) long` | `lastSent`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PeerConnectionOut(Peer peer, DataOutputStream dout)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `(package private) void` | `cancelRequest(int piece, int begin, int length)`
    `(package private) void` | `cancelRequestMessages()` Remove all Request messages from the queue
    `void` | `disconnect()`
    `(package private) int` | `queuedBytes()`
    `(package private) void` | `retransmitRequests(List requests)`
    `void` | `run()` Continuesly monitors for more outgoing messages that have to be send.
    `(package private) void` | `sendAlive()`
    `(package private) void` | `sendBitfield(BitField bitfield)`
    `(package private) void` | `sendCancel(Request req)`
    `(package private) void` | `sendChoke(boolean choke)`
    `(package private) void` | `sendExtension(int id, byte[] bytes)`
    `(package private) void` | `sendHave(int piece)`
    `(package private) void` | `sendInterest(boolean interest)`
    `(package private) void` | `sendPiece(int piece, int begin, int length, byte[] bytes)` Queue a piece message with the data already loaded from disk Also add a timeout.
    `(package private) 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.
    `(package private) void` | `sendPort(int port)`
    `(package private) void` | `sendRequest(Request req)`
    `(package private) void` | `sendRequests(List requests)`
    `void` | `startup()`

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

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

- - ### Field Detail

    - #### lastSent

          long lastSent

  - ### Constructor Detail

    - #### PeerConnectionOut

          public PeerConnectionOut(Peer peer,
                           DataOutputStream dout)

  - ### Method Detail

    - #### startup

          public void startup()

    - #### run

          public void run()

      Continuesly monitors for more outgoing messages that have to be send. Stops if quit is true of 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 requests)

    - #### sendRequests

          void sendRequests(List 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

    - #### sendPiece

          void sendPiece(int piece,
                       int begin,
                       int length,
                       byte[] bytes)

      Queue a piece message with the data already loaded from disk Also add a timeout. We don't use this anymore.

    - #### sendCancel

          void sendCancel(Request req)

    - #### cancelRequestMessages

          void cancelRequestMessages()

      Remove all Request messages from the queue
      Since:
        0.8.2

    - #### cancelRequest

          void cancelRequest(int piece,
                           int begin,
                           int length)

    - #### sendExtension

          void sendExtension(int id,
                           byte[] bytes)

      Since:
        0.8.2

    - #### sendPort

          void sendPort(int port)

      Since:
        0.8.4