com.lxd.client.link.ClientInitalizer.java Source code

Java tutorial

Introduction

Here is the source code for com.lxd.client.link.ClientInitalizer.java

Source

/*
 * Copyright (C) 2014 a5834099147(lxd) <a5834099147@126.com>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package com.lxd.client.link;

import com.lxd.protobuf.msg.Msg;

import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelPipeline;
import io.netty.channel.socket.SocketChannel;
import io.netty.handler.codec.protobuf.ProtobufDecoder;
import io.netty.handler.codec.protobuf.ProtobufEncoder;
import io.netty.handler.codec.protobuf.ProtobufVarint32FrameDecoder;
import io.netty.handler.codec.protobuf.ProtobufVarint32LengthFieldPrepender;

/**
 * ?, ?, ?
 * @author: a5834099147
 * @mailto: a5834099147@126.com
 * @date: 20141216
 * @blog : http://a5834099147.github.io/
 * @review 
 */
public class ClientInitalizer extends ChannelInitializer<SocketChannel> {

    @Override
    protected void initChannel(SocketChannel ch) throws Exception {
        ///< ??
        ChannelPipeline pipeline = ch.pipeline();

        ///< Protobuf  ?
        pipeline.addLast(new ProtobufVarint32FrameDecoder())
                ///<  Protobuf  ??
                .addLast(new ProtobufDecoder(Msg.Msg_.getDefaultInstance()))
                ///<  Protobuf ??
                .addLast(new ProtobufVarint32LengthFieldPrepender())
                ///<  Protobuf ??
                .addLast(new ProtobufEncoder())
                ///<  ??
                .addLast(new ClientHandler());

    }

}