org.mortbay.jetty
Class AbstractConnector
java.lang.Object
org.mortbay.component.AbstractLifeCycle
org.mortbay.jetty.AbstractBuffers
org.mortbay.jetty.AbstractConnector
- All Implemented Interfaces:
- LifeCycle, Buffers, Connector
- Direct Known Subclasses:
- AbstractNIOConnector, LocalConnector, SocketConnector
public abstract class AbstractConnector
- extends AbstractBuffers
- implements Connector
Abstract Connector implementation.
This abstract implemenation of the Connector interface provides:
- AbstractLifeCycle implementation
- Implementations for connector getters and setters
- Buffer management
- Socket configuration
- Base acceptor thread
- Author:
- gregw
TODO - allow multiple Acceptor threads
_maxIdleTime
protected int _maxIdleTime
_lowResourceMaxIdleTime
protected int _lowResourceMaxIdleTime
_soLingerTime
protected int _soLingerTime
AbstractConnector
public AbstractConnector()
open
public abstract void open()
throws IOException
- Description copied from interface:
Connector
- Opens the connector
- Specified by:
open
in interface Connector
- Throws:
IOException
getServer
public Server getServer()
- Specified by:
getServer
in interface Connector
setServer
public void setServer(Server server)
- Specified by:
setServer
in interface Connector
getThreadPool
public ThreadPool getThreadPool()
setThreadPool
public void setThreadPool(ThreadPool pool)
setHost
public void setHost(String host)
- Specified by:
setHost
in interface Connector
getHost
public String getHost()
- Specified by:
getHost
in interface Connector
setPort
public void setPort(int port)
- Specified by:
setPort
in interface Connector
- Parameters:
port
- The port fto listen of for connections or 0 if any available
port may be used.
getPort
public int getPort()
- Specified by:
getPort
in interface Connector
- Returns:
- The configured port for the connector or 0 if any available
port may be used.
getMaxIdleTime
public int getMaxIdleTime()
- Specified by:
getMaxIdleTime
in interface Connector
- Returns:
- Returns the maxIdleTime.
setMaxIdleTime
public void setMaxIdleTime(int maxIdleTime)
- Specified by:
setMaxIdleTime
in interface Connector
- Parameters:
maxIdleTime
- The maxIdleTime to set.
getLowResourceMaxIdleTime
public int getLowResourceMaxIdleTime()
- Specified by:
getLowResourceMaxIdleTime
in interface Connector
- Returns:
- Returns the maxIdleTime.
setLowResourceMaxIdleTime
public void setLowResourceMaxIdleTime(int maxIdleTime)
- Specified by:
setLowResourceMaxIdleTime
in interface Connector
- Parameters:
maxIdleTime
- The maxIdleTime to set.
getSoLingerTime
public long getSoLingerTime()
- Returns:
- Returns the soLingerTime.
getAcceptQueueSize
public int getAcceptQueueSize()
- Returns:
- Returns the acceptQueueSize.
setAcceptQueueSize
public void setAcceptQueueSize(int acceptQueueSize)
- Parameters:
acceptQueueSize
- The acceptQueueSize to set.
getAcceptors
public int getAcceptors()
- Returns:
- Returns the number of acceptor threads.
setAcceptors
public void setAcceptors(int acceptors)
- Parameters:
acceptors
- The number of acceptor threads to set.
setSoLingerTime
public void setSoLingerTime(int soLingerTime)
- Parameters:
soLingerTime
- The soLingerTime to set or -1 to disable.
doStart
protected void doStart()
throws Exception
- Overrides:
doStart
in class AbstractBuffers
- Throws:
Exception
doStop
protected void doStop()
throws Exception
- Overrides:
doStop
in class AbstractLifeCycle
- Throws:
Exception
join
public void join()
throws InterruptedException
- Throws:
InterruptedException
configure
protected void configure(Socket socket)
throws IOException
- Throws:
IOException
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
- Throws:
IOException
persist
public void persist(EndPoint endpoint)
throws IOException
- Description copied from interface:
Connector
- Persist an endpoint.
Called after every request if the connection is to remain open.
- Specified by:
persist
in interface Connector
- Throws:
IOException
getConfidentialPort
public int getConfidentialPort()
- Specified by:
getConfidentialPort
in interface Connector
getConfidentialScheme
public String getConfidentialScheme()
- Specified by:
getConfidentialScheme
in interface Connector
isIntegral
public boolean isIntegral(Request request)
- Specified by:
isIntegral
in interface Connector
getIntegralPort
public int getIntegralPort()
- Specified by:
getIntegralPort
in interface Connector
getIntegralScheme
public String getIntegralScheme()
- Specified by:
getIntegralScheme
in interface Connector
isConfidential
public boolean isConfidential(Request request)
- Specified by:
isConfidential
in interface Connector
setConfidentialPort
public void setConfidentialPort(int confidentialPort)
- Parameters:
confidentialPort
- The confidentialPort to set.
setConfidentialScheme
public void setConfidentialScheme(String confidentialScheme)
- Parameters:
confidentialScheme
- The confidentialScheme to set.
setIntegralPort
public void setIntegralPort(int integralPort)
- Parameters:
integralPort
- The integralPort to set.
setIntegralScheme
public void setIntegralScheme(String integralScheme)
- Parameters:
integralScheme
- The integralScheme to set.
newContinuation
public Continuation newContinuation()
- Specified by:
newContinuation
in interface Connector
accept
protected abstract void accept(int acceptorID)
throws IOException,
InterruptedException
- Throws:
IOException
InterruptedException
stopAccept
public void stopAccept(int acceptorID)
throws Exception
- Throws:
Exception
getResolveNames
public boolean getResolveNames()
- Specified by:
getResolveNames
in interface Connector
- Returns:
- true if names resolution should be done.
setResolveNames
public void setResolveNames(boolean resolve)
toString
public String toString()
- Overrides:
toString
in class Object
getName
public String getName()
- Specified by:
getName
in interface Connector
- Returns:
- the name of the connector. Defaults to the HostName:port
setName
public void setName(String name)
getRequests
public int getRequests()
- Specified by:
getRequests
in interface Connector
- Returns:
- Get the number of requests handled by this context
since last call of statsReset(). If setStatsOn(false) then this
is undefined.
getConnectionsDurationMin
public long getConnectionsDurationMin()
- Specified by:
getConnectionsDurationMin
in interface Connector
- Returns:
- Returns the connectionsDurationMin.
getConnectionsDurationTotal
public long getConnectionsDurationTotal()
- Specified by:
getConnectionsDurationTotal
in interface Connector
- Returns:
- Returns the connectionsDurationTotal.
getConnectionsOpenMin
public int getConnectionsOpenMin()
- Specified by:
getConnectionsOpenMin
in interface Connector
- Returns:
- Returns the connectionsOpenMin.
getConnectionsRequestsMin
public int getConnectionsRequestsMin()
- Specified by:
getConnectionsRequestsMin
in interface Connector
- Returns:
- Returns the connectionsRequestsMin.
getConnections
public int getConnections()
- Specified by:
getConnections
in interface Connector
- Returns:
- Number of connections accepted by the server since
statsReset() called. Undefined if setStatsOn(false).
getConnectionsOpen
public int getConnectionsOpen()
- Specified by:
getConnectionsOpen
in interface Connector
- Returns:
- Number of connections currently open that were opened
since statsReset() called. Undefined if setStatsOn(false).
getConnectionsOpenMax
public int getConnectionsOpenMax()
- Specified by:
getConnectionsOpenMax
in interface Connector
- Returns:
- Maximum number of connections opened simultaneously
since statsReset() called. Undefined if setStatsOn(false).
getConnectionsDurationAve
public long getConnectionsDurationAve()
- Specified by:
getConnectionsDurationAve
in interface Connector
- Returns:
- Average duration in milliseconds of open connections
since statsReset() called. Undefined if setStatsOn(false).
getConnectionsDurationMax
public long getConnectionsDurationMax()
- Specified by:
getConnectionsDurationMax
in interface Connector
- Returns:
- Maximum duration in milliseconds of an open connection
since statsReset() called. Undefined if setStatsOn(false).
getConnectionsRequestsAve
public int getConnectionsRequestsAve()
- Specified by:
getConnectionsRequestsAve
in interface Connector
- Returns:
- Average number of requests per connection
since statsReset() called. Undefined if setStatsOn(false).
getConnectionsRequestsMax
public int getConnectionsRequestsMax()
- Specified by:
getConnectionsRequestsMax
in interface Connector
- Returns:
- Maximum number of requests per connection
since statsReset() called. Undefined if setStatsOn(false).
statsReset
public void statsReset()
- Reset statistics.
- Specified by:
statsReset
in interface Connector
setStatsOn
public void setStatsOn(boolean on)
- Specified by:
setStatsOn
in interface Connector
getStatsOn
public boolean getStatsOn()
- Specified by:
getStatsOn
in interface Connector
- Returns:
- True if statistics collection is turned on.
getStatsOnMs
public long getStatsOnMs()
- Specified by:
getStatsOnMs
in interface Connector
- Returns:
- Timestamp stats were started at.
connectionOpened
protected void connectionOpened(HttpConnection connection)
connectionClosed
protected void connectionClosed(HttpConnection connection)