[jboss-remoting-commits] JBoss Remoting SVN: r4024 - in remoting3/trunk: http-se6/src/main/java/org/jboss/cx/remoting/http/se6 and 1 other directories.

jboss-remoting-commits at lists.jboss.org jboss-remoting-commits at lists.jboss.org
Sat Apr 19 00:19:03 EDT 2008


Author: david.lloyd at jboss.com
Date: 2008-04-19 00:19:02 -0400 (Sat, 19 Apr 2008)
New Revision: 4024

Added:
   remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/AbstractHttpMessageWriter.java
   remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/HttpMessageWriter.java
   remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/RemotingHttpChannelContext.java
   remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/RemotingHttpServerContext.java
   remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/RemotingHttpSessionContext.java
Removed:
   remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/OutputAction.java
   remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/spi/
Modified:
   remoting3/trunk/http-se6/src/main/java/org/jboss/cx/remoting/http/se6/SunHttpServerChannel.java
   remoting3/trunk/http-urlconnection/src/main/java/org/jboss/cx/remoting/http/urlconnection/AbstractHttpUrlChannel.java
   remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/AbstractHttpChannel.java
Log:
More cleanup in the HTTP area

Modified: remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/AbstractHttpChannel.java
===================================================================
--- remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/AbstractHttpChannel.java	2008-04-19 03:58:16 UTC (rev 4023)
+++ remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/AbstractHttpChannel.java	2008-04-19 04:19:02 UTC (rev 4024)
@@ -1,12 +1,11 @@
 package org.jboss.cx.remoting.http;
 
-import org.jboss.cx.remoting.http.spi.HttpChannel;
-import org.jboss.cx.remoting.http.spi.RemotingHttpChannelContext;
+import org.jboss.cx.remoting.http.RemotingHttpChannelContext;
 
 /**
  *
  */
