ch.qos.logback.core.net.server

## Interface ServerRunner<T extends Client>

All Superinterfaces:
  ContextAware, java.lang.Runnable

All Known Implementing Classes:
  ConcurrentServerRunner

    public interface ServerRunner<T extends Client>
    extends ContextAware, java.lang.Runnable

An object that is responsible for the asynchronous execution of a socket server.

This interface exists primarily to allow the runner to be mocked for the purpose of unit testing the socket server implementation.

Author:
  Carl Harris

### Method Summary

Methods
`void` `accept(ClientVisitor<T> visitor)` Presents each connected client to the given visitor.
`boolean` `isRunning()` Gets a flag indicating whether the server is currently running.
`void` `stop()` Stops execution of the runner.

### Methods inherited from interface ch.qos.logback.core.spi.ContextAware

`addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, setContext`

### Methods inherited from interface java.lang.Runnable

`run`

### Method Detail

#### isRunning

    boolean isRunning()

Gets a flag indicating whether the server is currently running.

Returns:
  flag state

#### stop

    void stop()
              throws java.io.IOException

Stops execution of the runner.

This method must cause all I/O and thread resources associated with the runner to be released. If the receiver has not been started, this method must have no effect.

Throws:
  `java.io.IOException`

#### accept

    void accept(ClientVisitor<T> visitor)

Presents each connected client to the given visitor.

Parameters:
  `visitor` - the subject visitor