content: package gate.handler;
  
  import com.google.protobuf.Message;
  import io.netty.buffer.ByteBuf;
  import io.netty.channel.ChannelHandlerContext;
  import io.netty.channel.SimpleChannelInboundHandler;
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  import protobuf.ParseRegistryMap;
  import protobuf.Utils;
  import protobuf.generate.internal.Internal;
  
  /**
   * Created by Dell on 2016/2/2.
   */
  public class GateLogicConnectionHandler extends SimpleChannelInboundHandler<Message> {
      private static final Logger logger = LoggerFactory.getLogger(GateLogicConnectionHandler.class);
      private static ChannelHandlerContext _gateLogicConnection;
  
      public static ChannelHandlerContext getGatelogicConnection() {
          return _gateLogicConnection;
      }
  
      @Override
      public void channelActive(ChannelHandlerContext ctx) throws Exception {
          _gateLogicConnection = ctx;
          logger.info("[Gate-Logic] connection is established");
  
          //向logic发送Greet
          sendGreet2Logic();
      }
      @Override
          protected void channelRead0(ChannelHandlerContext channelHandlerContext, Message message) throws Exception {
  
      }
  
      private void sendGreet2Logic() {
          Internal.Greet.Builder ig = Internal.Greet.newBuilder();
          ig.setFrom(Internal.Greet.From.Gate);
          ByteBuf out = Utils.pack2Server(ig.build(), ParseRegistryMap.GREET, -1, Internal.Dest.Logic, "admin");
          getGatelogicConnection().writeAndFlush(out);
          logger.info("Gate send Green to Logic.");
      }
  }
  