Class: Neo4j::Driver::Bolt::Protocol::V3
- Defined in:
- lib/neo4j/driver/bolt/protocol/v3.rb
Overview
Bolt 3.0 protocol handler — the oldest version the driver speaks (matches the Java driver's matrix, which starts at 3.0).
Differences from V4 that this class encodes:
* Routing is the `dbms.cluster.routing.getRoutingTable`
procedure (RUN), not a server ROUTE message — but the HELLO
still carries the routing context, matching the Java driver
(and so JRuby): testkit gates `routing` in the 3.0 HELLO on
driver name java/ruby specifically.
* Single-database: no `db` field on RUN / BEGIN. Inherits
supports_multiple_databases? = false from Base, so the
strip_db in build_run / build_begin happens automatically.
* Streaming is all-or-nothing: PULL_ALL (0x3F) and
DISCARD_ALL (0x2F) take no fields, unlike the 4.0+
PULL / DISCARD which carry `{n, qid}`.
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
-
#build_discard(_extra) ⇒ Object
DISCARD_ALL: no metadata map.
-
#build_pull(_extra) ⇒ Object
PULL_ALL: no metadata map.
Methods inherited from Base
#build_begin, #build_hello_message, #build_logon_message, #build_run, #build_telemetry, #configure_packer, #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
#build_discard(_extra) ⇒ Object
DISCARD_ALL: no metadata map.
36 37 38 |
# File 'lib/neo4j/driver/bolt/protocol/v3.rb', line 36 def build_discard(_extra) PackStream::Structure.new(Message::DISCARD, []) end |
#build_pull(_extra) ⇒ Object
PULL_ALL: no metadata map. The caller still passes {n:} for
the 4.0+ path; on 3.0 we discard it and send the bare struct.
31 32 33 |
# File 'lib/neo4j/driver/bolt/protocol/v3.rb', line 31 def build_pull(_extra) PackStream::Structure.new(Message::PULL, []) end |