Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPConnector.java')
-rw-r--r--plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPConnector.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPConnector.java b/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPConnector.java
index d6f7e1ec85..2441690824 100644
--- a/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPConnector.java
+++ b/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPConnector.java
@@ -10,18 +10,31 @@
**************************************************************************/
package org.eclipse.net4j.internal.http;
+import org.eclipse.net4j.buffer.IBuffer;
+import org.eclipse.net4j.channel.IChannel;
import org.eclipse.net4j.http.IHTTPConnector;
+import org.eclipse.net4j.internal.http.bundle.OM;
+import org.eclipse.net4j.internal.util.om.trace.ContextTracer;
import org.eclipse.net4j.util.security.INegotiationContext;
+import org.eclipse.internal.net4j.buffer.Buffer;
+import org.eclipse.internal.net4j.channel.InternalChannel;
import org.eclipse.internal.net4j.connector.Connector;
+import java.util.Queue;
+import java.util.concurrent.ConcurrentLinkedQueue;
+
/**
* @author Eike Stepper
*/
public abstract class HTTPConnector extends Connector implements IHTTPConnector
{
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, HTTPConnector.class);
+
private String connectorID;
+ private Queue<IBuffer> outputQueue = new ConcurrentLinkedQueue<IBuffer>();
+
public HTTPConnector()
{
}
@@ -36,6 +49,23 @@ public abstract class HTTPConnector extends Connector implements IHTTPConnector
this.connectorID = connectorID;
}
+ public Queue<IBuffer> getOutputQueue()
+ {
+ return outputQueue;
+ }
+
+ public void multiplexChannel(IChannel channel)
+ {
+ Queue<IBuffer> channelQueue = ((InternalChannel)channel).getSendQueue();
+ IBuffer buffer = channelQueue.poll();
+ if (TRACER.isEnabled())
+ {
+ TRACER.trace("Multiplexing " + ((Buffer)buffer).formatContent(true));
+ }
+
+ outputQueue.add(buffer);
+ }
+
@Override
protected INegotiationContext createNegotiationContext()
{

Back to the top