1
2
3
4
5
6
7
8
9
10
11
12
13
14 package ch.mimo.netty.handler.codec.icap;
15
16 import org.jboss.netty.buffer.ChannelBuffer;
17
18
19
20
21
22
23
24
25
26 public class ReadChunkState extends State<Object> {
27
28 public ReadChunkState(String name) {
29 super(name);
30 }
31
32 @Override
33 public void onEntry(ChannelBuffer buffer, IcapMessageDecoder icapMessageDecoder) throws DecodingException {
34 }
35
36 @Override
37 public StateReturnValue execute(ChannelBuffer buffer, IcapMessageDecoder icapMessageDecoder) throws DecodingException {
38 IcapChunk chunk = new DefaultIcapChunk(buffer.readBytes(icapMessageDecoder.currentChunkSize));
39 chunk.setPreviewChunk(icapMessageDecoder.message.isPreviewMessage());
40 return StateReturnValue.createRelevantResult(chunk);
41 }
42
43 @Override
44 public StateEnum onExit(ChannelBuffer buffer, IcapMessageDecoder icapMessageDecoder, Object decisionInformation) throws DecodingException {
45 return StateEnum.READ_CHUNK_DELIMITER_STATE;
46 }
47 }