## org.mortbay.jetty.bio
Class SocketConnector

    java.lang.Object
      org.mortbay.component.AbstractLifeCycle
          org.mortbay.jetty.AbstractBuffers
              org.mortbay.jetty.AbstractConnector
                  org.mortbay.jetty.bio.SocketConnector

All Implemented Interfaces:
  LifeCycle, Buffers, Connector

Direct Known Subclasses:
  Ajp13SocketConnector, SslSocketConnector

    public class SocketConnector

extends AbstractConnector

Socket Connector. This connector implements a traditional blocking IO and threading model. Normal JRE sockets are used and a thread is allocated per connection. Buffers are managed so that large buffers are only allocated to active connections. This Connector should only be used if NIO is not available.

Author:
  gregw

Nested Class Summary
`protected class` `SocketConnector.Connection`

Field Summary
`protected Set` `_connections`
`protected ServerSocket` `_serverSocket`

Fields inherited from class org.mortbay.jetty.AbstractConnector
`_lowResourceMaxIdleTime, _maxIdleTime, _soLingerTime`

Fields inherited from class org.mortbay.jetty.AbstractBuffers
`_loss, BUFFER_LOSS_RATE`

Constructor Summary
`SocketConnector()` Constructor.

Method Summary
`void` `accept(int acceptorID)`
`void` `close()`
`void` `customize(EndPoint endpoint, Request request)` Customize a request for an endpoint.
`protected void` `doStart()`
`protected void` `doStop()`
`Object` `getConnection()`
`int` `getLocalPort()`
`protected Buffer` `newBuffer(int size)`
`protected HttpConnection` `newHttpConnection(EndPoint endpoint)` Allows subclass to override Conection if required.
`protected ServerSocket` `newServerSocket(String host, int port, int backlog)`
`void` `open()` Opens the connector

Methods inherited from class org.mortbay.jetty.AbstractConnector

`configure, connectionClosed, connectionOpened, getAcceptorPriorityOffset, getAcceptors, getAcceptQueueSize, getConfidentialPort, getConfidentialScheme, getConnections, getConnectionsDurationAve, getConnectionsDurationMax, getConnectionsDurationMin, getConnectionsDurationTotal, getConnectionsOpen, getConnectionsOpenMax, getConnectionsOpenMin, getConnectionsRequestsAve, getConnectionsRequestsMax, getConnectionsRequestsMin, getHost, getIntegralPort, getIntegralScheme, getLowResourceMaxIdleTime, getMaxIdleTime, getName, getPort, getRequests, getResolveNames, getReuseAddress, getServer, getSoLingerTime, getStatsOn, getStatsOnMs, getThreadPool, isConfidential, isIntegral, join, newContinuation, persist, setAcceptorPriorityOffset, setAcceptors, setAcceptQueueSize, setConfidentialPort, setConfidentialScheme, setHost, setIntegralPort, setIntegralScheme, setLowResourceMaxIdleTime, setMaxIdleTime, setName, setPort, setResolveNames, setReuseAddress, setServer, setSoLingerTime, setStatsOn, setThreadPool, statsReset, stopAccept, toString`

Methods inherited from class org.mortbay.jetty.AbstractBuffers
`getBuffer, getHeaderBufferSize, getRequestBufferSize, getResponseBufferSize, returnBuffer, setHeaderBufferSize, setRequestBufferSize, setResponseBufferSize`

Methods inherited from class org.mortbay.component.AbstractLifeCycle
`isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, start, stop`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.mortbay.jetty.Connector
`getHeaderBufferSize, getRequestBufferSize, getResponseBufferSize, setHeaderBufferSize, setRequestBufferSize, setResponseBufferSize`

Methods inherited from interface org.mortbay.component.LifeCycle
`isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, start, stop`

Methods inherited from interface org.mortbay.io.Buffers
`getBuffer, returnBuffer`

Field Detail

### _serverSocket

    protected ServerSocket _serverSocket

### _connections

    protected Set _connections

Constructor Detail

### SocketConnector

    public SocketConnector()

  Constructor.

Method Detail

### getConnection

    public Object getConnection()

  Returns:
    the underlying socket, channel, buffer etc. for the connector.

### open

    public void open()
              throws IOException

  Description copied from interface: `Connector`
  Opens the connector

  Throws:
    `IOException`

### newServerSocket

    protected ServerSocket newServerSocket(String host,
                                           int port,
                                           int backlog)
                                    throws IOException

  Throws:
    `IOException`

### close

    public void close()
               throws IOException

  Throws:
    `IOException`

### accept

    public void accept(int acceptorID)
                throws IOException,
                       InterruptedException

  Specified by:
    `accept` in class `AbstractConnector`
  Throws:
    `IOException`
    `InterruptedException`

### newHttpConnection

    protected HttpConnection newHttpConnection(EndPoint endpoint)

  Allows subclass to override Conection if required.

### newBuffer

    protected Buffer newBuffer(int size)

  Specified by:
    `newBuffer` in class `AbstractBuffers`

### customize

    public void customize(EndPoint endpoint,
                          Request request)
                   throws IOException

  Description copied from interface: `Connector`
  Customize a request for an endpoint. Called on every request to allow customization of the request for the particular endpoint (eg security properties from a SSL connection).

  Specified by:
    `customize` in interface `Connector`
  Overrides:
    `customize` in class `AbstractConnector`
  Throws:
    `IOException`

### getLocalPort

    public int getLocalPort()

  Returns:
    The actual port the connector is listening on or -1 if there is no port or the connector is not open.

### doStart

    protected void doStart()
                    throws Exception

  Overrides:
    `doStart` in class `AbstractConnector`
  Throws:
    `Exception`

### doStop

    protected void doStop()
                   throws Exception

  Overrides:
    `doStop` in class `AbstractConnector`
  Throws:
    `Exception`

Copyright © 2007 Mort Bay Consulting. All Rights Reserved.