@Override public int getReadTimeout() { return engine.getEngineConfiguration().getTimeout(); }
public AbstractConnector(ServerEngine engine, DataController controller) { this.engine = engine; connectorId = engine.getEngineConfiguration().getNextConnectorId() + ""; dataController = controller; variables = new HashMap<String, Object>(); }
@Override public void stopServer() { log.info("Stopping Netty engine (" + getClass().getName() + ") on port " + getEngineConfiguration().getPort()); if (serverChannel != null) { serverChannel.close(); serverChannel.getFactory().releaseExternalResources(); } log.info("Netty engine (" + getClass().getName() + ") on port " + getEngineConfiguration().getPort() + " has stopped."); }
private void prepareEngineConfiguration(InitialConfiguration initialConfiguration) { EngineConfig engineConfiguration = new EngineConfig(); engineConfiguration.setName(InitialConfiguration.DEFAULT_ENGINE_NAME); engineConfiguration.setMaxBufferSize(InitialConfiguration.DEFAULT_MAX_BUFFER_SIZE); engineConfiguration.setMaxFrameSize(InitialConfiguration.DEFAULT_MAX_FRAME_SIZE); engineConfiguration.setPort(InitialConfiguration.DEFAULT_ENGINE_PORT); engineConfiguration.setTimeout(InitialConfiguration.DEFAULT_ENGINE_TIMEOUT); engineConfiguration.setProperties(new HashMap<String, String>()); engineConfiguration.setRejectedDomains(new ArrayList<String>()); initialConfiguration.setEngineConfiguration(engineConfiguration); }
private void setWebsocketFactoryParameters() { websocketFactory = new WebSocketFactory(this, getEngineConfiguration().getMaxBufferSize()); websocketFactory.setMaxBinaryMessageSize(getEngineConfiguration().getMaxFrameSize()); websocketFactory.setMaxTextMessageSize(getEngineConfiguration().getMaxFrameSize()); websocketFactory.setMaxIdleTime(getEngineConfiguration().getTimeout()); }
public void onOpen(Connection newConnection) { EngineConfig engineConfiguration = getEngine().getEngineConfiguration(); newConnection.setMaxBinaryMessageSize(engineConfiguration.getMaxFrameSize()); newConnection.setMaxTextMessageSize(engineConfiguration.getMaxFrameSize()); newConnection.setMaxIdleTime(engineConfiguration.getTimeout()); getEngine().onConnectionOpened(this); this.connection = newConnection; }
public TomcatConnector(ServerEngine engine, DataController controller, FrontController frontController) { this.engine = engine; connectorId = engine.getEngineConfiguration().getNextConnectorId() + ""; dataController = controller; variables = new HashMap<String, Object>(); this.frontController = frontController; setByteBufferMaxSize(engine.getEngineConfiguration().getMaxBufferSize()); setCharBufferMaxSize(engine.getEngineConfiguration().getMaxBufferSize()); }
@SuppressWarnings("rawtypes") private void replaceListeners(ChannelHandlerContext context) { int maxFrameSize = engine.getEngineConfiguration().getMaxFrameSize(); boolean maskClientMessagePayload = true; boolean maskServerMessagePayload = false; WebsocketConnector connector = (WebsocketConnector) context.getAttachment(); String wsVersion = connector.getWebsocketVersion(); ReplayingDecoder decoder = null; OneToOneEncoder encoder = null; if (wsVersion.equals(WebsocketVersions.HYBI_13.getVersionCode())) { decoder = new WebSocket13FrameDecoder(maskClientMessagePayload, true, maxFrameSize); encoder = new WebSocket13FrameEncoder(maskServerMessagePayload); } else if (wsVersion.equals(WebsocketVersions.HYBI_10.getVersionCode())) { decoder = new WebSocket08FrameDecoder(maskClientMessagePayload, true, maxFrameSize); encoder = new WebSocket08FrameEncoder(maskServerMessagePayload); } else if (wsVersion.equals(WebsocketVersions.HIXIE_76.getVersionCode())) { decoder = new WebSocket00FrameDecoder((long) maxFrameSize); encoder = new WebSocket00FrameEncoder(); } ChannelPipeline pipeline = context.getChannel().getPipeline(); pipeline.replace("decoder", "wsDecoder", decoder); pipeline.replace("encoder", "wsEncoder", encoder); pipeline.remove("aggregator"); }
/** * Sets maximum message size. * * @param maxMessageSize maximum message size. */ public void setEngineMaxMessageSize(int maxMessageSize) { EngineConfig engineConfig = initialConfiguration.getEngineConfiguration(); engineConfig.setMaxFrameSize(maxMessageSize); }
/** * Sets maximum server engine buffer size for each connector. * * @param bufferSize maximum buffer size. */ public void setMaxBufferSize(int bufferSize) { EngineConfig engineConfig = initialConfiguration.getEngineConfiguration(); engineConfig.setMaxBufferSize(bufferSize); }
@Bean @Lazy public ServerEngine serverEngine() { EngineConfig engineConfiguration = initialConfiguration.getEngineConfiguration(); String expectedEngineName = engineConfiguration.getName(); ServerEngine serverEngine = springIntegration.getBean(expectedEngineName, ServerEngine.class); serverEngine.init(bristlebackConfiguration()); return serverEngine; }
@SuppressWarnings("unchecked") private void resolveEngineConfiguration(InitialConfiguration initialConfiguration) { EngineConfig engineConfig = new EngineConfig(); engineConfig.setName(propertiesConfiguration.getString(ENGINE_NAME_PROPERTY, InitialConfiguration.DEFAULT_ENGINE_NAME)); engineConfig.setPort(propertiesConfiguration.getInt(ENGINE_PORT_PROPERTY, InitialConfiguration.DEFAULT_ENGINE_PORT)); engineConfig.setTimeout(propertiesConfiguration.getInt(ENGINE_TIMEOUT_PROPERTY, InitialConfiguration.DEFAULT_ENGINE_TIMEOUT)); engineConfig.setMaxBufferSize(propertiesConfiguration.getInt(ENGINE_MAX_BUFFER_SIZE_PROPERTY, InitialConfiguration.DEFAULT_MAX_BUFFER_SIZE)); engineConfig.setMaxFrameSize(propertiesConfiguration.getInt(ENGINE_MAX_MESSAGE_SIZE_PROPERTY, InitialConfiguration.DEFAULT_MAX_FRAME_SIZE)); engineConfig.setRejectedDomains(propertiesConfiguration.getList(ENGINE_REJECTED_DOMAINS_PROPERTY, new ArrayList())); initialConfiguration.setEngineConfiguration(engineConfig); }
public ChannelPipeline getPipeline() throws Exception { ChannelPipeline pipeline = Channels.pipeline(); pipeline.addLast("decoder", new HttpRequestDecoder()); pipeline.addLast("aggregator", new HttpChunkAggregator(engineConfig.getMaxFrameSize())); pipeline.addLast("encoder", new HttpResponseEncoder()); pipeline.addLast("handler", webSocketServerHandler); if (engineConfig.getTimeout() > 0) { pipeline.addLast("idleHandler", idleStateHandler); } return pipeline; } }
public void init(ServerEngine engine) { this.engineConfig = engine.getEngineConfiguration(); webSocketServerHandler.init(engine); Timer timer = new HashedWheelTimer(); idleStateHandler = new IdleStateHandler(timer, engineConfig.getTimeout(), TimeUnit.MILLISECONDS); }
@Override public void startServer() { log.info("Starting Netty engine (" + getClass().getName() + ") on port " + getEngineConfiguration().getPort()); EngineConfig engineConfig = getEngineConfiguration(); ChannelFactory nioChannelFactory = new NioServerSocketChannelFactory(Executors.newCachedThreadPool(), Executors.newCachedThreadPool()); ServerBootstrap bootstrap = new ServerBootstrap(nioChannelFactory); pipelineFactory.init(this); bootstrap.setPipelineFactory(pipelineFactory); serverChannel = bootstrap.bind(new InetSocketAddress(engineConfig.getPort())); log.info("Netty engine (" + getClass().getName() + ") on port " + getEngineConfiguration().getPort() + " has started."); }
public void startServer() { try { int port = getEngineConfiguration().getPort(); server = new Server(port); final JettyWebsocketEngine thisEngine = this; server.setHandler(new WebSocketHandler() { public WebSocket doWebSocketConnect(HttpServletRequest httpServletRequest, String protocolName) { DataController controller = getConfiguration().getDataController(protocolName); return new JettyConnector(thisEngine, controller, frontController); } }); server.start(); } catch (Exception e) { throw new BristleInitializationException("Jetty engine could not start.", e); } }