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()
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
- Returns:
- The port to use when redirecting a request if a data constraint of confidential is
required. See
Constraint.getDataConstraint()
getConfidentialScheme
public String getConfidentialScheme()
- Specified by:
getConfidentialScheme in interface Connector
- Returns:
- The schema to use when redirecting a request if a data constraint of confidential is
required. See
Constraint.getDataConstraint()
isIntegral
public boolean isIntegral(Request request)
- Specified by:
isIntegral in interface Connector
- Parameters:
request - A request
- Returns:
- true if the request is integral. This normally means the https schema has been used.
getIntegralPort
public int getIntegralPort()
- Specified by:
getIntegralPort in interface Connector
- Returns:
- The port to use when redirecting a request if a data constraint of integral is
required. See
Constraint.getDataConstraint()
getIntegralScheme
public String getIntegralScheme()
- Specified by:
getIntegralScheme in interface Connector
- Returns:
- The schema to use when redirecting a request if a data constraint of integral is
required. See
Constraint.getDataConstraint()
isConfidential
public boolean isConfidential(Request request)
- Specified by:
isConfidential in interface Connector
- Parameters:
request - A request
- Returns:
- true if the request is confidential. This normally means the https schema has been used.
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)
getAcceptorPriorityOffset
public int getAcceptorPriorityOffset()
- Returns:
- the acceptorPriority
setAcceptorPriorityOffset
public void setAcceptorPriorityOffset(int offset)
- Set the priority offset of the acceptor threads. The priority is adjusted by
this amount (default 0) to either favour the acceptance of new threads and newly active
connections or to favour the handling of already dispatched connections.
- Parameters:
offset - the amount to alter the priority of the acceptor threads.
Copyright © 2007 Mort Bay Consulting. All Rights Reserved.