@Override public void init() { super.init(); messageDispatcher.register(Command.GATEWAY_PUSH, () -> new GatewayPushHandler(mPushServer.getPushCenter())); if (CC.mp.net.traffic_shaping.gateway_server.enabled) {//启用流量整形,限流 trafficShapingExecutor = Executors.newSingleThreadScheduledExecutor(new NamedPoolThreadFactory(T_TRAFFIC_SHAPING)); trafficShapingHandler = new GlobalChannelTrafficShapingHandler( trafficShapingExecutor, write_global_limit, read_global_limit, write_channel_limit, read_channel_limit, check_interval); } }
public GatewayClient(MPushClient mPushClient) { messageDispatcher = new MessageDispatcher(); messageDispatcher.register(Command.OK, () -> new GatewayOKHandler(mPushClient)); messageDispatcher.register(Command.ERROR, () -> new GatewayErrorHandler(mPushClient)); connectionManager = new NettyConnectionManager(); handler = new GatewayClientChannelHandler(connectionManager, messageDispatcher); if (enabled) { trafficShapingExecutor = Executors.newSingleThreadScheduledExecutor(new NamedPoolThreadFactory(T_TRAFFIC_SHAPING)); trafficShapingHandler = new GlobalChannelTrafficShapingHandler( trafficShapingExecutor, write_global_limit, read_global_limit, write_channel_limit, read_channel_limit, check_interval); } }
@Override public void init() { super.init(); connectionManager.init(); messageDispatcher.register(Command.HEARTBEAT, HeartBeatHandler::new); messageDispatcher.register(Command.HANDSHAKE, () -> new HandshakeHandler(mPushServer)); messageDispatcher.register(Command.BIND, () -> new BindUserHandler(mPushServer)); messageDispatcher.register(Command.UNBIND, () -> new BindUserHandler(mPushServer)); messageDispatcher.register(Command.FAST_CONNECT, () -> new FastConnectHandler(mPushServer)); messageDispatcher.register(Command.PUSH, PushHandlerFactory::create); messageDispatcher.register(Command.ACK, () -> new AckHandler(mPushServer)); messageDispatcher.register(Command.HTTP_PROXY, () -> new HttpProxyHandler(mPushServer), CC.mp.http.proxy_enabled); if (CC.mp.net.traffic_shaping.connect_server.enabled) {//启用流量整形,限流 trafficShapingExecutor = Executors.newSingleThreadScheduledExecutor(new NamedPoolThreadFactory(T_TRAFFIC_SHAPING)); trafficShapingHandler = new GlobalChannelTrafficShapingHandler( trafficShapingExecutor, write_global_limit, read_global_limit, write_channel_limit, read_channel_limit, check_interval); } }
@Override public void init() { super.init(); messageDispatcher.register(Command.GATEWAY_PUSH, () -> new GatewayPushHandler(mPushServer.getPushCenter())); if (CC.mp.net.traffic_shaping.gateway_server.enabled) {//启用流量整形,限流 trafficShapingExecutor = Executors.newSingleThreadScheduledExecutor(new NamedPoolThreadFactory(T_TRAFFIC_SHAPING)); trafficShapingHandler = new GlobalChannelTrafficShapingHandler( trafficShapingExecutor, write_global_limit, read_global_limit, write_channel_limit, read_channel_limit, check_interval); } }
private void createTrafficHandler(EventLoopGroup workerGroup){ if(definition.getQos().getTrafficShaping() != null){ TrafficShaping tf = definition.getQos().getTrafficShaping(); this.trafficHandler = new GlobalChannelTrafficShapingHandler(workerGroup,tf.getWriteLimit(),tf.getReadLimit(),0,0,tf.getCheckInterval(),tf.getMaxTime()); }else{ this.trafficHandler = new GlobalChannelTrafficShapingHandler(workerGroup,0,0,0,0,1000,1000); } }
public GatewayClient(MPushClient mPushClient) { messageDispatcher = new MessageDispatcher(); messageDispatcher.register(Command.OK, () -> new GatewayOKHandler(mPushClient)); messageDispatcher.register(Command.ERROR, () -> new GatewayErrorHandler(mPushClient)); connectionManager = new NettyConnectionManager(); handler = new GatewayClientChannelHandler(connectionManager, messageDispatcher); if (enabled) { trafficShapingExecutor = Executors.newSingleThreadScheduledExecutor(new NamedPoolThreadFactory(T_TRAFFIC_SHAPING)); trafficShapingHandler = new GlobalChannelTrafficShapingHandler( trafficShapingExecutor, write_global_limit, read_global_limit, write_channel_limit, read_channel_limit, check_interval); } }
@Override public void init() { super.init(); connectionManager.init(); messageDispatcher.register(Command.HEARTBEAT, HeartBeatHandler::new); messageDispatcher.register(Command.HANDSHAKE, () -> new HandshakeHandler(mPushServer)); messageDispatcher.register(Command.BIND, () -> new BindUserHandler(mPushServer)); messageDispatcher.register(Command.UNBIND, () -> new BindUserHandler(mPushServer)); messageDispatcher.register(Command.FAST_CONNECT, () -> new FastConnectHandler(mPushServer)); messageDispatcher.register(Command.PUSH, PushHandlerFactory::create); messageDispatcher.register(Command.ACK, () -> new AckHandler(mPushServer)); messageDispatcher.register(Command.HTTP_PROXY, () -> new HttpProxyHandler(mPushServer), CC.mp.http.proxy_enabled); if (CC.mp.net.traffic_shaping.connect_server.enabled) {//启用流量整形,限流 trafficShapingExecutor = Executors.newSingleThreadScheduledExecutor(new NamedPoolThreadFactory(T_TRAFFIC_SHAPING)); trafficShapingHandler = new GlobalChannelTrafficShapingHandler( trafficShapingExecutor, write_global_limit, read_global_limit, write_channel_limit, read_channel_limit, check_interval); } }