org.apache.coyote.http11
Class Http11Protocol

java.lang.Object
  |
  +--org.apache.coyote.http11.Http11Protocol
All Implemented Interfaces:
javax.management.MBeanRegistration, org.apache.coyote.ProtocolHandler

public class Http11Protocol
extends java.lang.Object
implements org.apache.coyote.ProtocolHandler, javax.management.MBeanRegistration

Abstract the protocol implementation, including threading, etc. Processor is single threaded and specific to stream-based protocols, will not fit Jk protocols like JNI.

Author:
Remy Maucherat, Costin Manolache

Nested Class Summary
(package private) static class Http11Protocol.Http11ConnectionHandler
           
 
Field Summary
(package private)  org.apache.coyote.Adapter adapter
           
protected  java.util.Hashtable attributes
           
(package private)  Http11Protocol.Http11ConnectionHandler cHandler
           
private  java.lang.String compression
           
private  boolean disableUploadTimeout
           
protected  java.lang.String domain
           
protected  org.apache.tomcat.util.net.PoolTcpEndpoint ep
           
protected static org.apache.commons.logging.Log log
           
private  int maxKeepAliveRequests
           
protected  javax.management.MBeanServer mserver
           
protected  javax.management.ObjectName oname
           
private  java.lang.String reportedname
           
protected  boolean secure
           
protected static org.apache.tomcat.util.res.StringManager sm
          The string manager for this package.
private  int socketCloseDelay
           
protected  org.apache.tomcat.util.net.ServerSocketFactory socketFactory
           
protected  java.lang.String socketFactoryName
           
protected  org.apache.tomcat.util.net.SSLImplementation sslImplementation
           
protected  java.lang.String sslImplementationName
           
private  int timeout
           
protected  org.apache.tomcat.util.threads.ThreadPool tp
           
 
Constructor Summary
Http11Protocol()
           
 
Method Summary
private  void checkSocketFactory()
          Sanity check and socketFactory setup.
 void destroy()
           
 org.apache.coyote.Adapter getAdapter()
           
 java.lang.Object getAttribute(java.lang.String key)
           
 java.lang.String getDomain()
           
 javax.management.ObjectName getObjectName()
           
 void init()
          Start the protocol
 void postDeregister()
           
 void postRegister(java.lang.Boolean registrationDone)
           
 void preDeregister()
           
 javax.management.ObjectName preRegister(javax.management.MBeanServer server, javax.management.ObjectName name)
           
 void setAdapter(org.apache.coyote.Adapter adapter)
          The adapter, used to call the connector
 void setAddress(java.net.InetAddress ia)
           
 void setAlgorithm(java.lang.String k)
           
 void setAttribute(java.lang.String name, java.lang.Object value)
          Pass config info
 void setBacklog(int i)
           
 void setClientauth(java.lang.String k)
           
 void setCompression(java.lang.String valueS)
           
 void setDisableUploadTimeout(boolean isDisabled)
           
 void setHostName(java.lang.String name)
           
 void setKeypass(java.lang.String k)
           
 void setKeystore(java.lang.String k)
           
 void setKeytype(java.lang.String k)
           
 void setMaxKeepAliveRequests(int mkar)
          Set the maximum number of Keep-Alive requests that we will honor.
 void setMaxSpareThreads(int maxThreads)
           
 void setMaxThreads(int maxThreads)
           
 void setMinSpareThreads(int minSpareThreads)
           
 void setPools(boolean t)
           
 void setPort(int port)
           
 void setProtocol(java.lang.String k)
           
 void setReportedname(java.lang.String reportedName)
           
 void setSecure(boolean b)
           
 void setServerSoTimeout(int i)
           
 void setSocketCloseDelay(int d)
           
 void setSocketFactory(java.lang.String valueS)
           
 void setSoLinger(int i)
           
 void setSoTimeout(int i)
           
 void setSSLImplementation(java.lang.String valueS)
           
 void setTcpNoDelay(boolean b)
           
 void setTimeout(int timeouts)
           
 void start()
           
private static org.apache.tomcat.util.net.ServerSocketFactory string2SocketFactory(java.lang.String val)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sm

protected static org.apache.tomcat.util.res.StringManager sm
The string manager for this package.


adapter

org.apache.coyote.Adapter adapter

cHandler

Http11Protocol.Http11ConnectionHandler cHandler

tp

protected org.apache.tomcat.util.threads.ThreadPool tp

ep

protected org.apache.tomcat.util.net.PoolTcpEndpoint ep

secure

protected boolean secure

socketFactory

protected org.apache.tomcat.util.net.ServerSocketFactory socketFactory

sslImplementation

protected org.apache.tomcat.util.net.SSLImplementation sslImplementation

attributes

protected java.util.Hashtable attributes

socketFactoryName

protected java.lang.String socketFactoryName

sslImplementationName

