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.util.Promise;
// TODO: add parameter to tell whether use multiplex destinations or not
public class HttpClientTransportOverFCGI extends AbstractHttpClientTransport
{
private final boolean multiplexed;
private final 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);
this.multiplexed = multiplexed;
this.scriptRoot = scriptRoot;
}
@Override
public HttpDestination newHttpDestination(Origin origin)
{
return new MultiplexHttpDestinationOverFCGI(getHttpClient(), origin);
return multiplexed ? new MultiplexHttpDestinationOverFCGI(getHttpClient(), origin)
: new HttpDestinationOverFCGI(getHttpClient(), origin);
}
@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);
}
}