Skip to content

Conversation

@AndyHeap-NeoTech
Copy link
Contributor

Implementation of the new manifest style handshake as per the ADR - 30 (https://github.com/neo-technology/drivers-adr/blob/main/adrs/030-handshake-manifest-v1.md)

…per ADR-30. Main logic is contained in the BoltHandShaker class. There have also been updates to the BoltProtocolFactory and BoltProtocolVersion to support identifying versions. A new 'type' VarLong has been added to the util folder, this implements VarInt logic the description of which can be found in the ADR and all good search engines.
…many verisons. Previously it was erroniously reading a full version thinking that that represented the lower bound.

Added support for testkits Feature:Bolt:HandshakeManifestV1

Fixed a bug where the encoded response was being sent with an incorrect length.
…en out are logged.

Removed member variables from the class as it is used as a singleton and state was being carried between multiple handshake negotiations. Means more variables being passed around but I don't want to reengineer at this point.

Updated tests to accomodate the change to member variables.
@AndyHeap-NeoTech
Copy link
Contributor Author

…areTo

Changed type in VarLong.AddSegment to byte.
Copy link
Contributor

@RichardIrons-neo4j RichardIrons-neo4j left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All good!

@AndyHeap-NeoTech AndyHeap-NeoTech merged commit 0f8f4ba into neo4j:5.0 Feb 26, 2025
5 checks passed
@AndyHeap-NeoTech AndyHeap-NeoTech deleted the feature/new-handshake branch March 3, 2025 09:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants