You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by mw...@apache.org on 2009/11/18 03:29:58 UTC

svn commit: r881645 - in /mina/sandbox/mwebb/mina/src/main/java/org/apache/mina/spdy: SpdyServer.java handler/ handler/SpdyHandler.java

Author: mwebb
Date: Wed Nov 18 02:29:57 2009
New Revision: 881645

URL: http://svn.apache.org/viewvc?rev=881645&view=rev
Log:
Adding the IoHandler implementation for the SPDY protocol and a server implementation.

Added:
    mina/sandbox/mwebb/mina/src/main/java/org/apache/mina/spdy/SpdyServer.java
    mina/sandbox/mwebb/mina/src/main/java/org/apache/mina/spdy/handler/
    mina/sandbox/mwebb/mina/src/main/java/org/apache/mina/spdy/handler/SpdyHandler.java

Added: mina/sandbox/mwebb/mina/src/main/java/org/apache/mina/spdy/SpdyServer.java
URL: http://svn.apache.org/viewvc/mina/sandbox/mwebb/mina/src/main/java/org/apache/mina/spdy/SpdyServer.java?rev=881645&view=auto
==============================================================================
--- mina/sandbox/mwebb/mina/src/main/java/org/apache/mina/spdy/SpdyServer.java (added)
+++ mina/sandbox/mwebb/mina/src/main/java/org/apache/mina/spdy/SpdyServer.java Wed Nov 18 02:29:57 2009
@@ -0,0 +1,37 @@
+package org.apache.mina.spdy;
+
+import java.io.IOException;
+import java.net.InetSocketAddress;
+
+import org.apache.mina.filter.codec.ProtocolCodecFilter;
+import org.apache.mina.filter.logging.LoggingFilter;
+import org.apache.mina.spdy.handler.SpdyHandler;
+import org.apache.mina.spdy.protocol.SpdyProtocolCodecFactory;
+import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class SpdyServer {
+
+	public static final int PORT = 6666;
+	
+	private static final Logger log = LoggerFactory.getLogger(SpdyServer.class);
+	
+	public static void main(String[] args) throws IOException {
+
+		SpdyHandler handler = new SpdyHandler();
+		
+		 NioSocketAcceptor acceptor = new NioSocketAcceptor();
+		 
+		 acceptor.getFilterChain().addFirst("logger", new LoggingFilter());
+		 acceptor.getFilterChain().addLast("protocol", 
+				 new ProtocolCodecFilter( new SpdyProtocolCodecFactory()));
+	
+		 acceptor.setHandler(handler);
+		 
+		 acceptor.setReuseAddress(true);
+		 acceptor.bind(new InetSocketAddress(PORT));
+		
+		 log.info("SPDY server is listenig at port " + PORT);
+	}
+}

Added: mina/sandbox/mwebb/mina/src/main/java/org/apache/mina/spdy/handler/SpdyHandler.java
URL: http://svn.apache.org/viewvc/mina/sandbox/mwebb/mina/src/main/java/org/apache/mina/spdy/handler/SpdyHandler.java?rev=881645&view=auto
==============================================================================
--- mina/sandbox/mwebb/mina/src/main/java/org/apache/mina/spdy/handler/SpdyHandler.java (added)
+++ mina/sandbox/mwebb/mina/src/main/java/org/apache/mina/spdy/handler/SpdyHandler.java Wed Nov 18 02:29:57 2009
@@ -0,0 +1,53 @@
+package org.apache.mina.spdy.handler;
+
+import java.io.FileOutputStream;
+
+import org.apache.mina.core.service.IoHandler;
+import org.apache.mina.core.session.IdleStatus;
+import org.apache.mina.core.session.IoSession;
+import org.apache.mina.spdy.messages.data.SpdyDataFrame;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class SpdyHandler implements IoHandler {
+
+	private static final Logger log = LoggerFactory.getLogger(SpdyHandler.class);
+	
+	public void exceptionCaught(IoSession session, Throwable cause)
+			throws Exception {
+		
+		cause.printStackTrace();
+	}
+
+	public void messageReceived(IoSession session, Object message)
+			throws Exception {
+		
+		log.info("Received message ==> " + message.getClass());
+	}
+
+	public void messageSent(IoSession session, Object message) throws Exception {
+		
+		log.info("Message sent");
+	}
+
+	public void sessionClosed(IoSession session) throws Exception {
+		
+		log.info("Session closed.");
+	}
+
+	public void sessionCreated(IoSession session) throws Exception {
+
+		log.info("Session created.");
+	}
+
+	public void sessionIdle(IoSession session, IdleStatus status)
+			throws Exception {
+			
+		log.info("Session Idle.");
+	}
+
+	public void sessionOpened(IoSession session) throws Exception {
+
+		log.info("Session Opened");
+	}
+}