Added parameter to create multiplexed and pooled destinations.

This commit is contained in:
Simone Bordet 2013-10-25 12:54:25 +02:00
parent 67d8a9a301
commit 39600f4d81
2 changed files with 26 additions and 4 deletions

View File

@ -31,26 +31,28 @@ import org.eclipse.jetty.http.HttpFields;
import org.eclipse.jetty.io.EndPoint; import org.eclipse.jetty.io.EndPoint;
import org.eclipse.jetty.util.Promise; import org.eclipse.jetty.util.Promise;
// TODO: add parameter to tell whether use multiplex destinations or not
public class HttpClientTransportOverFCGI extends AbstractHttpClientTransport public class HttpClientTransportOverFCGI extends AbstractHttpClientTransport
{ {
private final boolean multiplexed;
private final String scriptRoot; private final String scriptRoot;
public HttpClientTransportOverFCGI(String scriptRoot) public HttpClientTransportOverFCGI(String scriptRoot)
{ {
this(Runtime.getRuntime().availableProcessors() / 2 + 1, scriptRoot); this(Runtime.getRuntime().availableProcessors() / 2 + 1, false, scriptRoot);
} }
public HttpClientTransportOverFCGI(int selectors, String scriptRoot) public HttpClientTransportOverFCGI(int selectors, boolean multiplexed, String scriptRoot)
{ {
super(selectors); super(selectors);
this.multiplexed = multiplexed;
this.scriptRoot = scriptRoot; this.scriptRoot = scriptRoot;
} }
@Override @Override
public HttpDestination newHttpDestination(Origin origin) public HttpDestination newHttpDestination(Origin origin)
{ {
return new MultiplexHttpDestinationOverFCGI(getHttpClient(), origin); return multiplexed ? new MultiplexHttpDestinationOverFCGI(getHttpClient(), origin)
: new HttpDestinationOverFCGI(getHttpClient(), origin);
} }
@Override @Override

View File

@ -0,0 +1,20 @@
package org.eclipse.jetty.fcgi.client.http;
import org.eclipse.jetty.client.HttpClient;
import org.eclipse.jetty.client.HttpExchange;
import org.eclipse.jetty.client.Origin;
import org.eclipse.jetty.client.PoolingHttpDestination;
public class HttpDestinationOverFCGI extends PoolingHttpDestination<HttpConnectionOverFCGI>
{
public HttpDestinationOverFCGI(HttpClient client, Origin origin)
{
super(client, origin);
}
@Override
protected void send(HttpConnectionOverFCGI connection, HttpExchange exchange)
{
connection.send(exchange);
}
}