[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