1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.mina.example.sumup.codec;
21
22 import org.apache.mina.core.buffer.IoBuffer;
23 import org.apache.mina.core.session.IoSession;
24 import org.apache.mina.example.sumup.message.AbstractMessage;
25 import org.apache.mina.example.sumup.message.AddMessage;
26 import org.apache.mina.filter.codec.ProtocolDecoderOutput;
27 import org.apache.mina.filter.codec.demux.MessageDecoder;
28
29
30
31
32
33
34 public class AddMessageDecoder extends AbstractMessageDecoder {
35
36 public AddMessageDecoder() {
37 super(Constants.ADD);
38 }
39
40 @Override
41 protected AbstractMessage decodeBody(IoSession session, IoBuffer in) {
42 if (in.remaining() < Constants.ADD_BODY_LEN) {
43 return null;
44 }
45
46 AddMessage m = new AddMessage();
47 m.setValue(in.getInt());
48 return m;
49 }
50
51 public void finishDecode(IoSession session, ProtocolDecoderOutput out)
52 throws Exception {
53 }
54 }