use of io.nuls.protocol.message.base.BaseMessage in project nuls by nuls-io.
the class MessageProcessor method analysisMessage.
private List<BaseMessage> analysisMessage(ByteBuf buffer) throws NulsException {
List<BaseMessage> messageList;
try {
messageList = new ArrayList<>();
byte[] bytes = new byte[buffer.readableBytes()];
buffer.readBytes(bytes);
NulsByteBuffer byteBuffer = new NulsByteBuffer(bytes);
while (!byteBuffer.isFinished()) {
MessageHeader header = byteBuffer.readNulsData(new MessageHeader());
byteBuffer.setCursor(byteBuffer.getCursor() - header.size());
BaseMessage message = getMessageBusService().getMessageInstance(header.getModuleId(), header.getMsgType()).getData();
message = byteBuffer.readNulsData(message);
messageList.add(message);
}
} catch (Exception e) {
throw new NulsException(KernelErrorCode.DATA_ERROR, e);
} finally {
buffer.clear();
}
return messageList;
}
Aggregations