package frontend; import base.AuthService; import base.GameMechanics; import base.WebSocketService; import org.eclipse.jetty.websocket.servlet.WebSocketServlet; import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory; import javax.servlet.annotation.WebServlet; /** * This class represents a servlet starting a webSocket application */ @WebServlet(name = "WebSocketGameServlet", urlPatterns = {"/gameplay"}) public class WebSocketGameServlet extends WebSocketServlet { private final static int IDLE_TIME = 60 * 1000; private AuthService authService; private GameMechanics gameMechanics; private WebSocketService webSocketService; public WebSocketGameServlet(AuthService authService, GameMechanics gameMechanics, WebSocketService webSocketService) { this.authService = authService; this.gameMechanics = gameMechanics; this.webSocketService = webSocketService; } @Override public void configure(WebSocketServletFactory factory) { factory.getPolicy().setIdleTimeout(IDLE_TIME); factory.setCreator(new GameWebSocketCreator(authService, gameMechanics, webSocketService)); } }