## org.klomp.snark
Class PeerConnectionOut

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

All Implemented Interfaces:
  Runnable

     class PeerConnectionOut

extends Object
implements Runnable

Field Summary
`(package private) long` `lastSent`

Constructor Summary
`PeerConnectionOut(Peer peer, DataOutputStream dout)`

Method Summary
`(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