1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.spdy.client;
20
21 import java.io.IOException;
22 import java.util.Map;
23 import java.util.concurrent.Executor;
24 import javax.net.ssl.SSLEngine;
25
26 import org.eclipse.jetty.io.ClientConnectionFactory;
27 import org.eclipse.jetty.io.Connection;
28 import org.eclipse.jetty.io.EndPoint;
29 import org.eclipse.jetty.io.NegotiatingClientConnectionFactory;
30 import org.eclipse.jetty.io.ssl.SslClientConnectionFactory;
31
32 public class NPNClientConnectionFactory extends NegotiatingClientConnectionFactory
33 {
34 private final Executor executor;
35 private final String protocol;
36
37 public NPNClientConnectionFactory(Executor executor, ClientConnectionFactory connectionFactory, String protocol)
38 {
39 super(connectionFactory);
40 this.executor = executor;
41 this.protocol = protocol;
42 }
43
44 @Override
45 public Connection newConnection(EndPoint endPoint, Map<String, Object> context) throws IOException
46 {
47 return new NPNClientConnection(endPoint, executor, getClientConnectionFactory(),
48 (SSLEngine)context.get(SslClientConnectionFactory.SSL_ENGINE_CONTEXT_KEY), context, protocol);
49 }
50 }