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]

Reply via email to