1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.eclipse.jetty.spdy.http;
21
22 import java.util.Collections;
23 import java.util.Map;
24
25 import org.eclipse.jetty.spdy.api.SPDY;
26 import org.eclipse.jetty.util.ssl.SslContextFactory;
27
28 public class HTTPSPDYServerConnector extends AbstractHTTPSPDYServerConnector
29 {
30 public HTTPSPDYServerConnector()
31 {
32 this(null, Collections.<Short, PushStrategy>emptyMap());
33 }
34
35 public HTTPSPDYServerConnector(Map<Short, PushStrategy> pushStrategies)
36 {
37 this(null, pushStrategies);
38 }
39
40 public HTTPSPDYServerConnector(SslContextFactory sslContextFactory)
41 {
42 this(sslContextFactory, Collections.<Short, PushStrategy>emptyMap());
43 }
44
45 public HTTPSPDYServerConnector(SslContextFactory sslContextFactory, Map<Short, PushStrategy> pushStrategies)
46 {
47
48
49 super(null, sslContextFactory);
50 clearAsyncConnectionFactories();
51
52 putAsyncConnectionFactory("spdy/3", new ServerHTTPSPDYAsyncConnectionFactory(SPDY.V3, getByteBufferPool(), getExecutor(), getScheduler(), this, getPushStrategy(SPDY.V3,pushStrategies)));
53
54 putAsyncConnectionFactory("spdy/2", new ServerHTTPSPDYAsyncConnectionFactory(SPDY.V2, getByteBufferPool(), getExecutor(), getScheduler(), this, getPushStrategy(SPDY.V2,pushStrategies)));
55
56 putAsyncConnectionFactory("http/1.1", new ServerHTTPAsyncConnectionFactory(this));
57
58 setDefaultAsyncConnectionFactory(getAsyncConnectionFactory("http/1.1"));
59 }
60
61 private PushStrategy getPushStrategy(short version, Map<Short, PushStrategy> pushStrategies)
62 {
63 PushStrategy pushStrategy = pushStrategies.get(version);
64 if(pushStrategy == null)
65 pushStrategy = new PushStrategy.None();
66 return pushStrategy;
67 }
68
69 }