net.i2p.client.impl
Class ClientWriterRunner

java.lang.Object
  extended by net.i2p.client.impl.ClientWriterRunner
All Implemented Interfaces:
Runnable

 class ClientWriterRunner
extends Object
implements Runnable

Copied from net.i2p.router.client We need a single thread that writes so we don't have issues with the Piped Streams used in InternalSocket.

Author:
zzz from net.i2p.router.client.ClientWriterRunner

Constructor Summary
ClientWriterRunner(OutputStream out, I2PSessionImpl session)
          As of 0.9.11 does not start the thread, caller must call startWriting()
 
Method Summary
 void addMessage(I2CPMessage msg)
          Add this message to the writer's queue.
 void run()
           
 void startWriting()
           
 void stopWriting()
          No more messages - dont even try to send what we have
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClientWriterRunner

public ClientWriterRunner(OutputStream out,
                          I2PSessionImpl session)
As of 0.9.11 does not start the thread, caller must call startWriting()

Method Detail

startWriting

public void startWriting()
Since:
0.9.11

addMessage

public void addMessage(I2CPMessage msg)
                throws I2PSessionException
Add this message to the writer's queue. Blocking if queue is full.

Throws:
I2PSessionException - if we wait too long or are interrupted

stopWriting

public void stopWriting()
No more messages - dont even try to send what we have


run

public void run()
Specified by:
run in interface Runnable