1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.websocket.server;
20
21 import java.util.concurrent.Executor;
22
23 import org.eclipse.jetty.io.ByteBufferPool;
24 import org.eclipse.jetty.io.EndPoint;
25 import org.eclipse.jetty.util.thread.Scheduler;
26 import org.eclipse.jetty.websocket.core.api.WebSocketPolicy;
27 import org.eclipse.jetty.websocket.core.io.AbstractWebSocketConnection;
28
29 public class WebSocketServerConnection extends AbstractWebSocketConnection
30 {
31 private final WebSocketServerFactory factory;
32 private boolean connected;
33
34 public WebSocketServerConnection(EndPoint endp, Executor executor, Scheduler scheduler, WebSocketPolicy policy,
35 ByteBufferPool bufferPool, WebSocketServerFactory factory)
36 {
37 super(endp,executor,scheduler,policy,bufferPool);
38 this.factory = factory;
39 this.connected = false;
40 }
41
42 @Override
43 public void onClose()
44 {
45 super.onClose();
46 factory.sessionClosed(getSession());
47 }
48
49 @Override
50 public void onOpen()
51 {
52 if (!connected)
53 {
54 factory.sessionOpened(getSession());
55 connected = true;
56 }
57 super.onOpen();
58 }
59 }