Class: Neo4j::Driver::Bolt::Protocol::V5

Inherits:
V44 show all
Defined in:
lib/neo4j/driver/bolt/protocol/v5.rb

Overview

Bolt 5.0. HELLO shape is unchanged from V44 (auth still lives inside HELLO; 5.1 is where it splits out). The visible delta is on the wire: 5.0+ mandates UTC-seconds datetime encoding (structures 0x49 / 0x69) for both pack and hydrate. The 0x46 / 0x66 hydration handlers stay registered for back-compat reads from older sources. Extends V44 so it keeps impersonation and the ROUTE map form.

Direct Known Subclasses

V51

Instance Attribute Summary

Attributes inherited from Base

#connection, #version

Instance Method Summary collapse

Methods inherited from V44

#build_route, #supports_impersonation?

Methods inherited from V43

#hello_extra

Methods inherited from V4

#build_route, #supports_multiple_databases?

Methods inherited from Base

#build_begin, #build_discard, #build_hello_message, #build_logon_message, #build_pull, #build_run, #build_telemetry, #customize_hydration, #enforce_impersonation_support!, #hello_extra, #initialize, #notification_config_extra, #pack_uuid, #supports_impersonation?, #supports_multiple_databases?, #supports_notification_filtering?, #supports_re_auth?, #supports_telemetry?, #unpack_uuid

Constructor Details

This class inherits a constructor from Neo4j::Driver::Bolt::Protocol::Base

Instance Method Details

#configure_packer(packer) ⇒ Object



15
16
17
# File 'lib/neo4j/driver/bolt/protocol/v5.rb', line 15

def configure_packer(packer)
  packer.use_utc_datetime = true
end

#patch_bolt_extraObject

5.0+ makes UTC-seconds datetimes native, so drop the "utc" HELLO patch V43 added — V43#hello_extra (inherited via V44) merges this empty map, so 5.0 sends no patch_bolt.



22
# File 'lib/neo4j/driver/bolt/protocol/v5.rb', line 22

def patch_bolt_extra = {}