13bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath/*
23bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * $HeadURL: http://svn.apache.org/repos/asf/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params/CoreConnectionPNames.java $
33bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * $Revision: 576077 $
43bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * $Date: 2007-09-16 04:50:22 -0700 (Sun, 16 Sep 2007) $
53bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *
63bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * ====================================================================
73bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * Licensed to the Apache Software Foundation (ASF) under one
83bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * or more contributor license agreements.  See the NOTICE file
93bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * distributed with this work for additional information
103bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * regarding copyright ownership.  The ASF licenses this file
113bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * to you under the Apache License, Version 2.0 (the
123bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * "License"); you may not use this file except in compliance
133bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * with the License.  You may obtain a copy of the License at
143bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *
153bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *   http://www.apache.org/licenses/LICENSE-2.0
163bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *
173bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * Unless required by applicable law or agreed to in writing,
183bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * software distributed under the License is distributed on an
193bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
203bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * KIND, either express or implied.  See the License for the
213bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * specific language governing permissions and limitations
223bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * under the License.
233bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * ====================================================================
243bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *
253bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * This software consists of voluntary contributions made by many
263bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * individuals on behalf of the Apache Software Foundation.  For more
273bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * information on the Apache Software Foundation, please see
283bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * <http://www.apache.org/>.
293bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *
303bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath */
313bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
323bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamathpackage org.apache.http.params;
333bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
343bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
353bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath/**
363bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * Defines parameter names for connections in HttpCore.
373bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *
383bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * @version $Revision: 576077 $
393bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *
403bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * @since 4.0
413bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *
423bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * @deprecated Please use {@link java.net.URL#openConnection} instead.
433bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *     Please visit <a href="http://android-developers.blogspot.com/2011/09/androids-http-clients.html">this webpage</a>
443bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *     for further details.
453bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath */
463bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath@Deprecated
473bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamathpublic interface CoreConnectionPNames {
483bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
493bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
503bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Defines the default socket timeout (<tt>SO_TIMEOUT</tt>) in milliseconds which is the
513bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * timeout for waiting for data. A timeout value of zero is interpreted as an infinite
523bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * timeout. This value is used when no socket timeout is set in the
533bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * method parameters.
543bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * <p>
553bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * This parameter expects a value of type {@link Integer}.
563bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * </p>
573bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @see java.net.SocketOptions#SO_TIMEOUT
583bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
593bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    public static final String SO_TIMEOUT = "http.socket.timeout";
603bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
613bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
623bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Determines whether Nagle's algorithm is to be used. The Nagle's algorithm
633bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * tries to conserve bandwidth by minimizing the number of segments that are
643bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * sent. When applications wish to decrease network latency and increase
653bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * performance, they can disable Nagle's algorithm (that is enable TCP_NODELAY).
663bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Data will be sent earlier, at the cost of an increase in bandwidth consumption.
673bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * <p>
683bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * This parameter expects a value of type {@link Boolean}.
693bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * </p>
703bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @see java.net.SocketOptions#TCP_NODELAY
713bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
723bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    public static final String TCP_NODELAY = "http.tcp.nodelay";
733bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
743bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
753bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Determines the size of the internal socket buffer used to buffer data
763bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * while receiving / transmitting HTTP messages.
773bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * <p>
783bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * This parameter expects a value of type {@link Integer}.
793bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * </p>
803bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
813bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    public static final String SOCKET_BUFFER_SIZE = "http.socket.buffer-size";
823bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
833bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
843bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Sets SO_LINGER with the specified linger time in seconds. The maximum timeout
853bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * value is platform specific. Value <tt>0</tt> implies that the option is disabled.
863bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Value <tt>-1</tt> implies that the JRE default is used. The setting only affects
873bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * socket close.
883bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * <p>
893bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * This parameter expects a value of type {@link Integer}.
903bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * </p>
913bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @see java.net.SocketOptions#SO_LINGER
923bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
933bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    public static final String SO_LINGER = "http.socket.linger";
943bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
953bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
963bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Determines the timeout until a connection is etablished. A value of zero
973bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * means the timeout is not used. The default value is zero.
983bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * <p>
993bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * This parameter expects a value of type {@link Integer}.
1003bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * </p>
1013bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
1023bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    public static final String CONNECTION_TIMEOUT = "http.connection.timeout";
1033bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
1043bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
1053bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Determines whether stale connection check is to be used. Disabling
1063bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * stale connection check may result in slight performance improvement
1073bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * at the risk of getting an I/O error when executing a request over a
1083bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * connection that has been closed at the server side.
1093bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * <p>
1103bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * This parameter expects a value of type {@link Boolean}.
1113bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * </p>
1123bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
1133bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    public static final String STALE_CONNECTION_CHECK = "http.connection.stalecheck";
1143bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
1153bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
1163bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Determines the maximum line length limit. If set to a positive value, any HTTP
1173bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * line exceeding this limit will cause an IOException. A negative or zero value
1183bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * will effectively disable the check.
1193bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * <p>
1203bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * This parameter expects a value of type {@link Integer}.
1213bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * </p>
1223bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
1233bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    public static final String MAX_LINE_LENGTH = "http.connection.max-line-length";
1243bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
1253bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
1263bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Determines the maximum HTTP header count allowed. If set to a positive value,
1273bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * the number of HTTP headers received from the data stream exceeding this limit
1283bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * will cause an IOException. A negative or zero value will effectively disable
1293bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * the check.
1303bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * <p>
1313bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * This parameter expects a value of type {@link Integer}.
1323bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * </p>
1333bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
1343bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    public static final String MAX_HEADER_COUNT = "http.connection.max-header-count";
1353bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
1363bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath}
137