This is an automated email from the ASF dual-hosted git repository. chaokunyang pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/fory-site.git
commit 4fc8973ca39d04c0cf92f1fed728d76b024f3b81 Author: chaokunyang <[email protected]> AuthorDate: Wed Aug 26 04:33:08 2026 +0000 🔄 synced local 'docs/specification/' with remote 'docs/specification/' --- docs/specification/java_serialization_spec.md | 12 ++++++------ docs/specification/xlang_serialization_spec.md | 6 +++++- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/docs/specification/java_serialization_spec.md b/docs/specification/java_serialization_spec.md index b2802f2a79f..012d27f06f7 100644 --- a/docs/specification/java_serialization_spec.md +++ b/docs/specification/java_serialization_spec.md @@ -317,12 +317,12 @@ participate in field order. Field identifiers are selected as follows: -- If a field has an explicit non-negative `@ForyField(id = ...)`, that numeric - ID is the field identifier. -- Otherwise, the Java field name converted to snake_case is the field - identifier. -- Negative annotation values are not valid field IDs. The annotation default - value `-1` means no explicit ID and is ignored for identifier selection. +- If a field has an explicit `@ForyField(id = ...)` in the range + `0 <= id < 2^29`, that numeric ID is the field identifier. +- The annotation default `id = -1`, including a field without an explicit + `@ForyField` ID, uses the Java field name converted to snake_case. +- Every other annotation ID is invalid; values below `-1` and values greater + than or equal to `2^29` do not select name-based identity. Identifier comparison is: diff --git a/docs/specification/xlang_serialization_spec.md b/docs/specification/xlang_serialization_spec.md index fa77b9e1e7f..83f579a6532 100644 --- a/docs/specification/xlang_serialization_spec.md +++ b/docs/specification/xlang_serialization_spec.md @@ -840,9 +840,13 @@ Field info list: Each field is encoded as: ``` -| field header (1 byte) | field type info | [field name bytes] | +| field header (1 byte) | [extended name or tag value] | field type info | [field name bytes] | ``` +The optional extended value is a `varuint32`. It is present when the four-bit +size field is saturated for a long encoded name or an extended tag ID, as +defined below. + Field header layout: - Bits 6-7: field name encoding (`UTF8`, `ALL_TO_LOWER_SPECIAL`, --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
