Wed, 31 Dec 2014 07:22:50 +0100
Correct previous dual key logic pending first delivery installment.
michael@0 | 1 | <html> |
michael@0 | 2 | <head> |
michael@0 | 3 | <!-- |
michael@0 | 4 | /* |
michael@0 | 5 | * ==================================================================== |
michael@0 | 6 | * Licensed to the Apache Software Foundation (ASF) under one |
michael@0 | 7 | * or more contributor license agreements. See the NOTICE file |
michael@0 | 8 | * distributed with this work for additional information |
michael@0 | 9 | * regarding copyright ownership. The ASF licenses this file |
michael@0 | 10 | * to you under the Apache License, Version 2.0 (the |
michael@0 | 11 | * "License"); you may not use this file except in compliance |
michael@0 | 12 | * with the License. You may obtain a copy of the License at |
michael@0 | 13 | * |
michael@0 | 14 | * http://www.apache.org/licenses/LICENSE-2.0 |
michael@0 | 15 | * |
michael@0 | 16 | * Unless required by applicable law or agreed to in writing, |
michael@0 | 17 | * software distributed under the License is distributed on an |
michael@0 | 18 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
michael@0 | 19 | * KIND, either express or implied. See the License for the |
michael@0 | 20 | * specific language governing permissions and limitations |
michael@0 | 21 | * under the License. |
michael@0 | 22 | * ==================================================================== |
michael@0 | 23 | * |
michael@0 | 24 | * This software consists of voluntary contributions made by many |
michael@0 | 25 | * individuals on behalf of the Apache Software Foundation. For more |
michael@0 | 26 | * information on the Apache Software Foundation, please see |
michael@0 | 27 | * <http://www.apache.org/>. |
michael@0 | 28 | * |
michael@0 | 29 | */ |
michael@0 | 30 | --> |
michael@0 | 31 | </head> |
michael@0 | 32 | <body> |
michael@0 | 33 | The client-side connection management and handling API that provides interfaces |
michael@0 | 34 | and implementations for opening and managing client side HTTP connections. |
michael@0 | 35 | <p> |
michael@0 | 36 | The lowest layer of connection handling is comprised of |
michael@0 | 37 | {@link org.apache.http.conn.OperatedClientConnection OperatedClientConnection} |
michael@0 | 38 | and |
michael@0 | 39 | {@link org.apache.http.conn.ClientConnectionOperator ClientConnectionOperator}. |
michael@0 | 40 | The connection interface extends the core |
michael@0 | 41 | {@link org.apache.http.HttpClientConnection HttpClientConnection} |
michael@0 | 42 | by operations to set and update a socket. An operator encapsulates the logic to |
michael@0 | 43 | open and layer sockets, typically using a |
michael@0 | 44 | {@link org.apache.http.conn.scheme.SocketFactory}. The socket factory for |
michael@0 | 45 | a protocol {@link org.apache.http.conn.scheme.Scheme} such as "http" or "https" |
michael@0 | 46 | can be looked up in a {@link org.apache.http.conn.scheme.SchemeRegistry}. |
michael@0 | 47 | Applications without a need for sophisticated connection management can use |
michael@0 | 48 | this layer directly. |
michael@0 | 49 | </p> |
michael@0 | 50 | <p> |
michael@0 | 51 | On top of that lies the connection management layer. A |
michael@0 | 52 | {@link org.apache.http.conn.ClientConnectionManager} internally manages |
michael@0 | 53 | operated connections, but hands out instances of |
michael@0 | 54 | {@link org.apache.http.conn.ManagedClientConnection}. |
michael@0 | 55 | This interface abstracts from the underlying socket operations and |
michael@0 | 56 | provides convenient methods for opening and updating sockets in order |
michael@0 | 57 | to establish a {@link org.apache.http.conn.routing.HttpRoute route}. |
michael@0 | 58 | The operator is encapsulated by the connection manager and called |
michael@0 | 59 | automatically. |
michael@0 | 60 | </p> |
michael@0 | 61 | <p> |
michael@0 | 62 | Connections obtained from a manager have to be returned after use. |
michael@0 | 63 | This can be {@link org.apache.http.conn.ConnectionReleaseTrigger triggered} |
michael@0 | 64 | on various levels, either by releasing the |
michael@0 | 65 | {@link org.apache.http.conn.ManagedClientConnection connection} directly, |
michael@0 | 66 | or by calling a method on |
michael@0 | 67 | an {@link org.apache.http.conn.BasicManagedEntity entity} received from |
michael@0 | 68 | the connection, or by closing the |
michael@0 | 69 | {@link org.apache.http.conn.EofSensorInputStream stream} from which |
michael@0 | 70 | that entity is being read. |
michael@0 | 71 | </p> |
michael@0 | 72 | <p> |
michael@0 | 73 | Connection managers will try to keep returned connections alive in |
michael@0 | 74 | order to re-use them for subsequent requests along the same route. |
michael@0 | 75 | The managed connection interface and all triggers for connection release |
michael@0 | 76 | provide methods to enable or disable this behavior. |
michael@0 | 77 | </p> |
michael@0 | 78 | |
michael@0 | 79 | </body> |
michael@0 | 80 | </html> |