Package ch.qos.logback.core.net.server

# Interface ServerRunner<T extends Client>

All Superinterfaces:
  `ContextAware`, `Runnable`

All Known Implementing Classes:
  `ConcurrentServerRunner`

public interface ServerRunner<T extends Client> extends ContextAware, 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

Modifier and Type
Method
Description
`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 Details

### isRunning

boolean isRunning()
Gets a flag indicating whether the server is currently running.

Returns:
  flag state

### stop

void stop() throws 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:
  `IOException`

### accept

void accept(ClientVisitor<T> visitor)
Presents each connected client to the given visitor.

Parameters:
  `visitor` - the subject visitor