import net.pterodactylus.fcp.FcpConnection;
import net.pterodactylus.fcp.NodeHello;
+import com.google.common.util.concurrent.ListeningExecutorService;
+import com.google.common.util.concurrent.MoreExecutors;
+
/**
* Default {@link FcpClient} implementation.
*
*/
public class DefaultFcpClient implements FcpClient {
- private final ExecutorService threadPool;
+ private final ListeningExecutorService threadPool;
private final String hostname;
private final int port;
private final AtomicReference<FcpConnection> fcpConnection = new AtomicReference<>();
public DefaultFcpClient(ExecutorService threadPool, String hostname, int port, Supplier<String> clientName,
Supplier<String> expectedVersion) {
- this.threadPool = threadPool;
+ this.threadPool = MoreExecutors.listeningDecorator(threadPool);
this.hostname = hostname;
this.port = port;
this.clientName = clientName;