ch.qos.logback.core.net.server

## Class AbstractServerSocketAppender<E>

- java.lang.Object
- - ch.qos.logback.core.spi.ContextAwareBase
  - - ch.qos.logback.core.AppenderBase<E>
    - - ch.qos.logback.core.net.server.AbstractServerSocketAppender<E>

All Implemented Interfaces:
  Appender<E>, ContextAware, FilterAttachable<E>, LifeCycle

Direct Known Subclasses:
  ServerSocketAppender, ServerSocketAppender, SSLServerSocketAppenderBase

    public abstract class AbstractServerSocketAppender<E>
    extends AppenderBase<E>

This is the super class for module specific ServerSocketAppender implementations can derive from.

Author:
  Carl Harris

### Field Summary

Fields
`static int` `DEFAULT_BACKLOG` Default `ServerSocket` backlog
`static int` `DEFAULT_CLIENT_QUEUE_SIZE` Default queue size used for each client

### Fields inherited from class ch.qos.logback.core.AppenderBase

`name, started`

### Fields inherited from class ch.qos.logback.core.spi.ContextAwareBase

`context`

### Constructor Summary

Constructors
Constructor and Description
`AbstractServerSocketAppender()`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected void` `append(E event)`
`protected ServerListener<ch.qos.logback.core.net.server.RemoteReceiverClient>` `createServerListener(ServerSocket socket)`
`protected ServerRunner<ch.qos.logback.core.net.server.RemoteReceiverClient>` `createServerRunner(ServerListener<ch.qos.logback.core.net.server.RemoteReceiverClient> listener, Executor executor)`
`String` `getAddress()` Gets the local address for the listener.
`int` `getBacklog()` Gets the listener queue depth.
`int` `getClientQueueSize()` Gets the event queue size used for each client connection.
`protected InetAddress` `getInetAddress()` Gets the local address for the listener.
`int` `getPort()` Gets the local port for the listener.
`protected abstract PreSerializationTransformer<E>` `getPST()` Gets a transformer that will be used to convert a received event to a `Serializable` form.
`protected ServerSocketFactory` `getServerSocketFactory()` Gets the factory used to create `ServerSocket` objects.
`protected abstract void` `postProcessEvent(E event)` Post process an event received via `#append(E)`.
`void` `setAddress(String address)` Sets the local address for the listener.
`void` `setBacklog(int backlog)` Sets the listener queue depth.
`void` `setClientQueueSize(int clientQueueSize)` Sets the event queue size used for each client connection.
`void` `setPort(int port)` Sets the local port for the listener.
`void` `start()`
`void` `stop()`

### Methods inherited from class ch.qos.logback.core.AppenderBase

`addFilter, clearAllFilters, doAppend, getCopyOfAttachedFiltersList, getFilterChainDecision, getName, isStarted, setName, toString`

### Methods inherited from class ch.qos.logback.core.spi.ContextAwareBase

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

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

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

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

### Field Detail

#### DEFAULT_BACKLOG

    public static final int DEFAULT_BACKLOG

Default `ServerSocket` backlog

See Also:
  Constant Field Values

#### DEFAULT_CLIENT_QUEUE_SIZE

    public static final int DEFAULT_CLIENT_QUEUE_SIZE

Default queue size used for each client

See Also:
  Constant Field Values

### Constructor Detail

#### AbstractServerSocketAppender

    public AbstractServerSocketAppender()

### Method Detail

#### start

    public void start()

Specified by:
  `start` in interface `LifeCycle`
Overrides:
  `start` in class `AppenderBase<E>`

#### createServerListener

    protected ServerListener<ch.qos.logback.core.net.server.RemoteReceiverClient> createServerListener(ServerSocket socket)

#### createServerRunner

    protected ServerRunner<ch.qos.logback.core.net.server.RemoteReceiverClient> createServerRunner(ServerListener<ch.qos.logback.core.net.server.RemoteReceiverClient> listener,
                                                                                                   Executor executor)

#### stop

    public void stop()

Specified by:
  `stop` in interface `LifeCycle`
Overrides:
  `stop` in class `AppenderBase<E>`

#### append

    protected void append(E event)

Specified by:
  `append` in class `AppenderBase<E>`

#### postProcessEvent

    protected abstract void postProcessEvent(E event)

Post process an event received via `#append(E)`.

Parameters:
  `event` -

#### getPST

    protected abstract PreSerializationTransformer<E> getPST()

Gets a transformer that will be used to convert a received event to a `Serializable` form.

Returns:

#### getServerSocketFactory

    protected ServerSocketFactory getServerSocketFactory()
                                                  throws Exception

Gets the factory used to create `ServerSocket` objects.

The default implementation delegates to `ServerSocketFactory.getDefault()`. Subclasses may override to private a different socket factory implementation.

Returns:
  socket factory.
Throws:
  `Exception`

#### getInetAddress

    protected InetAddress getInetAddress()
                                  throws UnknownHostException

Gets the local address for the listener.

Returns:
  an `InetAddress` representation of the local address.
Throws:
  `UnknownHostException`

#### getPort

    public int getPort()

Gets the local port for the listener.

Returns:
  local port

#### setPort

    public void setPort(int port)

Sets the local port for the listener.

Parameters:
  `port` - the local port to set

#### getBacklog

    public int getBacklog()

Gets the listener queue depth.

This represents the number of connected clients whose connections have not yet been accepted.

Returns:
  queue depth
See Also:
  `ServerSocket`

#### setBacklog

    public void setBacklog(int backlog)

Sets the listener queue depth.

This represents the number of connected clients whose connections have not yet been accepted.

Parameters:
  `backlog` - the queue depth to set
See Also:
  `ServerSocket`

#### getAddress

    public String getAddress()

Gets the local address for the listener.

Returns:
  a string representation of the local address

#### setAddress

    public void setAddress(String address)

Sets the local address for the listener.

Parameters:
  `address` - a host name or a string representation of an IP address

#### getClientQueueSize

    public int getClientQueueSize()

Gets the event queue size used for each client connection.

Returns:
  queue size

#### setClientQueueSize

    public void setClientQueueSize(int clientQueueSize)

Sets the event queue size used for each client connection.

Parameters:
  `clientQueueSize` - the queue size to set