package org.webpieces.frontend2.impl; import java.nio.ByteBuffer; import java.util.concurrent.CompletableFuture; import org.webpieces.asyncserver.api.AsyncServer; import org.webpieces.frontend2.api.FrontendConfig; import org.webpieces.frontend2.api.HttpServer; import org.webpieces.nio.api.channels.TCPServerChannel; import org.webpieces.util.logging.Logger; import org.webpieces.util.logging.LoggerFactory; public class HttpServerImpl implements HttpServer { private static final Logger log = LoggerFactory.getLogger(HttpServerImpl.class); private AsyncServer server; private FrontendConfig config; public HttpServerImpl(AsyncServer server, FrontendConfig config) { this.server = server; this.config = config; } @Override public void start() { // TODO Auto-generated method stub log.info("starting to listen to port="+config.bindAddress); server.start(config.bindAddress); log.info("now listening for incoming requests"); } @Override public CompletableFuture<Void> close() { return server.closeServerChannel(); } @Override public void enableOverloadMode(ByteBuffer overloadResponse) { server.enableOverloadMode(overloadResponse); } @Override public void disableOverloadMode() { server.disableOverloadMode(); } @Override public TCPServerChannel getUnderlyingChannel() { return server.getUnderlyingChannel(); } }