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)
          Called by the PeerState when the other side doesn't want this request to be handled anymore.
(package private)  void cancelRequestMessages()
          Remove all Request messages from the queue.
 void disconnect()
           
(package private)  int queuedBytes()
           
(package private)  void retransmitRequests(List<Request> requests)
           
 void run()
          Continuesly monitors for more outgoing messages that have to be send.
(package private)  void sendAlive()
           
(package private)  void sendAllowedFast(int piece)
          Unused
(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 sendReject(int piece, int begin, int length)
           
(package private)  void sendRequest(Request req)
           
(package private)  void sendRequests(List<Request> requests)
           
(package private)  void sendSuggest(int piece)
          Unused
 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 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

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

sendSuggest

void sendSuggest(int piece)
Unused

Since:
0.9.21

sendReject

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

sendAllowedFast

void sendAllowedFast(int piece)
Unused

Since:
0.9.21