net.i2p.router.client

## Class ClientWriterRunner

- java.lang.Object
- - net.i2p.router.client.ClientWriterRunner

All Implemented Interfaces:
  Runnable

     class ClientWriterRunner
    extends Object
    implements Runnable

Async writer class so that if a client app hangs, they wont take down the whole router with them (since otherwise the JobQueue would block until the client reads from their i2cp socket, causing all sorts of bad shit to happen)

Author:
  zzz modded to use concurrent

### Constructor Summary

Constructors
Constructor and Description
`ClientWriterRunner(RouterContext context, ClientConnectionRunner runner)`

### Method Summary

Methods
`void` `addMessage(I2CPMessage msg)` Add this message to the writer's queue
`void` `run()`
`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(RouterContext context,
                      ClientConnectionRunner runner)

### Method Detail

#### addMessage

    public void addMessage(I2CPMessage msg)

Add this message to the writer's queue

#### 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`