Haiyu Wang created TINKERPOP-3219:
-------------------------------------
Summary: Add public serialization API in gremlin-go for
alternative transport protocols
Key: TINKERPOP-3219
URL: https://issues.apache.org/jira/browse/TINKERPOP-3219
Project: TinkerPop
Issue Type: Improvement
Components: go
Affects Versions: 4.0.0
Reporter: Haiyu Wang
Fix For: 4.0.0
Currently, gremlin-go only supports WebSocket transport. The serialization
logic (GraphBinary) is internal/private, preventing developers from building
custom transport implementations (gRPC, HTTP/2, etc.) while maintaining
Gremlin API compatibility.
This improvement adds a new file gremlin-go/driver/serializer_export.go with
5 exported wrapper functions around existing internal serialization logic:
- SerializeRequest() - Serialize bytecode with traversal source
- SerializeBytecode() - Convenience wrapper using default source
- SerializeStringQuery() - Serialize string queries
- DeserializeResult() - Deserialize response bytes
- NewResultSet() - Create ResultSet from collected results
These are thin wrappers with zero modifications to existing code, fully
backward compatible, and enable the ecosystem to build alternative transports.
Use case: Building gRPC-based Gremlin clients for production deployments.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)