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/fury-site.git
The following commit(s) were added to refs/heads/main by this push:
new 6cb8a198 🔄 synced local 'docs/specification/' with remote
'docs/specification/'
6cb8a198 is described below
commit 6cb8a198029e703dc8d5092895c4ac82c2826df0
Author: chaokunyang <[email protected]>
AuthorDate: Sun Jan 26 10:40:00 2025 +0000
🔄 synced local 'docs/specification/' with remote 'docs/specification/'
---
docs/specification/java_serialization_spec.md | 14 +++++++-------
docs/specification/xlang_serialization_spec.md | 14 +++++++-------
2 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/docs/specification/java_serialization_spec.md
b/docs/specification/java_serialization_spec.md
index 2d482565..958baffa 100644
--- a/docs/specification/java_serialization_spec.md
+++ b/docs/specification/java_serialization_spec.md
@@ -433,7 +433,7 @@ Fury will serialize map chunk by chunk, every chunk has 127
pairs at most.
```
| 1 byte | 1 byte | variable bytes |
+----------------+----------------+-----------------+
-| chunk size: N | KV header | N*2 objects |
+| KV header | chunk size: N | N*2 objects |
```
KV header:
@@ -441,13 +441,13 @@ KV header:
- If track key ref, use the first bit `0b1` of the header to flag it.
- If the key has null, use the second bit `0b10` of the header to flag it. If
ref tracking is enabled for this
key type, this flag is invalid.
-- If the key types of map are different, use the 3rd bit `0b100` of the header
to flag it.
-- If the actual key type of map is not the declared key type, use the 4rd bit
`0b1000` of the header to flag it.
-- If track value ref, use the 5th bit `0b10000` of the header to flag it.
-- If the value has null, use the 6th bit `0b100000` of the header to flag it.
If ref tracking is enabled for this
+- If the actual key type of map is not the declared key type, use the 3rd bit
`0b100` of the header to flag it.
+- If track value ref, use the 4th bit `0b1000` of the header to flag it.
+- If the value has null, use the 5th bit `0b10000` of the header to flag it.
If ref tracking is enabled for this
value type, this flag is invalid.
-- If the value types of map are different, use the 7rd bit `0b1000000` header
to flag it.
-- If the value type of map is not the declared value type, use the 8rd bit
`0b10000000` of the header to flag it.
+- If the value type of map is not the declared value type, use the 6rd bit
`0b100000` of the header to flag it.
+- If key or value is null, that key and value will be written as a separate
chunk, and chunk size writing will be
+ skipped too.
If streaming write is enabled, which means Fury can't update written `chunk
size`. In such cases, map key-value data
format will be:
diff --git a/docs/specification/xlang_serialization_spec.md
b/docs/specification/xlang_serialization_spec.md
index c47710f5..1e8a5a35 100644
--- a/docs/specification/xlang_serialization_spec.md
+++ b/docs/specification/xlang_serialization_spec.md
@@ -587,7 +587,7 @@ Fury will serialize the map chunk by chunk, every chunk has
255 pairs at most.
```
| 1 byte | 1 byte | variable bytes |
+----------------+----------------+-----------------+
-| chunk size: N | KV header | N*2 objects |
+| KV header | chunk size: N | N*2 objects |
```
KV header:
@@ -595,13 +595,13 @@ KV header:
- If track key ref, use the first bit `0b1` of the header to flag it.
- If the key has null, use the second bit `0b10` of the header to flag it. If
ref tracking is enabled for this
key type, this flag is invalid.
-- If the key types of map are different, use the 3rd bit `0b100` of the header
to flag it.
-- If the actual key type of the map is not the declared key type, use the 4rd
bit `0b1000` of the header to flag it.
-- If track value ref, use the 5th bit `0b10000` of the header to flag it.
-- If the value has null, use the 6th bit `0b100000` of the header to flag it.
If ref tracking is enabled for this
+- If the actual key type of map is not the declared key type, use the 3rd bit
`0b100` of the header to flag it.
+- If track value ref, use the 4th bit `0b1000` of the header to flag it.
+- If the value has null, use the 5th bit `0b10000` of the header to flag it.
If ref tracking is enabled for this
value type, this flag is invalid.
-- If the value types of the map are different, use the 7rd bit `0b1000000`
header to flag it.
-- If the value type of map is not the declared value type, use the 8rd bit
`0b10000000` of the header to flag it.
+- If the value type of map is not the declared value type, use the 6rd bit
`0b100000` of the header to flag it.
+- If key or value is null, that key and value will be written as a separate
chunk, and chunk size writing will be
+ skipped too.
If streaming write is enabled, which means Fury can't update written `chunk
size`. In such cases, map key-value data
format will be:
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]