-public abstract class AbstractHttpChannel implements HttpChannel {
+public abstract class AbstractHttpChannel {
 
     protected AbstractHttpChannel() {
     }

Copied: remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/AbstractHttpMessageWriter.java (from rev 4023, remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/spi/AbstractOutgoingHttpMessage.java)
===================================================================
--- remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/AbstractHttpMessageWriter.java	                        (rev 0)
+++ remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/AbstractHttpMessageWriter.java	2008-04-19 04:19:02 UTC (rev 4024)
@@ -0,0 +1,8 @@
+package org.jboss.cx.remoting.http;
+
+/**
+ *
+ */
+public abstract class AbstractHttpMessageWriter implements HttpMessageWriter {
+
+}

Copied: remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/HttpMessageWriter.java (from rev 4023, remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/spi/OutgoingHttpMessage.java)
===================================================================
--- remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/HttpMessageWriter.java	                        (rev 0)
+++ remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/HttpMessageWriter.java	2008-04-19 04:19:02 UTC (rev 4024)
@@ -0,0 +1,11 @@
+package org.jboss.cx.remoting.http;
+
+import java.io.IOException;
+import org.jboss.cx.remoting.util.ByteMessageOutput;
+
+/**
+ *
+ */
+public interface HttpMessageWriter {
+    void writeMessageData(ByteMessageOutput byteOutput) throws IOException;
+}

Deleted: remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/OutputAction.java
===================================================================
--- remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/OutputAction.java	2008-04-19 03:58:16 UTC (rev 4023)
+++ remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/OutputAction.java	2008-04-19 04:19:02 UTC (rev 4024)
@@ -1,11 +0,0 @@
-package org.jboss.cx.remoting.http;
-
-import org.jboss.cx.remoting.util.ByteMessageOutput;
-import java.io.IOException;
-
-/**
- *
- */
-public interface OutputAction {
-    void run(ByteMessageOutput target) throws IOException;
-}

Copied: remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/RemotingHttpChannelContext.java (from rev 4023, remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/spi/RemotingHttpChannelContext.java)
===================================================================
--- remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/RemotingHttpChannelContext.java	                        (rev 0)
+++ remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/RemotingHttpChannelContext.java	2008-04-19 04:19:02 UTC (rev 4024)
@@ -0,0 +1,25 @@
+package org.jboss.cx.remoting.http;
+
+import org.jboss.cx.remoting.util.ByteMessageInput;
+
+/**
+ *
+ */
+public interface RemotingHttpChannelContext {
+    /**
+     * Process an HTTP message that has arrived.
+     *
+     * @param input the source of the message data
+     */
+    void processInboundMessage(ByteMessageInput input);
+
+    /**
+     * Wait for an outgoing HTTP message to become available, up to a certain time limit.  If no message is available
+     * within the specified time limit, or if the thread is interrupted before a message could become available, return
+     * an empty message.
+     *
+     * @param millis the amount of time to wait in millseconds, {@code 0} to not wait, or {@code -1} to wait indefinitely.
+     * @return an outgoing HTTP message
+     */
+    HttpMessageWriter waitForOutgoingHttpMessage(int millis);
+}

Copied: remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/RemotingHttpServerContext.java (from rev 4023, remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/spi/RemotingHttpServerContext.java)
===================================================================
--- remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/RemotingHttpServerContext.java	                        (rev 0)
+++ remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/RemotingHttpServerContext.java	2008-04-19 04:19:02 UTC (rev 4024)
@@ -0,0 +1,10 @@
+package org.jboss.cx.remoting.http;
+
+import org.jboss.cx.remoting.util.ByteMessageInput;
+
+/**
+ *
+ */
+public interface RemotingHttpServerContext {
+    RemotingHttpChannelContext processUnsolicitedInboundMessage(ByteMessageInput messageInput);
+}

Copied: remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/RemotingHttpSessionContext.java (from rev 4023, remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/spi/RemotingHttpSessionContext.java)
===================================================================
--- remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/RemotingHttpSessionContext.java	                        (rev 0)
+++ remoting3/trunk/http/src/main/java/org/jboss/cx/remoting/http/RemotingHttpSessionContext.java	2008-04-19 04:19:02 UTC (rev 4024)
@@ -0,0 +1,14 @@
+package org.jboss.cx.remoting.http;
+
+/**
+ *
+ */
+public interface RemotingHttpSessionContext {
+
+    /**
+     * Get a channel context that can be used to transport HTTP messages for this session.
+     *
+     * @return the channel context
+     */
+    RemotingHttpChannelContext getChannelContext();
+}

Modified: remoting3/trunk/http-se6/src/main/java/org/jboss/cx/remoting/http/se6/SunHttpServerChannel.java
===================================================================
--- remoting3/trunk/http-se6/src/main/java/org/jboss/cx/remoting/http/se6/SunHttpServerChannel.java	2008-04-19 03:58:16 UTC (rev 4023)
+++ remoting3/trunk/http-se6/src/main/java/org/jboss/cx/remoting/http/se6/SunHttpServerChannel.java	2008-04-19 04:19:02 UTC (rev 4024)
@@ -8,17 +8,15 @@
 import java.util.concurrent.ConcurrentMap;
 import java.security.SecureRandom;
 import org.jboss.cx.remoting.http.AbstractHttpChannel;
+import org.jboss.cx.remoting.http.HttpMessageWriter;
 import org.jboss.cx.remoting.http.cookie.Cookie;
 import org.jboss.cx.remoting.http.cookie.CookieParser;
-import org.jboss.cx.remoting.http.spi.AbstractIncomingHttpMessage;
-import org.jboss.cx.remoting.http.spi.OutgoingHttpMessage;
-import org.jboss.cx.remoting.http.spi.RemotingHttpChannelContext;
-import org.jboss.cx.remoting.http.spi.RemotingHttpServerContext;
+import org.jboss.cx.remoting.http.RemotingHttpChannelContext;
+import org.jboss.cx.remoting.http.RemotingHttpServerContext;
 import org.jboss.cx.remoting.util.AbstractOutputStreamByteMessageOutput;
-import org.jboss.cx.remoting.util.ByteMessageInput;
 import org.jboss.cx.remoting.util.CollectionUtil;
-import org.jboss.cx.remoting.util.InputStreamByteMessageInput;
 import org.jboss.cx.remoting.util.IoUtil;
+import org.jboss.cx.remoting.util.InputStreamByteMessageInput;
 
 import com.sun.net.httpserver.Headers;
 import com.sun.net.httpserver.HttpContext;
@@ -133,17 +131,12 @@
         RemotingHttpChannelContext context = sessions.get(sessionId);
         final InputStream inputStream = exchange.getRequestBody();
         try {
-            final AbstractIncomingHttpMessage incomingMessage = new AbstractIncomingHttpMessage() {
-                public ByteMessageInput getMessageData() throws IOException {
-                    return new InputStreamByteMessageInput(inputStream, -1);
-                }
-            };
             if (context == null) {
                 needToSetSession = true;
-                context = serverContext.processUnsolicitedInboundMessage(incomingMessage);
+                context = serverContext.processUnsolicitedInboundMessage(new InputStreamByteMessageInput(inputStream, -1));
             } else {
                 needToSetSession = false;
-                context.processInboundMessage(incomingMessage);
+                context.processInboundMessage(new InputStreamByteMessageInput(inputStream, -1));
             }
         } finally {
             IoUtil.closeSafely(inputStream);
@@ -163,10 +156,10 @@
             }
             exchange.getResponseHeaders().set("Set-Cookie", setCookieBuilder.toString());
         }
-        final OutgoingHttpMessage outgoingMessage = context.waitForOutgoingHttpMessage(parkTimeout);
+        final HttpMessageWriter messageWriter = context.waitForOutgoingHttpMessage(parkTimeout);
         final OutputStream outputStream = exchange.getResponseBody();
         try {
-            outgoingMessage.writeMessageData(new AbstractOutputStreamByteMessageOutput(outputStream) {
+            messageWriter.writeMessageData(new AbstractOutputStreamByteMessageOutput(outputStream) {
                 public void commit() throws IOException {
                 }
             });

Modified: remoting3/trunk/http-urlconnection/src/main/java/org/jboss/cx/remoting/http/urlconnection/AbstractHttpUrlChannel.java
===================================================================
--- remoting3/trunk/http-urlconnection/src/main/java/org/jboss/cx/remoting/http/urlconnection/AbstractHttpUrlChannel.java	2008-04-19 03:58:16 UTC (rev 4023)
+++ remoting3/trunk/http-urlconnection/src/main/java/org/jboss/cx/remoting/http/urlconnection/AbstractHttpUrlChannel.java	2008-04-19 04:19:02 UTC (rev 4024)
@@ -13,13 +13,10 @@
 import java.util.concurrent.Future;
 import org.jboss.cx.remoting.http.AbstractHttpChannel;
 import org.jboss.cx.remoting.http.cookie.CookieClientSession;
-import org.jboss.cx.remoting.http.spi.AbstractIncomingHttpMessage;
-import org.jboss.cx.remoting.http.spi.OutgoingHttpMessage;
-import org.jboss.cx.remoting.http.spi.RemotingHttpChannelContext;
+import org.jboss.cx.remoting.http.HttpMessageWriter;
+import org.jboss.cx.remoting.http.RemotingHttpChannelContext;
 import org.jboss.cx.remoting.log.Logger;
 import org.jboss.cx.remoting.util.AbstractOutputStreamByteMessageOutput;
-import org.jboss.cx.remoting.util.ByteMessageInput;
-import org.jboss.cx.remoting.util.InputStreamByteMessageInput;
 import org.jboss.cx.remoting.util.IoUtil;
 import org.jboss.cx.remoting.util.NamingThreadFactory;
 
@@ -158,7 +155,7 @@
         final RemotingHttpChannelContext channelContext = getChannelContext();
         final int localParkTime = getLocalParkTime();
         final int remoteParkTime = getRemoteParkTime();
-        final OutgoingHttpMessage message = channelContext.waitForOutgoingHttpMessage(localParkTime);
+        final HttpMessageWriter messageWriter = channelContext.waitForOutgoingHttpMessage(localParkTime);
         try {
             final HttpURLConnection httpConnection = intializeConnection(connectUrl);
             try {
@@ -168,7 +165,7 @@
                 httpConnection.connect();
                 final OutputStream outputStream = httpConnection.getOutputStream();
                 try {
-                    message.writeMessageData(new AbstractOutputStreamByteMessageOutput(outputStream) {
+                    messageWriter.writeMessageData(new AbstractOutputStreamByteMessageOutput(outputStream) {
                         public void commit() throws IOException {
                         }
                     });
@@ -181,11 +178,7 @@
                     }
                     final InputStream inputStream = httpConnection.getInputStream();
                     try {
-                        channelContext.processInboundMessage(new AbstractIncomingHttpMessage() {
-                            public ByteMessageInput getMessageData() throws IOException {
-                                return new InputStreamByteMessageInput(inputStream, -1);
-                            }
-                        });
+                        channelContext.processInboundMessage(INIT_ME);
                     } finally {
                         IoUtil.closeSafely(inputStream);
                     }




More information about the jboss-remoting-commits mailing list