org.apache.commons.httpclient.params
Class HttpConnectionParams

java.lang.Object
  extended by org.apache.commons.httpclient.params.DefaultHttpParams
      extended by org.apache.commons.httpclient.params.HttpConnectionParams
All Implemented Interfaces:
Serializable, Cloneable, HttpParams
Direct Known Subclasses:
HttpConnectionManagerParams

public class HttpConnectionParams
extends DefaultHttpParams

This class represents a collection of HTTP protocol parameters applicable to HTTP connections. Protocol parameters may be linked together to form a hierarchy. If a particular parameter value has not been explicitly defined in the collection itself, its value will be drawn from the parent collection of parameters.

Since:
3.0
Version:
$Revision: 155418 $
Author:
Oleg Kalnichevski
See Also:
Serialized Form

Field Summary
static String CONNECTION_TIMEOUT
          Determines the timeout until a connection is etablished.
static String SO_LINGER
          Sets SO_LINGER with the specified linger time in seconds.
static String SO_RCVBUF
          Determines a hint the size of the underlying buffers used by the platform for incoming network I/O.
static String SO_SNDBUF
          Determines a hint the size of the underlying buffers used by the platform for outgoing network I/O.
static String SO_TIMEOUT
          Defines the default socket timeout (SO_TIMEOUT) in milliseconds which is the timeout for waiting for data.
static String STALE_CONNECTION_CHECK
          Determines whether stale connection check is to be used.
static String TCP_NODELAY
          Determines whether Nagle's algorithm is to be used.
 
Constructor Summary
HttpConnectionParams()
          Creates a new collection of parameters with the collection returned by DefaultHttpParams.getDefaultParams() as a parent.
 
Method Summary
 int getConnectionTimeout()
          Returns the timeout until a connection is etablished.
 int getLinger()
          Returns linger-on-close timeout.
 int getReceiveBufferSize()
          Returns a hint the size of the underlying buffers used by the platform for incoming network I/O.
 int getSendBufferSize()
          Returns a hint the size of the underlying buffers used by the platform for outgoing network I/O.
 int getSoTimeout()
          Returns the default socket timeout (SO_TIMEOUT) in milliseconds which is the timeout for waiting for data.
 boolean getTcpNoDelay()
          Tests if Nagle's algorithm is to be used.
 boolean isStaleCheckingEnabled()
          Tests whether stale connection check is to be used.
 void setConnectionTimeout(int timeout)
          Sets the timeout until a connection is etablished.
 void setLinger(int value)
          Returns linger-on-close timeout.
 void setReceiveBufferSize(int size)
          Sets a hint the size of the underlying buffers used by the platform for incoming network I/O.
 void setSendBufferSize(int size)
          Sets a hint the size of the underlying buffers used by the platform for outgoing network I/O.
 void setSoTimeout(int timeout)
          Sets the default socket timeout (SO_TIMEOUT) in milliseconds which is the timeout for waiting for data.
 void setStaleCheckingEnabled(boolean value)
          Defines whether stale connection check is to be used.
 void setTcpNoDelay(boolean value)
          Determines whether Nagle's algorithm is to be used.
 
Methods inherited from class org.apache.commons.httpclient.params.DefaultHttpParams
clear, clone, getBooleanParameter, getDefaultParams, getDefaults, getDoubleParameter, getIntParameter, getLongParameter, getParameter, isParameterFalse, isParameterSet, isParameterSetLocally, isParameterTrue, setBooleanParameter, setDefaults, setDoubleParameter, setHttpParamsFactory, setIntParameter, setLongParameter, setParameter, setParameters
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SO_TIMEOUT

public static final String SO_TIMEOUT
Defines the default socket timeout (SO_TIMEOUT) in milliseconds which is the timeout for waiting for data. A timeout value of zero is interpreted as an infinite timeout. This value is used when no socket timeout is set in the HTTP method parameters.

This parameter expects a value of type Integer.

See Also:
SocketOptions.SO_TIMEOUT, Constant Field Values

TCP_NODELAY

public static final String TCP_NODELAY
Determines whether Nagle's algorithm is to be used. The Nagle's algorithm tries to conserve bandwidth by minimizing the number of segments that are sent. When applications wish to decrease network latency and increase performance, they can disable Nagle's algorithm (that is enable TCP_NODELAY). Data will be sent earlier, at the cost of an increase in bandwidth consumption.

This parameter expects a value of type Boolean.

See Also:
SocketOptions.TCP_NODELAY, Constant Field Values

SO_SNDBUF

public static final String SO_SNDBUF
Determines a hint the size of the underlying buffers used by the platform for outgoing network I/O. This value is a suggestion to the kernel from the application about the size of buffers to use for the data to be sent over the socket.

This parameter expects a value of type Integer.

See Also:
SocketOptions.SO_SNDBUF, Constant Field Values

SO_RCVBUF

public static final String SO_RCVBUF
Determines a hint the size of the underlying buffers used by the platform for incoming network I/O. This value is a suggestion to the kernel from the application about the size of buffers to use for the data to be received over the socket.

This parameter expects a value of type Integer.

See Also:
SocketOptions.SO_RCVBUF, Constant Field Values

SO_LINGER

public static final String SO_LINGER
Sets SO_LINGER with the specified linger time in seconds. The maximum timeout value is platform specific. Value 0 implies that the option is disabled. Value -1 implies that the JRE default is used. The setting only affects socket close.

