1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.client.http;
20
21 import java.io.IOException;
22 import java.util.Map;
23
24 import org.eclipse.jetty.client.AbstractHttpClientTransport;
25 import org.eclipse.jetty.client.HttpDestination;
26 import org.eclipse.jetty.client.Origin;
27 import org.eclipse.jetty.client.api.Connection;
28 import org.eclipse.jetty.io.EndPoint;
29 import org.eclipse.jetty.util.Promise;
30
31 public class HttpClientTransportOverHTTP extends AbstractHttpClientTransport
32 {
33 public HttpClientTransportOverHTTP()
34 {
35 this(Math.max(1, Runtime.getRuntime().availableProcessors() / 2));
36 }
37
38 public HttpClientTransportOverHTTP(int selectors)
39 {
40 super(selectors);
41 }
42
43 @Override
44 public HttpDestination newHttpDestination(Origin origin)
45 {
46 return new HttpDestinationOverHTTP(getHttpClient(), origin);
47 }
48
49 @Override
50 public org.eclipse.jetty.io.Connection newConnection(EndPoint endPoint, Map<String, Object> context) throws IOException
51 {
52
53 HttpDestination destination = (HttpDestination)context.get(HTTP_DESTINATION_CONTEXT_KEY);
54 HttpConnectionOverHTTP connection = new HttpConnectionOverHTTP(endPoint, destination);
55 @SuppressWarnings("unchecked")
56 Promise<Connection> promise = (Promise<Connection>)context.get(HTTP_CONNECTION_PROMISE_CONTEXT_KEY);
57 promise.succeeded(connection);
58 return connection;
59 }
60 }