protected java.lang.String sslImplementationName

maxKeepAliveRequests

private int maxKeepAliveRequests

timeout

private int timeout

reportedname

private java.lang.String reportedname

socketCloseDelay

private int socketCloseDelay

disableUploadTimeout

private boolean disableUploadTimeout

compression

private java.lang.String compression

log

protected static org.apache.commons.logging.Log log

domain

protected java.lang.String domain

oname

protected javax.management.ObjectName oname

mserver

protected javax.management.MBeanServer mserver
Constructor Detail

Http11Protocol

public Http11Protocol()
Method Detail

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object value)
Pass config info

Specified by:
setAttribute in interface org.apache.coyote.ProtocolHandler

getAttribute

public java.lang.Object getAttribute(java.lang.String key)
Specified by:
getAttribute in interface org.apache.coyote.ProtocolHandler

setAdapter

public void setAdapter(org.apache.coyote.Adapter adapter)
The adapter, used to call the connector

Specified by:
setAdapter in interface org.apache.coyote.ProtocolHandler

getAdapter

public org.apache.coyote.Adapter getAdapter()
Specified by:
getAdapter in interface org.apache.coyote.ProtocolHandler

init

public void init()
          throws java.lang.Exception
Start the protocol

Specified by:
init in interface org.apache.coyote.ProtocolHandler
java.lang.Exception

start

public void start()
           throws java.lang.Exception
Specified by:
start in interface org.apache.coyote.ProtocolHandler
java.lang.Exception

destroy

public void destroy()
             throws java.lang.Exception
Specified by:
destroy in interface org.apache.coyote.ProtocolHandler
java.lang.Exception

setPools

public void setPools(boolean t)

setMaxThreads

public void setMaxThreads(int maxThreads)

setMaxSpareThreads

public void setMaxSpareThreads(int maxThreads)

setMinSpareThreads

public void setMinSpareThreads(int minSpareThreads)

setBacklog

public void setBacklog(int i)

setPort

public void setPort(int port)

setAddress

public void setAddress(java.net.InetAddress ia)

setHostName

public void setHostName(java.lang.String name)

setSocketFactory

public void setSocketFactory(java.lang.String valueS)

setSSLImplementation

public void setSSLImplementation(java.lang.String valueS)

setTcpNoDelay

public void setTcpNoDelay(boolean b)

setDisableUploadTimeout

public void setDisableUploadTimeout(boolean isDisabled)

setCompression

public void setCompression(java.lang.String valueS)

setSoLinger

public void setSoLinger(int i)

setSoTimeout

public void setSoTimeout(int i)

setServerSoTimeout

public void setServerSoTimeout(int i)

setKeystore

public void setKeystore(java.lang.String k)

setKeypass

public void setKeypass(java.lang.String k)

setKeytype

public void setKeytype(java.lang.String k)

setClientauth

public void setClientauth(java.lang.String k)

setProtocol

public void setProtocol(java.lang.String k)

setAlgorithm

public void setAlgorithm(java.lang.String k)

setSecure

public void setSecure(boolean b)

setMaxKeepAliveRequests

public void setMaxKeepAliveRequests(int mkar)
Set the maximum number of Keep-Alive requests that we will honor.


setSocketCloseDelay

public void setSocketCloseDelay(int d)

string2SocketFactory

private static org.apache.tomcat.util.net.ServerSocketFactory string2SocketFactory(java.lang.String val)
                                                                            throws java.lang.ClassNotFoundException,
                                                                                   java.lang.IllegalAccessException,
                                                                                   java.lang.InstantiationException
java.lang.ClassNotFoundException
java.lang.IllegalAccessException
java.lang.InstantiationException

setTimeout

public void setTimeout(int timeouts)

setReportedname

public void setReportedname(java.lang.String reportedName)

checkSocketFactory

private void checkSocketFactory()
                         throws java.lang.Exception
Sanity check and socketFactory setup. IMHO it is better to stop the show on a broken connector, then leave Tomcat running and broken.

Throws:
TomcatException - Unable to resolve classes
java.lang.Exception

getObjectName

public javax.management.ObjectName getObjectName()

getDomain

public java.lang.String getDomain()

preRegister

public javax.management.ObjectName preRegister(javax.management.MBeanServer server,
                                               javax.management.ObjectName name)
                                        throws java.lang.Exception
Specified by:
preRegister in interface javax.management.MBeanRegistration
java.lang.Exception

postRegister

public void postRegister(java.lang.Boolean registrationDone)
Specified by:
postRegister in interface javax.management.MBeanRegistration

preDeregister

public void preDeregister()
                   throws java.lang.Exception
Specified by:
preDeregister in interface javax.management.MBeanRegistration
java.lang.Exception

postDeregister

public void postDeregister()
Specified by:
postDeregister in interface javax.management.MBeanRegistration


Copyright (c) 2001 - Apache Software Foundation