Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(spec): standardizing fury cross-language serialization specification #1413

Merged
merged 41 commits into from
Mar 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
47cf902
init xlang object graph serialization spec
chaokunyang Mar 18, 2024
eefc43b
add comments for null
chaokunyang Mar 18, 2024
581a18e
fix float format doc
chaokunyang Mar 18, 2024
ccb2399
add type system spec
chaokunyang Mar 22, 2024
2597406
misc fix
chaokunyang Mar 22, 2024
355a008
add enum support
chaokunyang Mar 22, 2024
faaacbb
remove namespace and type name spec
chaokunyang Mar 22, 2024
ae9dc2a
lint doc
chaokunyang Mar 22, 2024
7694ae2
lint doc
chaokunyang Mar 22, 2024
b39676c
remove duplicate enum spec
chaokunyang Mar 22, 2024
b90a6cc
refine type ambiguities
chaokunyang Mar 22, 2024
da7d03c
add implementation guidelines for static languages
chaokunyang Mar 22, 2024
088969f
use switch jump for type evolution
chaokunyang Mar 23, 2024
87dfdf8
update spec
chaokunyang Mar 24, 2024
c09dcea
unify capitalization style in type systems
chaokunyang Mar 24, 2024
9004b01
update type id
chaokunyang Mar 24, 2024
b12033a
add type annotation to spec
chaokunyang Mar 24, 2024
bd98fb9
update syntax error
chaokunyang Mar 25, 2024
7188a7c
Update docs/protocols/xlang_object_graph_spec.md
chaokunyang Mar 25, 2024
a0ca476
Update docs/protocols/xlang_object_graph_spec.md
chaokunyang Mar 25, 2024
3c5ad32
refine cap
chaokunyang Mar 25, 2024
63ffb65
add type hash for schema consistent mode
chaokunyang Mar 25, 2024
cce4f69
add SLI for unsigned long
chaokunyang Mar 25, 2024
b75ddca
add var_int32/fixed_int32/fixed_int64/var_int64/sli_int64 type
chaokunyang Mar 25, 2024
f8b6390
refactor meta share mode spec
chaokunyang Mar 26, 2024
0365086
add fixed int32/64 format
chaokunyang Mar 27, 2024
5a70406
add writeElements code link
chaokunyang Mar 27, 2024
2174437
add map key type constraint
chaokunyang Mar 28, 2024
51fe965
refine string encoding
chaokunyang Mar 28, 2024
977cf32
misc updates
chaokunyang Mar 28, 2024
63ca12f
fix meta share
chaokunyang Mar 28, 2024
909ff8e
refine meta share mode
chaokunyang Mar 28, 2024
f625111
add pseudo-code for list
chaokunyang Mar 28, 2024
0789eef
add two bytes magic number
chaokunyang Mar 28, 2024
d8a5567
add version history
chaokunyang Mar 28, 2024
b9c8f07
refine meta share
chaokunyang Mar 30, 2024
14e6163
refactor type meta: make schema consistent stub prefilled in captured…
chaokunyang Mar 30, 2024
734f55d
refine type meta
chaokunyang Mar 30, 2024
58b73c7
fix reset writing_type_defs
chaokunyang Mar 30, 2024
38df325
fix write writing_type_defs
chaokunyang Mar 30, 2024
1ae87a7
concat list size with header
chaokunyang Mar 30, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions docs/guide/xlang_type_mapping.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: Type Mapping of Xlang Serialization
sidebar_position: 3
id: xlang_type_mapping
---

Coming soon.
2 changes: 1 addition & 1 deletion docs/protocols/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Serialization Protocols
- For Cross Language Object Graph Protocol, see [xlang_object_graph_format_spec](./xlang_object_graph_spec.md) doc.
- For Java Object Graph Protocol, see [java_object_graph_format_spec](java_object_graph_spec.md) doc.
- For Cross Language Object Graph Protocol, see [xlang_object_graph_format_spec](./xlang_object_graph.md) doc.
- For Row Format Protocol, see [row format_spec](./row_format.md) doc.
4 changes: 2 additions & 2 deletions docs/protocols/java_object_graph_spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ Meta header is a 64 bits number value encoded in little endian order.
meta
for such types is written separately instead of inlining here is to reduce meta space cost if object of this
type is serialized in current object graph multiple times, and the field value may be null too.
- List Type Info: list type will have an extra byte for elements info.
- Collection Type Info: collection type will have an extra byte for elements info.
Users can use annotation to provide those info.
- elements type same
- elements tracking ref
Expand Down Expand Up @@ -211,7 +211,7 @@ Same encoding algorithm as the previous layer except:

## Meta String

Meta string is mainly used to encode meta strings such class name and field names.
Meta string is mainly used to encode meta strings such as class name and field names.

### Encoding Algorithms

Expand Down
2 changes: 0 additions & 2 deletions docs/protocols/xlang_object_graph.md

This file was deleted.

Loading