912 B
912 B
Protocol
ProtoDef defines a protocol json format. It organizes types in namespaces.
Example:
{
"types": {
"pstring": "native",
"varint": "native"
},
"namespace1": {
"types": {
"mytype": [
"pstring",
"varint"
]
},
"namespace2": {
"packet": "mytype"
}
}
}
Don't define types with same name (or override types in child namespaces) because this will lead to implementation-defined behavior. Same with override of built-in types such as
u8
.
types : { [String]: Type | "native", ... }
Arguments:
- [object] : a type definition
-
- [key] : the name
-
- [value] : the type (or
"native"
if implemented)
- [value] : the type (or
-
-
- 0 : name of used type
-
-
-
- 1 : options of used type
-
[String] : { [namespace], ... }
Arguments:
- [object] : A namespace object
-
- [key] : type name
-
- [value] : namespace or type (see above) definition