Dynamic-Go
Dynamically operating data for Go. Aiming at reducing serialization/deserializtion process thus it can be fast as much as possible.
Introduction
Dynamic-Go for Thrift protocol: introduction.md.
Dynamic-Go for Protobuf protocol: introduction.md
Usage
thrift
Thrift IDL parser and message operators. It can parse thrift IDL in runtime and handle thrift data in generic way. DOC
thrift/generic
Reflection APIs to search, modify, deserialize, serialize thrift value with or without runtime type descriptor. DOC
thrift/base
The meta data about message transportation, including caller, address, log-id, etc. It is mainly used for conv
(protocol convertion) modules.
thrift/annotation
Built-in implementation of thrid-party annotations, see thrift_idl_annotation_standards. They are mainly used for conv
(protocol convertion) modules.
proto
Protobuf IDL parser and message operators. It can parse protobuf IDL in runtime and handle protobuf data in generic way. DOC
proto/generic
Reflection APIs to search, modify, deserialize, serialize protobuf value with or without runtime descriptor. DOC
proto/protowire
Protobuf data encode and decode APIs. It parses and formats the low-level raw wire encoding. It is modified from Protobuf official code encoding/protowire
.
DOC
proto/binary
BinaryProtocol tool for Protobuf Protocol. It can read, wirte and skip fields directly on binary data of protobuf message. DOC
http
Http request/response wrapper interfaces. They are mainly used to pass http values on http<>thrift
conversion.
DOC
conv
Protocol convertors. Based on reflecting ability of thrift
, json
and protobuf
(WIP) modules, it can convert message from one protocol into another.
conv/j2t
Convert JSON value or JSON-body HTTP request into thrift message. DOC
conv/t2j
Convert thrift message to JSON value or JSON-body HTTP response. DOC
conv/j2p
Convert JSON value into protobuf message. DOC
conv/p2j
Convert protobuf message into JSON value. DOC
Requirements
- Go 1.16~1.20
- Amd64 arch CPU