1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 package org.apache.http.impl.conn;
28
29 import java.io.IOException;
30 import java.util.concurrent.TimeUnit;
31 import java.util.concurrent.atomic.AtomicLong;
32
33 import org.apache.commons.logging.Log;
34 import org.apache.http.conn.ClientConnectionOperator;
35 import org.apache.http.conn.OperatedClientConnection;
36 import org.apache.http.conn.routing.HttpRoute;
37 import org.apache.http.pool.AbstractConnPool;
38 import org.apache.http.pool.ConnFactory;
39
40
41
42
43
44
45 @Deprecated
46 class HttpConnPool extends AbstractConnPool<HttpRoute, OperatedClientConnection, HttpPoolEntry> {
47
48 private static final AtomicLong COUNTER = new AtomicLong();
49
50 private final Log log;
51 private final long timeToLive;
52 private final TimeUnit timeUnit;
53
54 public HttpConnPool(final Log log,
55 final ClientConnectionOperator connOperator,
56 final int defaultMaxPerRoute, final int maxTotal,
57 final long timeToLive, final TimeUnit timeUnit) {
58 super(new InternalConnFactory(connOperator), defaultMaxPerRoute, maxTotal);
59 this.log = log;
60 this.timeToLive = timeToLive;
61 this.timeUnit = timeUnit;
62 }
63
64 @Override
65 protected HttpPoolEntry createEntry(final HttpRoute route, final OperatedClientConnection conn) {
66 final String id = Long.toString(COUNTER.getAndIncrement());
67 return new HttpPoolEntry(this.log, id, route, conn, this.timeToLive, this.timeUnit);
68 }
69
70 static class InternalConnFactory implements ConnFactory<HttpRoute, OperatedClientConnection> {
71
72 private final ClientConnectionOperator connOperator;
73
74 InternalConnFactory(final ClientConnectionOperator connOperator) {
75 this.connOperator = connOperator;
76 }
77
78 @Override
79 public OperatedClientConnection create(final HttpRoute route) throws IOException {
80 return connOperator.createConnection();
81 }
82
83 }
84
85 }