BaseEndpoint (Tomcat API Documentation)
Keywords: org.apache.tomcat.util.net.BaseEndpoint class

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.tomcat.util.net
Class BaseEndpoint

    java.lang.Object
      org.apache.tomcat.util.net.BaseEndpoint

    public abstract class BaseEndpoint

extends java.lang.Object

APR tailored thread pool, providing the following services:

- Socket acceptor thread
- Socket poller thread
- Sendfile thread
- Worker threads pool

When switching to Java 5, there's an opportunity to use the virtual machine's thread pool.

Author:
  Mladen Turk, Remy Maucherat

Field Summary
`protected java.net.InetAddress` | `address` Address for the server socket.
`protected int` | `backlog` Allows the server developer to specify the backlog that should be used for server sockets.
`static java.lang.String` | `CERTIFICATE_KEY` The Request attribute key for the client certificate chain.
`static java.lang.String` | `CIPHER_SUITE_KEY` The Request attribute key for the cipher suite.
`protected int` | `curThreads` Current worker threads count.
`protected int` | `curThreadsBusy` Current worker threads busy count.
`protected boolean` | `daemon` The default is true - the created threads will be in daemon mode.
`protected java.util.concurrent.Executor` | `executor` External Executor based thread pool.
`protected boolean` | `initialized` Track the initialization state of the endpoint.
`static java.lang.String` | `KEY_SIZE_KEY` The Request attribute key for the key size.
`protected static Log` | `log`
`protected int` | `maxThreads` Maximum amount of worker threads.
`protected java.lang.String` | `name` Name of the thread pool, which will be used for naming child threads.
`protected boolean` | `paused` Will be set to true whenever the endpoint is paused.
`protected int` | `port` Server socket port.
`protected boolean` | `running` Running state of the endpoint.
`protected int` | `sequence` Sequence number used to generate thread names.
`static java.lang.String` | `SESSION_ID_KEY` The Request attribute key for the session id.
`protected static StringManager` | `sm`
`protected int` | `soLinger` Socket linger.
`protected int` | `soTimeout` Socket timeout.
`protected boolean` | `tcpNoDelay` Socket TCP no delay.
`protected int` | `threadPriority` Priority of the acceptor and poller threads.

Constructor Summary
`BaseEndpoint()`

Method Summary
`abstract void` | `destroy()` Deallocate APR memory pools, and close server socket.
`java.net.InetAddress` | `getAddress()`
`int` | `getBacklog()`
`int` | `getCurrentThreadCount()` Return the amount of threads that are managed by the pool.
`int` | `getCurrentThreadsBusy()` Return the amount of threads currently busy.
`boolean` | `getDaemon()`
`java.util.concurrent.Executor` | `getExecutor()`
`int` | `getMaxSpareThreads()` Dummy maxSpareThreads property.
`int` | `getMaxThreads()`
`int` | `getMinSpareThreads()` Dummy minSpareThreads property.
`java.lang.String` | `getName()`
`int` | `getPort()`
`protected int` | `getSequence()` Get a sequence number used for thread naming.
`int` | `getSoLinger()`
`int` | `getSoTimeout()`
`boolean` | `getTcpNoDelay()`
`int` | `getThreadPriority()`
`abstract void` | `init()` Initialize the endpoint.
`boolean` | `isPaused()` Return the state of the endpoint.
`boolean` | `isRunning()` Return the state of the endpoint.
`void` | `pause()` Pause the endpoint, which will make it stop accepting new sockets.
`void` | `resume()` Resume the endpoint, which will make it start accepting new sockets again.
`void` | `setAddress(java.net.InetAddress address)`
`void` | `setBacklog(int backlog)`
`void` | `setDaemon(boolean b)`
`void` | `setExecutor(java.util.concurrent.Executor executor)`
`void` | `setMaxThreads(int maxThreads)`
`void` | `setName(java.lang.String name)`
`void` | `setPort(int port)`
`void` | `setSoLinger(int soLinger)`
`void` | `setSoTimeout(int soTimeout)`
`void` | `setTcpNoDelay(boolean tcpNoDelay)`
`void` | `setThreadPriority(int threadPriority)`
`abstract void` | `start()` Start the APR endpoint, creating acceptor, poller and sendfile threads.
`abstract void` | `stop()` Stop the endpoint.
`protected void` | `unlockAccept()` Unlock the server socket accept using a bugus connection.

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

Field Detail

### log

    protected static Log log

### sm

    protected static StringManager sm

### CIPHER_SUITE_KEY

    public static final java.lang.String CIPHER_SUITE_KEY

  The Request attribute key for the cipher suite.

  See Also:
    Constant Field Values

### KEY_SIZE_KEY

    public static final java.lang.String KEY_SIZE_KEY

  The Request attribute key for the key size.

  See Also:
    Constant Field Values

