package com.lingniu.ingest.protocol.jt808.codec;

import com.lingniu.ingest.protocol.jt808.model.Jt808Body;
import com.lingniu.ingest.protocol.jt808.model.Jt808Header;

import java.nio.ByteBuffer;

/**
 * 单一消息体解析器 SPI。每个消息 ID 一个实现，替代旧代码里的巨型 switch。
 *
 * <p>约定：{@code parse} 调用时 buffer.position 指向 body 第 0 字节，
 * 解析完成后 position 停在 body 末尾（不消费校验码）。
 */
public interface BodyParser {

    int messageId();

    Jt808Body parse(Jt808Header header, ByteBuffer body);
}
