org.littleshoot.proxy.impl.ThreadPoolConfiguration Maven / Gradle / Ivy
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;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy