Class: Neo4j::Driver::Bolt::ProtocolVersionHandler
- Inherits:
-
Object
- Object
- Neo4j::Driver::Bolt::ProtocolVersionHandler
- Defined in:
- lib/neo4j/driver/bolt/protocol_version_handler.rb
Overview
Factory for the per-minor protocol handler matching the
negotiated wire version. Lookup is exact (major.minor)
because the Bolt handshake only ever returns a version the
server actually supports — so we don't need fuzzy matching.
Constant Summary collapse
- HANDLERS =
{ BoltVersion::V6_1.to_i => Protocol::V61, BoltVersion::V6_0.to_i => Protocol::V6, BoltVersion::V5_8.to_i => Protocol::V58, BoltVersion::V5_7.to_i => Protocol::V57, BoltVersion::V5_6.to_i => Protocol::V56, BoltVersion::V5_5.to_i => Protocol::V55, BoltVersion::V5_4.to_i => Protocol::V54, BoltVersion::V5_3.to_i => Protocol::V53, BoltVersion::V5_2.to_i => Protocol::V52, BoltVersion::V5_1.to_i => Protocol::V51, BoltVersion::V5_0.to_i => Protocol::V5, BoltVersion::V4_4.to_i => Protocol::V44, BoltVersion::V4_3.to_i => Protocol::V43, BoltVersion::V4_2.to_i => Protocol::V4, BoltVersion::V3_0.to_i => Protocol::V3 }.freeze
Class Method Summary collapse
Class Method Details
.for_version(connection, version_int) ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/neo4j/driver/bolt/protocol_version_handler.rb', line 29 def self.for_version(connection, version_int) version = BoltVersion.from_int(version_int) klass = HANDLERS[version.to_i] || raise(Exceptions::ServiceUnavailableException, "Unsupported Bolt protocol version: #{version}") klass.new(connection, version) end |