You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by tr...@apache.org on 2004/12/05 12:29:39 UTC

svn commit: r109881 - /incubator/directory/seda/branches/trustin/src/examples/org/apache/netty/examples/echoserver/EchoServerSessionHandler.java /incubator/directory/seda/branches/trustin/src/examples/org/apache/netty/examples/echoserver/Main.java

Author: trustin
Date: Sun Dec  5 03:29:37 2004
New Revision: 109881

URL: http://svn.apache.org/viewcvs?view=rev&rev=109881
Log:
Something's screed up. Recommitting.
Modified:
   incubator/directory/seda/branches/trustin/src/examples/org/apache/netty/examples/echoserver/EchoServerSessionHandler.java
   incubator/directory/seda/branches/trustin/src/examples/org/apache/netty/examples/echoserver/Main.java

Modified: incubator/directory/seda/branches/trustin/src/examples/org/apache/netty/examples/echoserver/EchoServerSessionHandler.java
Url: http://svn.apache.org/viewcvs/incubator/directory/seda/branches/trustin/src/examples/org/apache/netty/examples/echoserver/EchoServerSessionHandler.java?view=diff&rev=109881&p1=incubator/directory/seda/branches/trustin/src/examples/org/apache/netty/examples/echoserver/EchoServerSessionHandler.java&r1=109880&p2=incubator/directory/seda/branches/trustin/src/examples/org/apache/netty/examples/echoserver/EchoServerSessionHandler.java&r2=109881
==============================================================================
--- incubator/directory/seda/branches/trustin/src/examples/org/apache/netty/examples/echoserver/EchoServerSessionHandler.java	(original)
+++ incubator/directory/seda/branches/trustin/src/examples/org/apache/netty/examples/echoserver/EchoServerSessionHandler.java	Sun Dec  5 03:29:37 2004
@@ -1,48 +1,80 @@
 /*
+ *   Copyright 2004 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+/*
  * @(#) $Id$
  */
-package org.apache.netty.examples.echo.server;
-
-import java.nio.ByteBuffer;
+package org.apache.netty.examples.echoserver;
 
 import org.apache.netty.common.IdleStatus;
+import org.apache.netty.downstream.ReadBuffer;
 import org.apache.netty.downstream.Session;
 import org.apache.netty.downstream.SessionHandler;
+import org.apache.netty.downstream.WriteBuffer;
+
 
 /**
  * TODO Document me.
- * 
+ *
  * @author Trustin Lee (trustin@apache.org)
- * @version $Rev$, $Date$, 
+ * @version $Rev$, $Date$,
  */
 public class EchoServerSessionHandler implements SessionHandler {
-
-	public void sessionOpened(Session session) {
-		System.out.println(session.getRemoteAddress() + ": OPEN");
-	}
-
-	public void sessionClosed(Session session) {
-		System.out.println(session.getRemoteAddress() + ": CLOSED");
-	}
-
-	public void sessionIdle(Session session, IdleStatus status) {
-		System.out.println(session.getRemoteAddress() + ": IDLE");
-	}
-
-	public void exceptionCaught(Session session, Throwable cause) {
-		System.out.println(session.getRemoteAddress() + ": EXCEPTION");
-		cause.printStackTrace(System.out);
-	}
-
-	public void dataRead(Session session, ByteBuffer buf) {
-		System.out.println(session.getRemoteAddress() + ": READ (" + buf.remaining() + " B)");
-		session.getWriteBuffer().put(buf);
-		session.flush();
-	}
-
-	public void markRemoved(Session session, Object mark) {
-	}
-
-	public void writeBufferAvailable(Session session) {
-	}
+    public void sessionOpened(Session session) {
+        System.out.println(session.getRemoteAddress() + ": OPEN");
+    }
+
+    public void sessionClosed(Session session) {
+        System.out.println(session.getRemoteAddress() + ": CLOSED");
+    }
+
+    public void sessionIdle(Session session, IdleStatus status) {
+        System.out.println(session.getRemoteAddress() + ": IDLE");
+    }
+
+    public void exceptionCaught(Session session, Throwable cause) {
+        System.out.println(session.getRemoteAddress() + ": EXCEPTION");
+        cause.printStackTrace(System.out);
+    }
+
+    public void dataRead(Session session, int readBytes) {
+        System.out.println(session.getRemoteAddress() + ": READ (" +
+                           readBytes + "B)");
+
+        ReadBuffer rb = session.getReadBuffer();
+        WriteBuffer wb = session.getWriteBuffer();
+
+        if (rb.remaining() <= wb.remaining()) {
+            wb.put(rb);
+            wb.flush();
+            rb.signal();
+        }
+    }
+
+    public void dataWritten(Session session, int writtenBytes) {
+        System.out.println(session.getRemoteAddress() + ": WRITTEN (" +
+                           writtenBytes + "B)");
+
+        ReadBuffer rb = session.getReadBuffer();
+        WriteBuffer wb = session.getWriteBuffer();
+
+        if (rb.hasRemaining() && rb.remaining() <= wb.remaining()) {
+            wb.put(rb);
+            wb.flush();
+            rb.signal();
+        }
+    }
 }

Modified: incubator/directory/seda/branches/trustin/src/examples/org/apache/netty/examples/echoserver/Main.java
Url: http://svn.apache.org/viewcvs/incubator/directory/seda/branches/trustin/src/examples/org/apache/netty/examples/echoserver/Main.java?view=diff&rev=109881&p1=incubator/directory/seda/branches/trustin/src/examples/org/apache/netty/examples/echoserver/Main.java&r1=109880&p2=incubator/directory/seda/branches/trustin/src/examples/org/apache/netty/examples/echoserver/Main.java&r2=109881
==============================================================================
--- incubator/directory/seda/branches/trustin/src/examples/org/apache/netty/examples/echoserver/Main.java	(original)
+++ incubator/directory/seda/branches/trustin/src/examples/org/apache/netty/examples/echoserver/Main.java	Sun Dec  5 03:29:37 2004
@@ -1,22 +1,43 @@
 /*
+ *   Copyright 2004 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+/*
  * @(#) $Id$
  */
-package org.apache.netty.examples.echo.server;
+package org.apache.netty.examples.echoserver;
 
 import java.net.InetSocketAddress;
 
 import org.apache.netty.downstream.Acceptor;
 import org.apache.netty.downstream.impl.tcp.TcpAcceptor;
 
+
 /**
  * TODO Document me.
- * 
+ *
  * @author Trustin Lee (trustin@apache.org)
- * @version $Rev$, $Date$, 
+ * @version $Rev$, $Date$,
  */
 public class Main {
-	public static void main(String[] args) throws Exception {
-		Acceptor acceptor = new TcpAcceptor();
-		acceptor.bind(new InetSocketAddress(8080), new EchoServerSessionHandler());
-	}
+    private static final int PORT = 8080;
+
+    public static void main(String[] args) throws Exception {
+        Acceptor acceptor = new TcpAcceptor();
+        acceptor.bind(new InetSocketAddress(PORT),
+                      new EchoServerSessionHandler());
+        System.out.println("Listening on port " + PORT);
+    }
 }