### CERTIFICATE_KEY

    public static final java.lang.String CERTIFICATE_KEY

  The Request attribute key for the client certificate chain.

  See Also:
    Constant Field Values

### SESSION_ID_KEY

    public static final java.lang.String SESSION_ID_KEY

  The Request attribute key for the session id. This one is a Tomcat extension to the Servlet spec.

  See Also:
    Constant Field Values

### running

    protected volatile boolean running

  Running state of the endpoint.

### paused

    protected volatile boolean paused

  Will be set to true whenever the endpoint is paused.

### initialized

    protected boolean initialized

  Track the initialization state of the endpoint.

### curThreadsBusy

    protected int curThreadsBusy

  Current worker threads busy count.

### curThreads

    protected int curThreads

  Current worker threads count.

### sequence

    protected int sequence

  Sequence number used to generate thread names.

### executor

    protected java.util.concurrent.Executor executor

  External Executor based thread pool.

### maxThreads

    protected int maxThreads

  Maximum amount of worker threads.

### threadPriority

    protected int threadPriority

  Priority of the acceptor and poller threads.

### port

    protected int port

  Server socket port.

### address

    protected java.net.InetAddress address

  Address for the server socket.

### backlog

    protected int backlog

  Allows the server developer to specify the backlog that should be used for server sockets. By default, this value is 100.

### tcpNoDelay

    protected boolean tcpNoDelay

  Socket TCP no delay.

### soLinger

    protected int soLinger

  Socket linger.

### soTimeout

    protected int soTimeout

  Socket timeout.

### daemon

    protected boolean daemon

  The default is true - the created threads will be in daemon mode. If set to false, the control thread will not be daemon - and will keep the process alive.

### name

    protected java.lang.String name

  Name of the thread pool, which will be used for naming child threads.

Constructor Detail

### BaseEndpoint

    public BaseEndpoint()

Method Detail

### setExecutor

    public void setExecutor(java.util.concurrent.Executor executor)

### getExecutor

    public java.util.concurrent.Executor getExecutor()

### setMaxThreads

    public void setMaxThreads(int maxThreads)

### getMaxThreads

    public int getMaxThreads()

### setThreadPriority

    public void setThreadPriority(int threadPriority)

### getThreadPriority

    public int getThreadPriority()

### getPort

    public int getPort()

### setPort

    public void setPort(int port)

### getAddress

    public java.net.InetAddress getAddress()

### setAddress

    public void setAddress(java.net.InetAddress address)

### setBacklog

    public void setBacklog(int backlog)

### getBacklog

    public int getBacklog()

### getTcpNoDelay

    public boolean getTcpNoDelay()

### setTcpNoDelay

    public void setTcpNoDelay(boolean tcpNoDelay)

### getSoLinger

    public int getSoLinger()

### setSoLinger

    public void setSoLinger(int soLinger)

### getSoTimeout

    public int getSoTimeout()

### setSoTimeout

    public void setSoTimeout(int soTimeout)

### setDaemon

    public void setDaemon(boolean b)

### getDaemon

    public boolean getDaemon()

### setName

    public void setName(java.lang.String name)

### getName

    public java.lang.String getName()

### getMaxSpareThreads

    public int getMaxSpareThreads()

  Dummy maxSpareThreads property.

### getMinSpareThreads

    public int getMinSpareThreads()

  Dummy minSpareThreads property.

### getCurrentThreadCount

    public int getCurrentThreadCount()

  Return the amount of threads that are managed by the pool.

  Returns:
    the amount of threads that are managed by the pool

### getCurrentThreadsBusy

    public int getCurrentThreadsBusy()

  Return the amount of threads currently busy.

  Returns:
    the amount of threads currently busy

### isRunning

    public boolean isRunning()

  Return the state of the endpoint.

  Returns:
    true if the endpoint is running, false otherwise

### isPaused

    public boolean isPaused()

  Return the state of the endpoint.

  Returns:
    true if the endpoint is paused, false otherwise

### init

    public abstract void init()
                       throws java.lang.Exception

  Initialize the endpoint.

  Throws:
    `java.lang.Exception`

### start

    public abstract void start()
                        throws java.lang.Exception

  Start the APR endpoint, creating acceptor, poller and sendfile threads.

  Throws:
    `java.lang.Exception`

### pause

    public void pause()

  Pause the endpoint, which will make it stop accepting new sockets.

### resume

    public void resume()

  Resume the endpoint, which will make it start accepting new sockets again.

### stop

    public abstract void stop()

  Stop the endpoint. This will cause all processing threads to stop.

### destroy

    public abstract void destroy()
                          throws java.lang.Exception

  Deallocate APR memory pools, and close server socket.

  Throws:
    `java.lang.Exception`

### getSequence

    protected int getSequence()

  Get a sequence number used for thread naming.

### unlockAccept

    protected void unlockAccept()

  Unlock the server socket accept using a bugus connection.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.