private Message decode()

in computer-core/src/main/java/org/apache/hugegraph/computer/core/network/netty/codec/MessageDecoder.java [70:96]


    private Message decode(ChannelHandlerContext ctx,
                           MessageType msgType,
                           ByteBuf in) {
        if (msgType.category() == MessageType.Category.DATA) {
            // Decode data message
            if (this.fileRegionMode) {
                return DataMessage.parseWithFileRegion(msgType, in);
            } else {
                return DataMessage.parseWithMemoryBuffer(msgType, in);
            }
        }
        switch (msgType) {
            case START:
                return StartMessage.parseFrom(in);
            case ACK:
                return AckMessage.parseFrom(in);
            case FINISH:
                return FinishMessage.parseFrom(in);
            case PING:
                return PingMessage.parseFrom(in);
            case PONG:
                return PongMessage.parseFrom(in);
            default:
                throw new IllegalArgException("Can't decode message type: %s",
                                              msgType);
        }
    }