[ 
https://issues.apache.org/jira/browse/TINKERPOP-3219?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Haiyu Wang updated TINKERPOP-3219:
----------------------------------
    Description: 
According to maintainers' comments, the title is changed to `Expose 
serialization functions for alternative transport protocols in gremlin-go`

/*

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.

  was:
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.


> 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, 3.8.1
>            Reporter: Haiyu Wang
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 4.0.0, 3.8.1
>
>
> According to maintainers' comments, the title is changed to `Expose 
> serialization functions for alternative transport protocols in gremlin-go`
> /*
> 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)

Reply via email to