org.littleshoot.proxy.impl.ThreadPoolConfiguration Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of littleproxy Show documentation
Show all versions of littleproxy Show documentation
LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework.
The newest version!
package org.littleshoot.proxy.impl;
/**
* Configuration object for the proxy's thread pools. Controls the number of acceptor and worker threads in the Netty
* {@link io.netty.channel.EventLoopGroup} used by the proxy.
*/
public class ThreadPoolConfiguration {
private int acceptorThreads = ServerGroup.DEFAULT_INCOMING_ACCEPTOR_THREADS;
private int clientToProxyWorkerThreads = ServerGroup.DEFAULT_INCOMING_WORKER_THREADS;
private int proxyToServerWorkerThreads = ServerGroup.DEFAULT_OUTGOING_WORKER_THREADS;
public int getClientToProxyWorkerThreads() {
return clientToProxyWorkerThreads;
}
/**
* Set the number of client-to-proxy worker threads to create. Worker threads perform the actual processing of
* client requests. The default value is {@link ServerGroup#DEFAULT_INCOMING_WORKER_THREADS}.
*
* @param clientToProxyWorkerThreads number of client-to-proxy worker threads to create
* @return this thread pool configuration instance, for chaining
*/
public ThreadPoolConfiguration withClientToProxyWorkerThreads(int clientToProxyWorkerThreads) {
this.clientToProxyWorkerThreads = clientToProxyWorkerThreads;
return this;
}
public int getAcceptorThreads() {
return acceptorThreads;
}
/**
* Set the number of acceptor threads to create. Acceptor threads accept HTTP connections from the client and queue
* them for processing by client-to-proxy worker threads. The default value is
* {@link ServerGroup#DEFAULT_INCOMING_ACCEPTOR_THREADS}.
*
* @param acceptorThreads number of acceptor threads to create
* @return this thread pool configuration instance, for chaining
*/
public ThreadPoolConfiguration withAcceptorThreads(int acceptorThreads) {
this.acceptorThreads = acceptorThreads;
return this;
}
public int getProxyToServerWorkerThreads() {
return proxyToServerWorkerThreads;
}
/**
* Set the number of proxy-to-server worker threads to create. Proxy-to-server worker threads make requests to
* upstream servers and process responses from the server. The default value is
* {@link ServerGroup#DEFAULT_OUTGOING_WORKER_THREADS}.
*
* @param proxyToServerWorkerThreads number of proxy-to-server worker threads to create
* @return this thread pool configuration instance, for chaining
*/
public ThreadPoolConfiguration withProxyToServerWorkerThreads(int proxyToServerWorkerThreads) {
this.proxyToServerWorkerThreads = proxyToServerWorkerThreads;
return this;
}
}