Java tutorial
/* * Copyright 2016 Codnos Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.codnos.dbgp.internal.handlers; import com.codnos.dbgp.internal.commands.Command; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter; import io.netty.channel.group.ChannelGroup; import io.netty.channel.group.DefaultChannelGroup; import io.netty.util.concurrent.GlobalEventExecutor; import java.util.logging.Logger; public class DBGpServerToClientConnectionHandler extends ChannelInboundHandlerAdapter { private static final Logger LOGGER = Logger.getLogger(DBGpServerToClientConnectionHandler.class.getName()); private ChannelGroup channelGroup = new DefaultChannelGroup(GlobalEventExecutor.INSTANCE); @Override public void channelActive(ChannelHandlerContext ctx) throws Exception { LOGGER.fine("Got connection from client!"); channelGroup.add(ctx.channel()); super.channelActive(ctx); } @Override public void channelInactive(ChannelHandlerContext ctx) throws Exception { LOGGER.fine("Client disconnected!"); channelGroup.remove(ctx.channel()); super.channelInactive(ctx); } public void writeAndFlush(Command command) { LOGGER.fine("got message to send outside " + command.getHandlerKey()); channelGroup.writeAndFlush(command); } }