private ProcessResult convertToSendResult(int errCode) {
        DataProxyErrCode dpErrCode = DataProxyErrCode.valueOf(errCode);
        switch (dpErrCode) {
            case SINK_SERVICE_UNREADY:
                return new ProcessResult(ErrorCode.DP_SINK_SERVICE_UNREADY);

            case MISS_REQUIRED_GROUPID_ARGUMENT:
            case MISS_REQUIRED_STREAMID_ARGUMENT:
            case MISS_REQUIRED_DT_ARGUMENT:
            case UNSUPPORTED_EXTEND_FIELD_VALUE:
                return new ProcessResult(ErrorCode.DP_INVALID_ATTRS, String.valueOf(dpErrCode));

            case MISS_REQUIRED_BODY_ARGUMENT:
            case EMPTY_MSG:
                return new ProcessResult(ErrorCode.DP_EMPTY_BODY, String.valueOf(dpErrCode));

            case BODY_EXCEED_MAX_LEN:
                return new ProcessResult(ErrorCode.DP_BODY_EXCEED_MAX_LEN);

            case UNCONFIGURED_GROUPID_OR_STREAMID:
                return new ProcessResult(ErrorCode.DP_UNCONFIGURED_GROUPID_OR_STREAMID);

            case PUT_EVENT_TO_CHANNEL_FAILURE:
            case NO_AVAILABLE_PRODUCER:
            case PRODUCER_IS_NULL:
            case SEND_REQUEST_TO_MQ_FAILURE:
            case MQ_RETURN_ERROR:
            case DUPLICATED_MESSAGE:
                return new ProcessResult(ErrorCode.DP_RECEIVE_FAILURE, String.valueOf(dpErrCode));

            default:
                return new ProcessResult(ErrorCode.UNKNOWN_ERROR, String.valueOf(dpErrCode));
        }
    }
Decode Object class

Used to carry the decoded information of the response
inlong-sdk/dataproxy-sdk/src/main/java/org/apache/inlong/sdk/dataproxy/network/tcp/codec/DecodeObject.java