View Javadoc
1   /*
2    * ====================================================================
3    * Licensed to the Apache Software Foundation (ASF) under one
4    * or more contributor license agreements.  See the NOTICE file
5    * distributed with this work for additional information
6    * regarding copyright ownership.  The ASF licenses this file
7    * to you under the Apache License, Version 2.0 (the
8    * "License"); you may not use this file except in compliance
9    * with the License.  You may obtain a copy of the License at
10   *
11   *   http://www.apache.org/licenses/LICENSE-2.0
12   *
13   * Unless required by applicable law or agreed to in writing,
14   * software distributed under the License is distributed on an
15   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16   * KIND, either express or implied.  See the License for the
17   * specific language governing permissions and limitations
18   * under the License.
19   * ====================================================================
20   *
21   * This software consists of voluntary contributions made by many
22   * individuals on behalf of the Apache Software Foundation.  For more
23   * information on the Apache Software Foundation, please see
24   * <http://www.apache.org/>.
25   *
26   */
27  
28  package org.apache.http.params;
29  
30  /**
31   * Defines parameter names for connections in HttpCore.
32   *
33   * @since 4.0
34   *
35   * @deprecated (4.3) use configuration classes provided 'org.apache.http.config'
36   *  and 'org.apache.http.client.config'
37   */
38  @Deprecated
39  public interface CoreConnectionPNames {
40  
41      /**
42       * Defines the socket timeout ({@code SO_TIMEOUT}) in milliseconds,
43       * which is the timeout for waiting for data  or, put differently,
44       * a maximum period inactivity between two consecutive data packets).
45       * A timeout value of zero is interpreted as an infinite timeout.
46       * <p>
47       * This parameter expects a value of type {@link Integer}.
48       * </p>
49       * @see java.net.SocketOptions#SO_TIMEOUT
50       */
51      String SO_TIMEOUT = "http.socket.timeout";
52  
53      /**
54       * Determines whether Nagle's algorithm is to be used. The Nagle's algorithm
55       * tries to conserve bandwidth by minimizing the number of segments that are
56       * sent. When applications wish to decrease network latency and increase
57       * performance, they can disable Nagle's algorithm (that is enable
58       * TCP_NODELAY). Data will be sent earlier, at the cost of an increase
59       * in bandwidth consumption.
60       * <p>
61       * This parameter expects a value of type {@link Boolean}.
62       * </p>
63       * @see java.net.SocketOptions#TCP_NODELAY
64       */
65      String TCP_NODELAY = "http.tcp.nodelay";
66  
67      /**
68       * Determines the size of the internal socket buffer used to buffer data
69       * while receiving / transmitting HTTP messages.
70       * <p>
71       * This parameter expects a value of type {@link Integer}.
72       * </p>
73       */
74      String SOCKET_BUFFER_SIZE = "http.socket.buffer-size";
75  
76      /**
77       * Sets SO_LINGER with the specified linger time in seconds. The maximum
78       * timeout value is platform specific. Value {@code 0} implies that
79       * the option is disabled. Value {@code -1} implies that the JRE
80       * default is used. The setting only affects the socket close operation.
81       * <p>
82       * This parameter expects a value of type {@link Integer}.
83       * </p>
84       * @see java.net.SocketOptions#SO_LINGER
85       */
86      String SO_LINGER = "http.socket.linger";
87  
88      /**
89       * Defines whether the socket can be bound even though a previous connection is
90       * still in a timeout state.
91       * <p>
92       * This parameter expects a value of type {@link Boolean}.
93       * </p>
94       * @see java.net.Socket#setReuseAddress(boolean)
95       *
96       * @since 4.1
97       */
98      String SO_REUSEADDR = "http.socket.reuseaddr";
99  
100     /**
101      * Determines the timeout in milliseconds until a connection is established.
102      * A timeout value of zero is interpreted as an infinite timeout.
103      * <p>
104      * Please note this parameter can only be applied to connections that
105      * are bound to a particular local address.
106      * <p>
107      * This parameter expects a value of type {@link Integer}.
108      * </p>
109      */
110     String CONNECTION_TIMEOUT = "http.connection.timeout";
111 
112     /**
113      * Determines whether stale connection check is to be used. The stale
114      * connection check can cause up to 30 millisecond overhead per request and
115      * should be used only when appropriate. For performance critical
116      * operations this check should be disabled.
117      * <p>
118      * This parameter expects a value of type {@link Boolean}.
119      * </p>
120      */
121     String STALE_CONNECTION_CHECK = "http.connection.stalecheck";
122 
123     /**
124      * Determines the maximum line length limit. If set to a positive value,
125      * any HTTP line exceeding this limit will cause an IOException. A negative
126      * or zero value will effectively disable the check.
127      * <p>
128      * This parameter expects a value of type {@link Integer}.
129      * </p>
130      */
131     String MAX_LINE_LENGTH = "http.connection.max-line-length";
132 
133     /**
134      * Determines the maximum HTTP header count allowed. If set to a positive
135      * value, the number of HTTP headers received from the data stream exceeding
136      * this limit will cause an IOException. A negative or zero value will
137      * effectively disable the check.
138      * <p>
139      * This parameter expects a value of type {@link Integer}.
140      * </p>
141      */
142     String MAX_HEADER_COUNT = "http.connection.max-header-count";
143 
144     /**
145      * Defines the size limit below which data chunks should be buffered in a session I/O buffer
146      * in order to minimize native method invocations on the underlying network socket.
147      * The optimal value of this parameter can be platform specific and defines a trade-off
148      * between performance of memory copy operations and that of native method invocation.
149      * <p>
150      * This parameter expects a value of type {@link Integer}.
151      * </p>
152      *
153      * @since 4.1
154      */
155     String MIN_CHUNK_LIMIT = "http.connection.min-chunk-limit";
156 
157 
158     /**
159      * Defines whether or not TCP is to send automatically a keepalive probe to the peer
160      * after an interval of inactivity (no data exchanged in either direction) between this
161      * host and the peer. The purpose of this option is to detect if the peer host crashes.
162      * <p>
163      * This parameter expects a value of type {@link Boolean}.
164      * </p>
165      * @see java.net.SocketOptions#SO_KEEPALIVE
166      * @since 4.2
167      */
168     String SO_KEEPALIVE = "http.socket.keepalive";
169 
170 }