Sounds good! looking forward to it! I hope I can have some free cycles to help review it.
On Tue, Jan 18, 2022 at 11:25 PM Lyndon Bauto <[email protected]> wrote: > Hi all, > > I am working on a Golang driver for TinkerPop. I will be working on it on > my fork of TinkerPop > <https://github.com/lyndonb-bq/tinkerpop/tree/gremlin-go>. I have laid out > a plan for delivering it below. Each milestone will come to a main branch > on the TinkerPop repo (branch yet to be made) that can be reviewed by > anyone interested. If you would like to join in the development of the > driver please let me know so we can make sure we are working on separate > things as a couple others are already involved. > > Each milestone will come with a basic README that ought to have enough info > for someone to try out the current features of the driver. If anyone has > any comments or questions on the below plan, feel free to comment. Note - > the first serialization format will be GraphBinary. > > *Milestone 1 - Basic Connectivity with String Traversals* > > 1. Allows string traversals to be sent and received > 2. Returns results as a string > > *Milestone 2 - ResultSet and Programmatic Traversals* > > 1. Proper ResultSet returned (iterable results with proper objects, > might use channel since that is generally preferred in golang) > 2. Programmatic traversal support (g.V().etc()) > > *Milestone 3 - TinkerPop Build Infrastructure Integration* > > 1. Gremlin-Go will build in the TinkerPop build infrastructure > 2. Gherkin test suite integration > 3. Go translator written in Java > 4. Docker integration > > *Milestone 4 - Sessions, Strategies, Translator, Remote Transactions* > > 1. TraversalStrategies and DriverRemoteConnection strategy hookups > 2. Sessions implementation > 3. Remote transactions > > *Milestone 5 - Advanced Driver Features and Configuration Options* > > 1. Connection pooling and load balancing > 2. Custom header injection, keep alive, connection timeout, and > websocket compression > 3. Authentication methods (IAM, kerberos) > 4. GraphSON - Not sure if this will be required - it may be descoped. > > *Milestone 6 - Performance and Documentation* > > 1. Full documentation on par with other TinkerPop drivers > 2. Performance tests and metrics on Driver performance > > -- > *Lyndon Bauto* > Team Lead > Bit Quill Technologies Inc. > [email protected] > https://www.bitquilltech.com >
