Class: Neo4j::Driver::Bolt::Protocol::V43

Inherits:
V4
  • Object
show all
Defined in:
lib/neo4j/driver/bolt/protocol/v43.rb

Overview

Bolt 4.3. First version to offer the "utc" datetime patch (HELLO patch_bolt: ["utc"], opting into UTC-seconds encoding 0x49/0x69). Otherwise identical to V4 — 4.2 does not support the patch. V44 and every 5.x descend from here and inherit the capability; V5 turns it back off since 5.0+ makes UTC native. The packer only switches once the server confirms the patch in the HELLO SUCCESS (Connection#perform_hello).

Direct Known Subclasses

V44

Instance Attribute Summary

Attributes inherited from Base

#connection, #version

Instance Method Summary collapse

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, #configure_packer, #customize_hydration, #enforce_impersonation_support!, #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

#hello_extra(user_agent:, auth:, routing:) ⇒ Object

Advertise the "utc" patch in HELLO. Inherited by V44 (and thus the 5.x ladder); V5 resets patch_bolt_extra to {} since 5.0+ makes UTC native. The packer only switches once the server confirms the patch in the HELLO SUCCESS (Connection#perform_hello).



19
20
21
# File 'lib/neo4j/driver/bolt/protocol/v43.rb', line 19

def hello_extra(user_agent:, auth:, routing:)
  super.merge(patch_bolt_extra)
end

#patch_bolt_extraObject



23
# File 'lib/neo4j/driver/bolt/protocol/v43.rb', line 23

def patch_bolt_extra = { patch_bolt: ['utc'] }