org.klomp.snark
Class PeerConnectionOut

java.lang.Object
  extended by 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