org.apache.commons.httpclient.params

Class HttpConnectionParams

Implemented Interfaces:
Cloneable, HttpParams, Serializable
Known Direct 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.
Version:
$Revision: 155418 $
Author:
Oleg Kalnichevski
Since:
3.0

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 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

Field Details

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.


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:
java.net.SocketOptions.SO_LINGER

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:
java.net.SocketOptions.SO_RCVBUF

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:
java.net.SocketOptions.SO_SNDBUF

SO_TIMEOUT

public static final String SO_TIMEOUT
See Also:
java.net.SocketOptions.SO_TIMEOUT

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.


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:
java.net.SocketOptions.TCP_NODELAY

Constructor Details

HttpConnectionParams

public HttpConnectionParams()
Creates a new collection of parameters with the collection returned by 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.

Method Details

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.

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

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

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

getSoTimeout

public int getSoTimeout()
Returns:
timeout in milliseconds

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.

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.

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.

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

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

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

setSoTimeout

public void setSoTimeout(int timeout)
Parameters:
timeout - Timeout in milliseconds

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.

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.

Copyright (c) 1999-2005 - Apache Software Foundation