You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2013/01/25 13:36:33 UTC

svn commit: r1438471 - in /tomcat/trunk/java: javax/websocket/Session.java org/apache/tomcat/websocket/WsSession.java org/apache/tomcat/websocket/WsWebSocketContainer.java org/apache/tomcat/websocket/server/WsProtocolHandler.java

Author: markt
Date: Fri Jan 25 12:36:33 2013
New Revision: 1438471

URL: http://svn.apache.org/viewvc?rev=1438471&view=rev
Log:
Implement Session#getContainer() for client and server

Modified:
    tomcat/trunk/java/javax/websocket/Session.java
    tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java
    tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
    tomcat/trunk/java/org/apache/tomcat/websocket/server/WsProtocolHandler.java

Modified: tomcat/trunk/java/javax/websocket/Session.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/websocket/Session.java?rev=1438471&r1=1438470&r2=1438471&view=diff
==============================================================================
--- tomcat/trunk/java/javax/websocket/Session.java (original)
+++ tomcat/trunk/java/javax/websocket/Session.java Fri Jan 25 12:36:33 2013
@@ -25,6 +25,9 @@ import java.util.Set;
 
 public interface Session {
 
+    /**
+     * Returns the container that created this session.
+     */
     WebSocketContainer getContainer();
 
     void addMessageHandler(MessageHandler listener)

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java?rev=1438471&r1=1438470&r2=1438471&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java Fri Jan 25 12:36:33 2013
@@ -46,6 +46,7 @@ public class WsSession implements Sessio
     private final Endpoint localEndpoint;
     private final WsRemoteEndpointBase wsRemoteEndpoint;
     private final ClassLoader applicationClassLoader;
+    private final WebSocketContainer webSocketContainer;
 
     private MessageHandler textMessageHandler = null;
     private MessageHandler binaryMessageHandler = null;
@@ -65,17 +66,18 @@ public class WsSession implements Sessio
      * @param wsRemoteEndpoint
      */
     public WsSession(Endpoint localEndpoint,
-            WsRemoteEndpointBase wsRemoteEndpoint) {
+            WsRemoteEndpointBase wsRemoteEndpoint,
+            WebSocketContainer webSocketContainer) {
         this.localEndpoint = localEndpoint;
         this.wsRemoteEndpoint = wsRemoteEndpoint;
+        this.webSocketContainer = webSocketContainer;
         applicationClassLoader = Thread.currentThread().getContextClassLoader();
     }
 
 
     @Override
     public WebSocketContainer getContainer() {
-        // TODO Auto-generated method stub
-        return null;
+        return webSocketContainer;
     }
 
 

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java?rev=1438471&r1=1438470&r2=1438471&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java Fri Jan 25 12:36:33 2013
@@ -145,7 +145,8 @@ public class WsWebSocketContainer implem
                     "wsWebSocketContainer.endpointCreateFail", clazz.getName()),
                     e);
         }
-        WsSession wsSession = new WsSession(endpoint, wsRemoteEndpointClient);
+        WsSession wsSession =
+                new WsSession(endpoint, wsRemoteEndpointClient, this);
 
         endpoint.onOpen(wsSession, clientEndpointConfiguration);
 

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsProtocolHandler.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsProtocolHandler.java?rev=1438471&r1=1438470&r2=1438471&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsProtocolHandler.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsProtocolHandler.java Fri Jan 25 12:36:33 2013
@@ -50,8 +50,7 @@ public class WsProtocolHandler implement
     private final Endpoint ep;
     private final EndpointConfiguration endpointConfig;
     private final ClassLoader applicationClassLoader;
-    private final int binaryBufferSize;
-    private final int textBufferSize;
+    private final WebSocketContainer webSocketContainer;
 
     private WsSession wsSession;
 
@@ -61,9 +60,8 @@ public class WsProtocolHandler implement
             WebSocketContainer wsc) {
         this.ep = ep;
         this.endpointConfig = endpointConfig;
+        this.webSocketContainer = wsc;
         applicationClassLoader = Thread.currentThread().getContextClassLoader();
-        binaryBufferSize = (int) wsc.getMaxBinaryMessageBufferSize();
-        textBufferSize = (int) wsc.getMaxTextMessageBufferSize();
     }
 
 
@@ -87,9 +85,13 @@ public class WsProtocolHandler implement
         try {
             WsRemoteEndpointServer wsRemoteEndpointServer =
                     new WsRemoteEndpointServer(sos);
-            wsSession = new WsSession(ep, wsRemoteEndpointServer);
+            wsSession = new WsSession(
+                    ep, wsRemoteEndpointServer, webSocketContainer);
             WsFrameServer wsFrame = new WsFrameServer(
-                    sis, binaryBufferSize, textBufferSize, wsSession);
+                    sis,
+                    (int) webSocketContainer.getMaxBinaryMessageBufferSize(),
+                    (int) webSocketContainer.getMaxTextMessageBufferSize(),
+                    wsSession);
             sis.setReadListener(new WsReadListener(this, wsFrame));
             sos.setWriteListener(
                     new WsWriteListener(this, wsRemoteEndpointServer));



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org