1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.jboss.netty.example.localtime;
17
18 import static org.jboss.netty.channel.Channels.*;
19
20 import org.jboss.netty.channel.ChannelPipeline;
21 import org.jboss.netty.channel.ChannelPipelineFactory;
22 import org.jboss.netty.handler.codec.protobuf.ProtobufDecoder;
23 import org.jboss.netty.handler.codec.protobuf.ProtobufEncoder;
24 import org.jboss.netty.handler.codec.protobuf.ProtobufVarint32FrameDecoder;
25 import org.jboss.netty.handler.codec.protobuf.ProtobufVarint32LengthFieldPrepender;
26
27
28
29
30
31
32 public class LocalTimeClientPipelineFactory implements ChannelPipelineFactory {
33
34 public ChannelPipeline getPipeline() throws Exception {
35 ChannelPipeline p = pipeline();
36 p.addLast("frameDecoder", new ProtobufVarint32FrameDecoder());
37 p.addLast("protobufDecoder", new ProtobufDecoder(LocalTimeProtocol.LocalTimes.getDefaultInstance()));
38
39 p.addLast("frameEncoder", new ProtobufVarint32LengthFieldPrepender());
40 p.addLast("protobufEncoder", new ProtobufEncoder());
41
42 p.addLast("handler", new LocalTimeClientHandler());
43 return p;
44 }
45 }