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 public class LocalTimeServerPipelineFactory implements ChannelPipelineFactory {
28
29 public ChannelPipeline getPipeline() throws Exception {
30 ChannelPipeline p = pipeline();
31 p.addLast("frameDecoder", new ProtobufVarint32FrameDecoder());
32 p.addLast("protobufDecoder", new ProtobufDecoder(LocalTimeProtocol.Locations.getDefaultInstance()));
33
34 p.addLast("frameEncoder", new ProtobufVarint32LengthFieldPrepender());
35 p.addLast("protobufEncoder", new ProtobufEncoder());
36
37 p.addLast("handler", new LocalTimeServerHandler());
38 return p;
39 }
40 }