RmasmMessageDecoder.java 870 Bytes
package com.example.mina.box.rmasm;

import org.apache.mina.core.buffer.IoBuffer;
import org.apache.mina.core.session.IoSession;
import org.apache.mina.filter.codec.ProtocolDecoder;
import org.apache.mina.filter.codec.ProtocolDecoderOutput;

public class RmasmMessageDecoder implements ProtocolDecoder {


    public void decode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
        byte[] bytes = new byte[in.limit()];
        in.get(bytes);
        String cmd = new String(bytes).trim();


        RmasmRequestMessage rmasmRequestMessage = RmasmRequestMessage.builder().cmd(cmd).build();
        out.write(rmasmRequestMessage);
    }

    @Override
    public void finishDecode(IoSession session, ProtocolDecoderOutput out) throws Exception {

    }

    @Override
    public void dispose(IoSession session) throws Exception {

    }
}