1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.websocket.jsr356;
20
21 import java.net.URI;
22
23 import org.eclipse.jetty.util.log.Log;
24 import org.eclipse.jetty.util.log.Logger;
25 import org.eclipse.jetty.websocket.common.LogicalConnection;
26 import org.eclipse.jetty.websocket.common.SessionFactory;
27 import org.eclipse.jetty.websocket.common.WebSocketSession;
28 import org.eclipse.jetty.websocket.common.events.EventDriver;
29 import org.eclipse.jetty.websocket.jsr356.endpoints.AbstractJsrEventDriver;
30
31 public class JsrSessionFactory implements SessionFactory
32 {
33 private static final Logger LOG = Log.getLogger(JsrSessionFactory.class);
34 private final ClientContainer container;
35
36 public JsrSessionFactory(ClientContainer container)
37 {
38 if(LOG.isDebugEnabled()) {
39 LOG.debug("Container: {}", container);
40 }
41 this.container = container;
42 }
43
44 @Override
45 public WebSocketSession createSession(URI requestURI, EventDriver websocket, LogicalConnection connection)
46 {
47 return new JsrSession(container,connection.getId(),requestURI,websocket,connection);
48 }
49
50 @Override
51 public boolean supports(EventDriver websocket)
52 {
53 return (websocket instanceof AbstractJsrEventDriver);
54 }
55 }