This parameter expects a value of type Integer.

See Also:
SocketOptions.SO_LINGER, Constant Field Values

CONNECTION_TIMEOUT

public static final String CONNECTION_TIMEOUT
Determines the timeout until a connection is etablished. A value of zero means the timeout is not used. The default value is zero.

This parameter expects a value of type Integer.

See Also:
Constant Field Values

STALE_CONNECTION_CHECK

public static final String STALE_CONNECTION_CHECK
Determines whether stale connection check is to be used. Disabling stale connection check may result in slight performance improvement at the risk of getting an I/O error when executing a request over a connection that has been closed at the server side.

This parameter expects a value of type Boolean.

See Also:
Constant Field Values
Constructor Detail

HttpConnectionParams

public HttpConnectionParams()
Creates a new collection of parameters with the collection returned by DefaultHttpParams.getDefaultParams() as a parent. The collection will defer to its parent for a default value if a particular parameter is not explicitly set in the collection itself.

See Also:
DefaultHttpParams.getDefaultParams()
Method Detail

getSoTimeout

public int getSoTimeout()
Returns the default socket timeout (SO_TIMEOUT) in milliseconds which is the timeout for waiting for data. A timeout value of zero is interpreted as an infinite timeout. This value is used when no socket timeout is set in the HTTP method parameters.

Returns:
timeout in milliseconds

setSoTimeout

public void setSoTimeout(int timeout)
Sets the default socket timeout (SO_TIMEOUT) in milliseconds which is the timeout for waiting for data. A timeout value of zero is interpreted as an infinite timeout. This value is used when no socket timeout is set in the HTTP method parameters.

Parameters:
timeout - Timeout in milliseconds

setTcpNoDelay

public void setTcpNoDelay(boolean value)
Determines whether Nagle's algorithm is to be used. The Nagle's algorithm tries to conserve bandwidth by minimizing the number of segments that are sent. When applications wish to decrease network latency and increase performance, they can disable Nagle's algorithm (that is enable TCP_NODELAY). Data will be sent earlier, at the cost of an increase in bandwidth consumption.

Parameters:
value - true if the Nagle's algorithm is to NOT be used (that is enable TCP_NODELAY), false otherwise.

getTcpNoDelay

public boolean getTcpNoDelay()
Tests if Nagle's algorithm is to be used.

Returns:
true if the Nagle's algorithm is to NOT be used (that is enable TCP_NODELAY), false otherwise.

getSendBufferSize

public int getSendBufferSize()
Returns a hint the size of the underlying buffers used by the platform for outgoing network I/O. This value is a suggestion to the kernel from the application about the size of buffers to use for the data to be sent over the socket.

Returns:
the hint size of the send buffer

setSendBufferSize

public void setSendBufferSize(int size)
Sets a hint the size of the underlying buffers used by the platform for outgoing network I/O. This value is a suggestion to the kernel from the application about the size of buffers to use for the data to be sent over the socket.

Parameters:
size - the hint size of the send buffer

getReceiveBufferSize

public int getReceiveBufferSize()
Returns a hint the size of the underlying buffers used by the platform for incoming network I/O. This value is a suggestion to the kernel from the application about the size of buffers to use for the data to be received over the socket.

Returns:
the hint size of the send buffer

setReceiveBufferSize

public void setReceiveBufferSize(int size)
Sets a hint the size of the underlying buffers used by the platform for incoming network I/O. This value is a suggestion to the kernel from the application about the size of buffers to use for the data to be received over the socket.

Parameters:
size - the hint size of the send buffer

getLinger

public int getLinger()
Returns linger-on-close timeout. Value 0 implies that the option is disabled. Value -1 implies that the JRE default is used.

Returns:
the linger-on-close timeout

setLinger

public void setLinger(int value)
Returns linger-on-close timeout. This option disables/enables immediate return from a close() of a TCP Socket. Enabling this option with a non-zero Integer timeout means that a close() will block pending the transmission and acknowledgement of all data written to the peer, at which point the socket is closed gracefully. Value 0 implies that the option is disabled. Value -1 implies that the JRE default is used.

Parameters:
value - the linger-on-close timeout

getConnectionTimeout

public int getConnectionTimeout()
Returns the timeout until a connection is etablished. A value of zero means the timeout is not used. The default value is zero.

Returns:
timeout in milliseconds.

setConnectionTimeout

public void setConnectionTimeout(int timeout)
Sets the timeout until a connection is etablished. A value of zero means the timeout is not used. The default value is zero.

Parameters:
timeout - Timeout in milliseconds.

isStaleCheckingEnabled

public boolean isStaleCheckingEnabled()
Tests whether stale connection check is to be used. Disabling stale connection check may result in slight performance improvement at the risk of getting an I/O error when executing a request over a connection that has been closed at the server side.

Returns:
true if stale connection check is to be used, false otherwise.

setStaleCheckingEnabled

public void setStaleCheckingEnabled(boolean value)
Defines whether stale connection check is to be used. Disabling stale connection check may result in slight performance improvement at the risk of getting an I/O error when executing a request over a connection that has been closed at the server side.

Parameters:
value - true if stale connection check is to be used, false otherwise.


Copyright (c) 1999-2005 - Apache Software Foundation