1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.directory.mitosis.service.protocol.codec;
21
22
23 import org.apache.directory.mitosis.operation.OperationCodec;
24 import org.apache.directory.mitosis.service.protocol.Constants;
25 import org.apache.directory.mitosis.service.protocol.message.BaseMessage;
26 import org.apache.directory.mitosis.service.protocol.message.LogEntryMessage;
27 import org.apache.directory.server.schema.registries.Registries;
28 import org.apache.mina.common.ByteBuffer;
29 import org.apache.mina.common.IoSession;
30 import org.apache.mina.filter.codec.ProtocolDecoderOutput;
31
32
33 public class LogEntryMessageDecoder extends BaseMessageDecoder
34 {
35 private final OperationCodec operationCodec = new OperationCodec();
36
37
38 public LogEntryMessageDecoder()
39 {
40 super( Constants.LOG_ENTRY, 1, Integer.MAX_VALUE );
41 }
42
43
44 protected BaseMessage decodeBody( Registries registries, int sequence, int bodyLength, ByteBuffer in ) throws Exception
45 {
46 byte[] src = new byte[in.remaining()];
47 in.get( src );
48
49 return new LogEntryMessage( sequence, operationCodec.decode( registries, src ) );
50 }
51
52
53 public void finishDecode( IoSession session, ProtocolDecoderOutput out ) throws Exception
54 {
55 }
56 }