neo4j-ruby-driver 6.0.3.alpha.0 → 6.2.1.beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +113 -411
  3. data/{ruby → lib}/neo4j/driver/access_mode.rb +2 -1
  4. data/lib/neo4j/driver/auth_token_managers.rb +31 -0
  5. data/lib/neo4j/driver/auth_tokens.rb +41 -0
  6. data/lib/neo4j/driver/auto_commit_retries_mode.rb +18 -0
  7. data/lib/neo4j/driver/bolt/bolt_version.rb +67 -0
  8. data/lib/neo4j/driver/bolt/connection.rb +1091 -0
  9. data/lib/neo4j/driver/bolt/handshake.rb +236 -0
  10. data/lib/neo4j/driver/bolt/message/failure.rb +139 -0
  11. data/lib/neo4j/driver/bolt/message/ignored.rb +27 -0
  12. data/lib/neo4j/driver/bolt/message/record.rb +30 -0
  13. data/lib/neo4j/driver/bolt/message/success.rb +34 -0
  14. data/lib/neo4j/driver/bolt/message.rb +112 -0
  15. data/lib/neo4j/driver/bolt/pool.rb +255 -0
  16. data/lib/neo4j/driver/bolt/protocol/base.rb +146 -0
  17. data/lib/neo4j/driver/bolt/protocol/v3.rb +43 -0
  18. data/lib/neo4j/driver/bolt/protocol/v4.rb +24 -0
  19. data/lib/neo4j/driver/bolt/protocol/v43.rb +28 -0
  20. data/lib/neo4j/driver/bolt/protocol/v44.rb +23 -0
  21. data/lib/neo4j/driver/bolt/protocol/v5.rb +27 -0
  22. data/lib/neo4j/driver/bolt/protocol/v51.rb +24 -0
  23. data/lib/neo4j/driver/bolt/protocol/v52.rb +28 -0
  24. data/lib/neo4j/driver/bolt/protocol/v53.rb +27 -0
  25. data/lib/neo4j/driver/bolt/protocol/v54.rb +14 -0
  26. data/lib/neo4j/driver/bolt/protocol/v55.rb +17 -0
  27. data/lib/neo4j/driver/bolt/protocol/v56.rb +14 -0
  28. data/lib/neo4j/driver/bolt/protocol/v57.rb +31 -0
  29. data/lib/neo4j/driver/bolt/protocol/v58.rb +15 -0
  30. data/lib/neo4j/driver/bolt/protocol/v6.rb +43 -0
  31. data/lib/neo4j/driver/bolt/protocol/v61.rb +21 -0
  32. data/lib/neo4j/driver/bolt/protocol_version_handler.rb +39 -0
  33. data/lib/neo4j/driver/bolt/record_buffer.rb +143 -0
  34. data/lib/neo4j/driver/bolt/stream_handler.rb +53 -0
  35. data/lib/neo4j/driver/bolt/tls_config.rb +129 -0
  36. data/lib/neo4j/driver/bolt/wire.rb +321 -0
  37. data/lib/neo4j/driver/bookmark.rb +15 -0
  38. data/lib/neo4j/driver/bookmark_managers.rb +39 -0
  39. data/lib/neo4j/driver/client_certificate.rb +19 -0
  40. data/lib/neo4j/driver/client_certificate_manager.rb +37 -0
  41. data/lib/neo4j/driver/client_certificate_managers.rb +15 -0
  42. data/lib/neo4j/driver/client_certificates.rb +14 -0
  43. data/lib/neo4j/driver/direct/connection_provider.rb +262 -0
  44. data/lib/neo4j/driver/driver.rb +268 -0
  45. data/lib/neo4j/driver/eager_result.rb +10 -0
  46. data/lib/neo4j/driver/exceptions/neo4j_exception.rb +16 -7
  47. data/lib/neo4j/driver/exceptions/no_such_record_exception.rb +1 -1
  48. data/lib/neo4j/driver/exceptions/protocol_exception.rb +0 -5
  49. data/lib/neo4j/driver/exceptions/security_retryable_exception.rb +14 -0
  50. data/lib/neo4j/driver/exceptions/transaction_terminated_exception.rb +13 -0
  51. data/lib/neo4j/driver/graph_database.rb +29 -0
  52. data/lib/neo4j/driver/internal/clock.rb +20 -0
  53. data/lib/neo4j/driver/internal/clock_adapter.rb +21 -0
  54. data/lib/neo4j/driver/internal/default_bookmark_manager.rb +54 -0
  55. data/lib/neo4j/driver/internal/deprecator.rb +9 -5
  56. data/lib/neo4j/driver/internal/driver_factory.rb +128 -0
  57. data/lib/neo4j/driver/internal/duration_normalizer.rb +14 -39
  58. data/lib/neo4j/driver/internal/extras.rb +23 -0
  59. data/lib/neo4j/driver/internal/home_db_cache.rb +57 -0
  60. data/lib/neo4j/driver/internal/internal_auth_token_manager.rb +37 -0
  61. data/lib/neo4j/driver/internal/metrics.rb +31 -0
  62. data/lib/neo4j/driver/internal/security/static_auth_token_manager.rb +25 -0
  63. data/lib/neo4j/driver/internal/validator.rb +16 -2
  64. data/lib/neo4j/driver/net.rb +29 -0
  65. data/lib/neo4j/driver/packstream/markers.rb +49 -0
  66. data/lib/neo4j/driver/packstream/packer.rb +335 -0
  67. data/lib/neo4j/driver/packstream/structure.rb +27 -0
  68. data/lib/neo4j/driver/packstream/unpacker.rb +170 -0
  69. data/lib/neo4j/driver/record.rb +43 -0
  70. data/lib/neo4j/driver/result.rb +282 -0
  71. data/lib/neo4j/driver/routing/load_balancer.rb +706 -0
  72. data/lib/neo4j/driver/routing/routed_connection.rb +132 -0
  73. data/lib/neo4j/driver/routing/routing_table.rb +127 -0
  74. data/lib/neo4j/driver/routing/server_address.rb +25 -0
  75. data/lib/neo4j/driver/routing_control.rb +13 -0
  76. data/lib/neo4j/driver/session.rb +577 -0
  77. data/lib/neo4j/driver/summary/database_info.rb +25 -0
  78. data/lib/neo4j/driver/summary/gql_notification.rb +38 -0
  79. data/lib/neo4j/driver/summary/gql_status_object.rb +35 -0
  80. data/lib/neo4j/driver/summary/notification.rb +46 -0
  81. data/lib/neo4j/driver/summary/plan.rb +23 -0
  82. data/lib/neo4j/driver/summary/profile.rb +28 -0
  83. data/lib/neo4j/driver/summary/query.rb +19 -0
  84. data/lib/neo4j/driver/summary/query_type.rb +5 -1
  85. data/lib/neo4j/driver/summary/result_summary.rb +215 -0
  86. data/lib/neo4j/driver/summary/server_info.rb +33 -0
  87. data/lib/neo4j/driver/summary/summary_counters.rb +72 -0
  88. data/lib/neo4j/driver/transaction.rb +344 -0
  89. data/lib/neo4j/driver/types/duration.rb +76 -0
  90. data/lib/neo4j/driver/types/entity.rb +40 -0
  91. data/lib/neo4j/driver/types/local_date_time.rb +77 -8
  92. data/lib/neo4j/driver/types/local_time.rb +50 -7
  93. data/lib/neo4j/driver/types/node.rb +18 -0
  94. data/lib/neo4j/driver/types/offset_time.rb +78 -7
  95. data/lib/neo4j/driver/types/path.rb +68 -0
  96. data/lib/neo4j/driver/types/point.rb +38 -18
  97. data/lib/neo4j/driver/types/relationship.rb +32 -0
  98. data/lib/neo4j/driver/types/temporal_value.rb +44 -0
  99. data/lib/neo4j/driver/types/unbound_relationship.rb +24 -0
  100. data/lib/neo4j/driver/types/unresolvable_zoned_date_time.rb +38 -0
  101. data/lib/neo4j/driver/types/unsupported_type.rb +25 -0
  102. data/lib/neo4j/driver/types/uuid.rb +29 -0
  103. data/{ruby → lib}/neo4j/driver/version.rb +1 -1
  104. data/lib/neo4j/driver.rb +15 -0
  105. data/lib/neo4j-ruby-driver_loader.rb +34 -20
  106. metadata +115 -441
  107. data/lib/neo4j/driver/internal/bolt_server_address.rb +0 -97
  108. data/lib/neo4j/driver/synchronizable.rb +0 -23
  109. data/lib/neo4j/driver/types/time.rb +0 -45
  110. data/ruby/neo4j/driver/auth_tokens.rb +0 -34
  111. data/ruby/neo4j/driver/bookmark.rb +0 -21
  112. data/ruby/neo4j/driver/config.rb +0 -89
  113. data/ruby/neo4j/driver/graph_database.rb +0 -78
  114. data/ruby/neo4j/driver/internal/async/connection/bolt_protocol_util.rb +0 -51
  115. data/ruby/neo4j/driver/internal/async/connection/bootstrap_factory.rb +0 -22
  116. data/ruby/neo4j/driver/internal/async/connection/channel_attributes.rb +0 -31
  117. data/ruby/neo4j/driver/internal/async/connection/channel_connected_listener.rb +0 -32
  118. data/ruby/neo4j/driver/internal/async/connection/channel_connector_impl.rb +0 -83
  119. data/ruby/neo4j/driver/internal/async/connection/channel_pipeline_builder_impl.rb +0 -22
  120. data/ruby/neo4j/driver/internal/async/connection/direct_connection.rb +0 -30
  121. data/ruby/neo4j/driver/internal/async/connection/event_loop_group_factory.rb +0 -83
  122. data/ruby/neo4j/driver/internal/async/connection/handshake_completed_listener.rb +0 -27
  123. data/ruby/neo4j/driver/internal/async/connection/handshake_handler.rb +0 -113
  124. data/ruby/neo4j/driver/internal/async/connection/netty_channel_initializer.rb +0 -57
  125. data/ruby/neo4j/driver/internal/async/connection/netty_domain_name_resolver.rb +0 -26
  126. data/ruby/neo4j/driver/internal/async/connection/netty_domain_name_resolver_group.rb +0 -19
  127. data/ruby/neo4j/driver/internal/async/connection/routing_connection.rb +0 -36
  128. data/ruby/neo4j/driver/internal/async/connection/stream.rb +0 -12
  129. data/ruby/neo4j/driver/internal/async/connection/stream_reader.rb +0 -16
  130. data/ruby/neo4j/driver/internal/async/connection_context.rb +0 -10
  131. data/ruby/neo4j/driver/internal/async/immutable_connection_context.rb +0 -24
  132. data/ruby/neo4j/driver/internal/async/inbound/byte_buf_input.rb +0 -30
  133. data/ruby/neo4j/driver/internal/async/inbound/channel_error_handler.rb +0 -77
  134. data/ruby/neo4j/driver/internal/async/inbound/chunk_decoder.rb +0 -41
  135. data/ruby/neo4j/driver/internal/async/inbound/connect_timeout_handler.rb +0 -32
  136. data/ruby/neo4j/driver/internal/async/inbound/connection_read_timeout_handler.rb +0 -17
  137. data/ruby/neo4j/driver/internal/async/inbound/inbound_message_dispatcher.rb +0 -171
  138. data/ruby/neo4j/driver/internal/async/inbound/inbound_message_handler.rb +0 -42
  139. data/ruby/neo4j/driver/internal/async/inbound/message_decoder.rb +0 -51
  140. data/ruby/neo4j/driver/internal/async/internal_async_session.rb +0 -92
  141. data/ruby/neo4j/driver/internal/async/internal_async_transaction.rb +0 -13
  142. data/ruby/neo4j/driver/internal/async/leak_logging_network_session.rb +0 -34
  143. data/ruby/neo4j/driver/internal/async/network_connection.rb +0 -194
  144. data/ruby/neo4j/driver/internal/async/network_session.rb +0 -150
  145. data/ruby/neo4j/driver/internal/async/outbound/chunk_aware_byte_buf_output.rb +0 -110
  146. data/ruby/neo4j/driver/internal/async/outbound/outbound_message_handler.rb +0 -39
  147. data/ruby/neo4j/driver/internal/async/pool/channel.rb +0 -66
  148. data/ruby/neo4j/driver/internal/async/pool/channel_pool.rb +0 -31
  149. data/ruby/neo4j/driver/internal/async/pool/channel_tracker.rb +0 -135
  150. data/ruby/neo4j/driver/internal/async/pool/connection_pool_impl.rb +0 -156
  151. data/ruby/neo4j/driver/internal/async/pool/netty_channel_health_checker.rb +0 -87
  152. data/ruby/neo4j/driver/internal/async/pool/netty_channel_pool.rb +0 -52
  153. data/ruby/neo4j/driver/internal/async/pool/network_connection_factory.rb +0 -21
  154. data/ruby/neo4j/driver/internal/async/pool/pool_settings.rb +0 -34
  155. data/ruby/neo4j/driver/internal/async/pool/timed_stack.rb +0 -15
  156. data/ruby/neo4j/driver/internal/async/result_cursors_holder.rb +0 -17
  157. data/ruby/neo4j/driver/internal/async/unmanaged_transaction.rb +0 -212
  158. data/ruby/neo4j/driver/internal/bookmark_holder.rb +0 -9
  159. data/ruby/neo4j/driver/internal/cluster/cluster_composition.rb +0 -48
  160. data/ruby/neo4j/driver/internal/cluster/cluster_composition_lookup_result.rb +0 -14
  161. data/ruby/neo4j/driver/internal/cluster/cluster_routing_table.rb +0 -122
  162. data/ruby/neo4j/driver/internal/cluster/identity_resolver.rb +0 -10
  163. data/ruby/neo4j/driver/internal/cluster/loadbalancing/least_connected_load_balancing_strategy.rb +0 -68
  164. data/ruby/neo4j/driver/internal/cluster/loadbalancing/load_balancer.rb +0 -125
  165. data/ruby/neo4j/driver/internal/cluster/loadbalancing/round_robin_array_index.rb +0 -13
  166. data/ruby/neo4j/driver/internal/cluster/multi_databases_routing_procedure_runner.rb +0 -31
  167. data/ruby/neo4j/driver/internal/cluster/rediscovery_impl.rb +0 -147
  168. data/ruby/neo4j/driver/internal/cluster/route_message_routing_procedure_runner.rb +0 -43
  169. data/ruby/neo4j/driver/internal/cluster/routing_context.rb +0 -77
  170. data/ruby/neo4j/driver/internal/cluster/routing_procedure_cluster_composition_provider.rb +0 -60
  171. data/ruby/neo4j/driver/internal/cluster/routing_procedure_response.rb +0 -35
  172. data/ruby/neo4j/driver/internal/cluster/routing_settings.rb +0 -24
  173. data/ruby/neo4j/driver/internal/cluster/routing_table_handler_impl.rb +0 -95
  174. data/ruby/neo4j/driver/internal/cluster/routing_table_registry_impl.rb +0 -121
  175. data/ruby/neo4j/driver/internal/cluster/single_database_routing_procedure_runner.rb +0 -73
  176. data/ruby/neo4j/driver/internal/connection_settings.rb +0 -16
  177. data/ruby/neo4j/driver/internal/cursor/async_result_cursor_impl.rb +0 -55
  178. data/ruby/neo4j/driver/internal/cursor/async_result_cursor_only_factory.rb +0 -24
  179. data/ruby/neo4j/driver/internal/cursor/disposable_async_result_cursor.rb +0 -61
  180. data/ruby/neo4j/driver/internal/cursor/result_cursor_factory_impl.rb +0 -24
  181. data/ruby/neo4j/driver/internal/cursor/rx_result_cursor_impl.rb +0 -110
  182. data/ruby/neo4j/driver/internal/database_name_util.rb +0 -37
  183. data/ruby/neo4j/driver/internal/default_bookmark_holder.rb +0 -9
  184. data/ruby/neo4j/driver/internal/default_domain_name_resolver.rb +0 -11
  185. data/ruby/neo4j/driver/internal/direct_connection_provider.rb +0 -40
  186. data/ruby/neo4j/driver/internal/driver_factory.rb +0 -126
  187. data/ruby/neo4j/driver/internal/eager_result_value.rb +0 -5
  188. data/ruby/neo4j/driver/internal/handlers/begin_tx_response_handler.rb +0 -20
  189. data/ruby/neo4j/driver/internal/handlers/channel_releasing_reset_response_handler.rb +0 -30
  190. data/ruby/neo4j/driver/internal/handlers/commit_tx_response_handler.rb +0 -23
  191. data/ruby/neo4j/driver/internal/handlers/hello_response_handler.rb +0 -65
  192. data/ruby/neo4j/driver/internal/handlers/init_response_handler.rb +0 -34
  193. data/ruby/neo4j/driver/internal/handlers/legacy_pull_all_response_handler.rb +0 -199
  194. data/ruby/neo4j/driver/internal/handlers/no_op_response_handler.rb +0 -16
  195. data/ruby/neo4j/driver/internal/handlers/ping_response_handler.rb +0 -29
  196. data/ruby/neo4j/driver/internal/handlers/pull_handlers.rb +0 -32
  197. data/ruby/neo4j/driver/internal/handlers/pulln/auto_pull_response_handler.rb +0 -169
  198. data/ruby/neo4j/driver/internal/handlers/pulln/basic_pull_response_handler.rb +0 -298
  199. data/ruby/neo4j/driver/internal/handlers/pulln/fetch_size_util.rb +0 -20
  200. data/ruby/neo4j/driver/internal/handlers/reset_response_handler.rb +0 -34
  201. data/ruby/neo4j/driver/internal/handlers/rollback_tx_response_handler.rb +0 -25
  202. data/ruby/neo4j/driver/internal/handlers/route_message_response_handler.rb +0 -21
  203. data/ruby/neo4j/driver/internal/handlers/routing_response_handler.rb +0 -79
  204. data/ruby/neo4j/driver/internal/handlers/run_response_handler.rb +0 -38
  205. data/ruby/neo4j/driver/internal/handlers/session_pull_response_completion_listener.rb +0 -34
  206. data/ruby/neo4j/driver/internal/handlers/transaction_pull_response_completion_listener.rb +0 -20
  207. data/ruby/neo4j/driver/internal/impersonation_util.rb +0 -22
  208. data/ruby/neo4j/driver/internal/internal_bookmark.rb +0 -9
  209. data/ruby/neo4j/driver/internal/internal_database_name.rb +0 -9
  210. data/ruby/neo4j/driver/internal/internal_driver.rb +0 -83
  211. data/ruby/neo4j/driver/internal/internal_entity.rb +0 -21
  212. data/ruby/neo4j/driver/internal/internal_node.rb +0 -21
  213. data/ruby/neo4j/driver/internal/internal_pair.rb +0 -9
  214. data/ruby/neo4j/driver/internal/internal_path.rb +0 -35
  215. data/ruby/neo4j/driver/internal/internal_point2_d.rb +0 -9
  216. data/ruby/neo4j/driver/internal/internal_point3_d.rb +0 -6
  217. data/ruby/neo4j/driver/internal/internal_record.rb +0 -27
  218. data/ruby/neo4j/driver/internal/internal_relationship.rb +0 -27
  219. data/ruby/neo4j/driver/internal/internal_result.rb +0 -49
  220. data/ruby/neo4j/driver/internal/internal_session.rb +0 -91
  221. data/ruby/neo4j/driver/internal/internal_transaction.rb +0 -48
  222. data/ruby/neo4j/driver/internal/logging/channel_activity_logger.rb +0 -29
  223. data/ruby/neo4j/driver/internal/logging/channel_error_logger.rb +0 -17
  224. data/ruby/neo4j/driver/internal/logging/prefixed_logger.rb +0 -19
  225. data/ruby/neo4j/driver/internal/logging/reformatted_logger.rb +0 -17
  226. data/ruby/neo4j/driver/internal/messaging/abstract_message_writer.rb +0 -23
  227. data/ruby/neo4j/driver/internal/messaging/bolt_protocol.rb +0 -32
  228. data/ruby/neo4j/driver/internal/messaging/bolt_protocol_version.rb +0 -48
  229. data/ruby/neo4j/driver/internal/messaging/common/common_message_reader.rb +0 -51
  230. data/ruby/neo4j/driver/internal/messaging/common/common_value.rb +0 -33
  231. data/ruby/neo4j/driver/internal/messaging/common/common_value_packer.rb +0 -104
  232. data/ruby/neo4j/driver/internal/messaging/common/common_value_unpacker.rb +0 -256
  233. data/ruby/neo4j/driver/internal/messaging/encode/begin_message_encoder.rb +0 -15
  234. data/ruby/neo4j/driver/internal/messaging/encode/commit_message_encoder.rb +0 -14
  235. data/ruby/neo4j/driver/internal/messaging/encode/discard_all_message_encoder.rb +0 -14
  236. data/ruby/neo4j/driver/internal/messaging/encode/discard_message_encoder.rb +0 -15
  237. data/ruby/neo4j/driver/internal/messaging/encode/goodbye_message_encoder.rb +0 -14
  238. data/ruby/neo4j/driver/internal/messaging/encode/hello_message_encoder.rb +0 -15
  239. data/ruby/neo4j/driver/internal/messaging/encode/init_message_encoder.rb +0 -16
  240. data/ruby/neo4j/driver/internal/messaging/encode/logoff_message_encoder.rb +0 -14
  241. data/ruby/neo4j/driver/internal/messaging/encode/logon_message_encoder.rb +0 -15
  242. data/ruby/neo4j/driver/internal/messaging/encode/pull_all_message_encoder.rb +0 -14
  243. data/ruby/neo4j/driver/internal/messaging/encode/pull_message_encoder.rb +0 -15
  244. data/ruby/neo4j/driver/internal/messaging/encode/reset_message_encoder.rb +0 -14
  245. data/ruby/neo4j/driver/internal/messaging/encode/rollback_message_encoder.rb +0 -14
  246. data/ruby/neo4j/driver/internal/messaging/encode/route_message_encoder.rb +0 -24
  247. data/ruby/neo4j/driver/internal/messaging/encode/route_v44_message_encoder.rb +0 -22
  248. data/ruby/neo4j/driver/internal/messaging/encode/run_message_encoder.rb +0 -16
  249. data/ruby/neo4j/driver/internal/messaging/encode/run_with_metadata_message_encoder.rb +0 -17
  250. data/ruby/neo4j/driver/internal/messaging/request/abstract_streaming_message.rb +0 -25
  251. data/ruby/neo4j/driver/internal/messaging/request/begin_message.rb +0 -25
  252. data/ruby/neo4j/driver/internal/messaging/request/commit_message.rb +0 -20
  253. data/ruby/neo4j/driver/internal/messaging/request/discard_all_message.rb +0 -20
  254. data/ruby/neo4j/driver/internal/messaging/request/discard_message.rb +0 -23
  255. data/ruby/neo4j/driver/internal/messaging/request/goodbye_message.rb +0 -20
  256. data/ruby/neo4j/driver/internal/messaging/request/hello_message.rb +0 -30
  257. data/ruby/neo4j/driver/internal/messaging/request/init_message.rb +0 -19
  258. data/ruby/neo4j/driver/internal/messaging/request/logoff_message.rb +0 -13
  259. data/ruby/neo4j/driver/internal/messaging/request/logon_message.rb +0 -13
  260. data/ruby/neo4j/driver/internal/messaging/request/message_with_metadata.rb +0 -17
  261. data/ruby/neo4j/driver/internal/messaging/request/multi_database_util.rb +0 -26
  262. data/ruby/neo4j/driver/internal/messaging/request/pull_all_message.rb +0 -23
  263. data/ruby/neo4j/driver/internal/messaging/request/pull_message.rb +0 -22
  264. data/ruby/neo4j/driver/internal/messaging/request/reset_message.rb +0 -32
  265. data/ruby/neo4j/driver/internal/messaging/request/rollback_message.rb +0 -20
  266. data/ruby/neo4j/driver/internal/messaging/request/route_message.rb +0 -28
  267. data/ruby/neo4j/driver/internal/messaging/request/run_message.rb +0 -23
  268. data/ruby/neo4j/driver/internal/messaging/request/run_with_metadata_message.rb +0 -49
  269. data/ruby/neo4j/driver/internal/messaging/request/transaction_metadata_builder.rb +0 -24
  270. data/ruby/neo4j/driver/internal/messaging/response/failure_message.rb +0 -40
  271. data/ruby/neo4j/driver/internal/messaging/response/ignored_message.rb +0 -29
  272. data/ruby/neo4j/driver/internal/messaging/response/record_message.rb +0 -33
  273. data/ruby/neo4j/driver/internal/messaging/response/success_message.rb +0 -34
  274. data/ruby/neo4j/driver/internal/messaging/v3/bolt_protocol_v3.rb +0 -82
  275. data/ruby/neo4j/driver/internal/messaging/v3/message_format_v3.rb +0 -17
  276. data/ruby/neo4j/driver/internal/messaging/v3/message_writer_v3.rb +0 -27
  277. data/ruby/neo4j/driver/internal/messaging/v4/bolt_protocol_v4.rb +0 -29
  278. data/ruby/neo4j/driver/internal/messaging/v4/message_format_v4.rb +0 -13
  279. data/ruby/neo4j/driver/internal/messaging/v4/message_writer_v4.rb +0 -17
  280. data/ruby/neo4j/driver/internal/messaging/v41/bolt_protocol_v41.rb +0 -25
  281. data/ruby/neo4j/driver/internal/messaging/v42/bolt_protocol_v42.rb +0 -13
  282. data/ruby/neo4j/driver/internal/messaging/v43/bolt_protocol_v43.rb +0 -19
  283. data/ruby/neo4j/driver/internal/messaging/v43/message_format_v43.rb +0 -14
  284. data/ruby/neo4j/driver/internal/messaging/v43/message_writer_v43.rb +0 -20
  285. data/ruby/neo4j/driver/internal/messaging/v44/bolt_protocol_v44.rb +0 -17
  286. data/ruby/neo4j/driver/internal/messaging/v44/message_format_v44.rb +0 -14
  287. data/ruby/neo4j/driver/internal/messaging/v44/message_writer_v44.rb +0 -15
  288. data/ruby/neo4j/driver/internal/messaging/v5/bolt_protocol_v5.rb +0 -21
  289. data/ruby/neo4j/driver/internal/messaging/v5/message_format_v5.rb +0 -18
  290. data/ruby/neo4j/driver/internal/messaging/v5/value_unpacker_v5.rb +0 -17
  291. data/ruby/neo4j/driver/internal/messaging/v51/bolt_protocol_v51.rb +0 -40
  292. data/ruby/neo4j/driver/internal/messaging/v51/message_format_v51.rb +0 -14
  293. data/ruby/neo4j/driver/internal/messaging/v51/message_writer_v51.rb +0 -17
  294. data/ruby/neo4j/driver/internal/metrics/connection_pool_metrics_listener.rb +0 -34
  295. data/ruby/neo4j/driver/internal/metrics/internal_abstract_metrics.rb +0 -46
  296. data/ruby/neo4j/driver/internal/metrics/internal_connection_pool_metrics.rb +0 -105
  297. data/ruby/neo4j/driver/internal/metrics/internal_metrics.rb +0 -82
  298. data/ruby/neo4j/driver/internal/metrics/internal_metrics_provider.rb +0 -18
  299. data/ruby/neo4j/driver/internal/metrics/listener_event.rb +0 -17
  300. data/ruby/neo4j/driver/internal/metrics/metrics_provider.rb +0 -24
  301. data/ruby/neo4j/driver/internal/metrics/time_recorder_listener_event.rb +0 -15
  302. data/ruby/neo4j/driver/internal/packstream/byte_array_incompatible_packer.rb +0 -12
  303. data/ruby/neo4j/driver/internal/packstream/pack_input.rb +0 -47
  304. data/ruby/neo4j/driver/internal/packstream/pack_output.rb +0 -39
  305. data/ruby/neo4j/driver/internal/packstream/pack_stream.rb +0 -324
  306. data/ruby/neo4j/driver/internal/packstream/pack_type.rb +0 -17
  307. data/ruby/neo4j/driver/internal/read_only_bookmark_holder.rb +0 -13
  308. data/ruby/neo4j/driver/internal/resolved_bolt_server_address.rb +0 -35
  309. data/ruby/neo4j/driver/internal/retry/exponential_backoff_retry_logic.rb +0 -150
  310. data/ruby/neo4j/driver/internal/revocation_strategy.rb +0 -19
  311. data/ruby/neo4j/driver/internal/scheme.rb +0 -32
  312. data/ruby/neo4j/driver/internal/security/internal_auth_token.rb +0 -15
  313. data/ruby/neo4j/driver/internal/security/security_plan_impl.rb +0 -48
  314. data/ruby/neo4j/driver/internal/security_setting.rb +0 -66
  315. data/ruby/neo4j/driver/internal/session_factory_impl.rb +0 -32
  316. data/ruby/neo4j/driver/internal/spi/connection.rb +0 -19
  317. data/ruby/neo4j/driver/internal/spi/connection_pool.rb +0 -9
  318. data/ruby/neo4j/driver/internal/spi/response_handler.rb +0 -23
  319. data/ruby/neo4j/driver/internal/summary/internal_database_info.rb +0 -7
  320. data/ruby/neo4j/driver/internal/summary/internal_input_position.rb +0 -11
  321. data/ruby/neo4j/driver/internal/summary/internal_notification.rb +0 -16
  322. data/ruby/neo4j/driver/internal/summary/internal_plan.rb +0 -41
  323. data/ruby/neo4j/driver/internal/summary/internal_profiled_plan.rb +0 -32
  324. data/ruby/neo4j/driver/internal/summary/internal_result_summary.rb +0 -33
  325. data/ruby/neo4j/driver/internal/summary/internal_server_info.rb +0 -6
  326. data/ruby/neo4j/driver/internal/summary/internal_summary_counters.rb +0 -18
  327. data/ruby/neo4j/driver/internal/svm/netty_substitutions.rb +0 -196
  328. data/ruby/neo4j/driver/internal/svm/z_lib_substitutions.rb +0 -21
  329. data/ruby/neo4j/driver/internal/util/certificate_tool.rb +0 -65
  330. data/ruby/neo4j/driver/internal/util/clock.rb +0 -29
  331. data/ruby/neo4j/driver/internal/util/error_util.rb +0 -104
  332. data/ruby/neo4j/driver/internal/util/extract.rb +0 -123
  333. data/ruby/neo4j/driver/internal/util/format.rb +0 -39
  334. data/ruby/neo4j/driver/internal/util/futures.rb +0 -99
  335. data/ruby/neo4j/driver/internal/util/iterables.rb +0 -35
  336. data/ruby/neo4j/driver/internal/util/lock_util.rb +0 -23
  337. data/ruby/neo4j/driver/internal/util/metadata_extractor.rb +0 -101
  338. data/ruby/neo4j/driver/internal/util/mutex.rb +0 -9
  339. data/ruby/neo4j/driver/internal/util/preconditions.rb +0 -16
  340. data/ruby/neo4j/driver/internal/util/result_holder.rb +0 -72
  341. data/ruby/neo4j/driver/internal/util/server_version.rb +0 -60
  342. data/ruby/neo4j/driver/logging1.rb +0 -51
  343. data/ruby/neo4j/driver/net/server_address.rb +0 -9
  344. data/ruby/neo4j/driver/query.rb +0 -48
  345. data/ruby/neo4j/driver/records.rb +0 -13
  346. data/ruby/neo4j/driver/transaction_config.rb +0 -50
  347. data/ruby/neo4j/driver/values.rb +0 -26
  348. data/ruby/neo4j/driver.rb +0 -30
@@ -1,48 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Messaging
4
- class BoltProtocolVersion < Struct.new(:major_version, :minor_version)
5
- include Comparable
6
-
7
- def self.from_raw_bytes(raw_version)
8
- major = raw_version & 0x000000FF
9
- minor = (raw_version >> 8) & 0x000000FF
10
- new(major, minor)
11
- end
12
-
13
- def to_int
14
- shifted_minor = minor_version << 8
15
- shifted_minor | major_version
16
- end
17
-
18
- def to_int_range(min_version)
19
- if major_version != min_version.major_version
20
- raise ArgumentError, 'Versions should be from the same major version'
21
- elsif minor_version < min_version.minor_version
22
- raise ArgumentError, 'Max version should be newer than min version'
23
- end
24
-
25
- range = minor_version - min_version.minor_version
26
- shifted_range = range << 16
27
- shifted_range | to_int
28
- end
29
-
30
- # @return the version in format X.Y where X is the major version and Y is the minor version
31
- def to_s
32
- values.join('.')
33
- end
34
-
35
- def <=>(other)
36
- result = major_version <=> other.major_version
37
- result == 0 ? minor_version <=> other.minor_version : result
38
- end
39
-
40
- def self.http?(protocol_version)
41
- # server would respond with `HTTP..` We read 4 bytes to figure out the version. The first two are not used
42
- # and therefore parse the `P` (80) for major and `T` (84) for minor.
43
- protocol_version.major_version == 80 && protocol_version.minor_version == 84
44
- end
45
- end
46
- end
47
- end
48
- end
@@ -1,51 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Messaging
4
- module Common
5
- class CommonMessageReader
6
- def initialize(input)
7
- @unpacker = input
8
- end
9
-
10
- def read(handler)
11
- @unpacker.unpack_struct_header
12
- type = @unpacker.unpack_struct_signature
13
-
14
- case type
15
- when Response::SuccessMessage::SIGNATURE
16
- unpack_success_message(handler)
17
- when Response::FailureMessage::SIGNATURE
18
- unpack_failure_message(handler)
19
- when Response::IgnoredMessage::SIGNATURE
20
- unpack_ignored_message(handler)
21
- when Response::RecordMessage::SIGNATURE
22
- unpack_record_message(handler)
23
- else
24
- raise IOError, "Unknown message type: #{type}"
25
- end
26
- end
27
-
28
- private
29
-
30
- def unpack_success_message(output)
31
- map = @unpacker.unpack
32
- output.handle_success_message(map)
33
- end
34
-
35
- def unpack_failure_message(output)
36
- output.handle_failure_message(**@unpacker.unpack)
37
- end
38
-
39
- def unpack_ignored_message(output)
40
- output.handle_ignored_message
41
- end
42
-
43
- def unpack_record_message(output)
44
- fields = @unpacker.unpack
45
- output.handle_record_message(fields)
46
- end
47
- end
48
- end
49
- end
50
- end
51
- end
@@ -1,33 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Messaging
4
- module Common
5
- module CommonValue
6
- include Packstream::PackStream::Common
7
- DATE = 'D'
8
- DATE_STRUCT_SIZE = 1
9
- TIME = 'T'
10
- TIME_STRUCT_SIZE = 2
11
- LOCAL_TIME = 't'
12
- LOCAL_TIME_STRUCT_SIZE = 1
13
- LOCAL_DATE_TIME = 'd'
14
- LOCAL_DATE_TIME_STRUCT_SIZE = 2
15
- DATE_TIME_WITH_ZONE_OFFSET = 'F'
16
- DATE_TIME_WITH_ZONE_OFFSET_UTC = 'I'
17
- DATE_TIME_WITH_ZONE_ID = 'f'
18
- DATE_TIME_WITH_ZONE_ID_UTC = 'i'
19
- DATE_TIME_STRUCT_SIZE = 3
20
- DURATION = 'E'
21
- DURATION_TIME_STRUCT_SIZE = 4
22
- POINT_2D_STRUCT_TYPE = 'X'
23
- POINT_2D_STRUCT_SIZE = 3
24
- POINT_3D_STRUCT_TYPE = 'Y'
25
- POINT_3D_STRUCT_SIZE = 4
26
-
27
- EPOCH = Date.parse('1970-01-01')
28
- NANO_FACTOR = 1_000_000_000
29
- end
30
- end
31
- end
32
- end
33
- end
@@ -1,104 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Messaging
4
- module Common
5
- module CommonValuePacker
6
- include CommonValue
7
- attr_writer :date_time_utc_enabled
8
-
9
- def pack(value)
10
- case value
11
- when ActiveSupport::Duration
12
- pack_duration(value)
13
- when Types::Point
14
- pack_point(value)
15
- when Types::OffsetTime
16
- pack_time(value)
17
- when Types::LocalTime
18
- pack_local_time(value)
19
- when Types::LocalDateTime
20
- pack_local_date_time(value)
21
- when ActiveSupport::TimeWithZone
22
- pack_date_time_with_zone_id(value)
23
- when Time, DateTime
24
- pack_date_time_with_zone_offset(value)
25
- when Date
26
- pack_date(value)
27
- else
28
- super
29
- end
30
- end
31
-
32
- private
33
-
34
- def pack_date(local_date)
35
- pack_struct_header(DATE_STRUCT_SIZE, DATE)
36
- pack_integer((local_date - EPOCH).to_i)
37
- end
38
-
39
- def pack_time(offset_time)
40
- pack_struct_header(TIME_STRUCT_SIZE, TIME)
41
- pack_nano_of_day(offset_time)
42
- pack_utc_offset(offset_time)
43
- end
44
-
45
- def pack_utc_offset(time)
46
- pack_integer(time.utc_offset)
47
- end
48
-
49
- def pack_nano_of_day(local_time)
50
- pack_integer(((local_time.hour * 60 + local_time.min) * 60 + local_time.sec) * NANO_FACTOR + local_time.nsec)
51
- end
52
-
53
- def pack_local_time(local_time)
54
- pack_struct_header(LOCAL_TIME_STRUCT_SIZE, LOCAL_TIME)
55
- pack_nano_of_day(local_time)
56
- end
57
-
58
- def pack_local_date_time(local_date_time)
59
- pack_struct_header(LOCAL_DATE_TIME_STRUCT_SIZE, LOCAL_DATE_TIME)
60
- pack_integer(local_date_time.to_i)
61
- pack_integer(local_date_time.nsec)
62
- end
63
-
64
- def pack_date_time_with_zone_id(time)
65
- pack_struct_header(DATE_TIME_STRUCT_SIZE,
66
- @date_time_utc_enabled ? DATE_TIME_WITH_ZONE_ID_UTC : DATE_TIME_WITH_ZONE_ID)
67
- pack_date_time(time)
68
- pack_string(time.time_zone.tzinfo.identifier)
69
- end
70
-
71
- def pack_date_time(time)
72
- pack_integer(time.to_i + (@date_time_utc_enabled ? 0 : time.utc_offset))
73
- pack_integer(time.nsec)
74
- end
75
-
76
- def pack_date_time_with_zone_offset(time)
77
- pack_struct_header(DATE_TIME_STRUCT_SIZE,
78
- @date_time_utc_enabled ? DATE_TIME_WITH_ZONE_OFFSET_UTC : DATE_TIME_WITH_ZONE_OFFSET)
79
- pack_date_time(time)
80
- pack_utc_offset(time)
81
- end
82
-
83
- def pack_duration(duration)
84
- pack_struct_header(DURATION_TIME_STRUCT_SIZE, DURATION)
85
- DurationNormalizer.normalize(duration).each(&method(:pack_integer))
86
- end
87
-
88
- def pack_point(point)
89
- case point.coordinates.size
90
- when 2
91
- pack_struct_header(POINT_2D_STRUCT_SIZE, POINT_2D_STRUCT_TYPE)
92
- when 3
93
- pack_struct_header(POINT_3D_STRUCT_SIZE, POINT_3D_STRUCT_TYPE)
94
- else
95
- raise IOError, "Unknown type: type: #{point.class}, value: #{point.to_s}"
96
- end
97
- pack_integer(point.srid.to_i)
98
- point.coordinates.each(&method(:pack_float))
99
- end
100
- end
101
- end
102
- end
103
- end
104
- end
@@ -1,256 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Messaging
4
- module Common
5
- module CommonValueUnpacker
6
- include CommonValue
7
- NODE = 'N'
8
- RELATIONSHIP = 'R'
9
- UNBOUND_RELATIONSHIP = 'r'
10
- PATH = 'P'
11
- NODE_FIELDS = 3
12
- RELATIONSHIP_FIELDS = 5
13
-
14
- def unpack_map(size)
15
- size.times.to_h { [unpack.to_sym, unpack] }
16
- end
17
-
18
- def unpack_array(size)
19
- size.times.map { unpack }
20
- end
21
-
22
- def unpack
23
- marker_byte = read_byte
24
- marker_high_nibble = marker_byte & 0xF0
25
- marker_low_nibble = marker_byte & 0x0F
26
-
27
- case marker_high_nibble
28
- when TINY_STRING
29
- return unpack_string(marker_low_nibble)
30
- when TINY_LIST
31
- return unpack_array(marker_low_nibble)
32
- when TINY_MAP
33
- return unpack_map(marker_low_nibble)
34
- when TINY_STRUCT
35
- return unpack_struct(marker_low_nibble, read_char)
36
- end
37
-
38
- case marker_byte & 0xFF # we read a signed byte but markers are unsigned
39
- when NULL
40
- nil
41
- when TRUE
42
- true
43
- when FALSE
44
- false
45
- when FLOAT_64
46
- unpack_double
47
- when BYTES_8
48
- unpack_bytes(read_ubyte)
49
- when BYTES_16
50
- unpack_bytes(read_ushort)
51
- when BYTES_32
52
- unpack_bytes(read_uint)
53
- when STRING_8
54
- unpack_string(read_ubyte)
55
- when STRING_16
56
- unpack_string(read_ushort)
57
- when STRING_32
58
- unpack_string(read_uint)
59
- when LIST_8
60
- unpack_array(read_ubyte)
61
- when LIST_16
62
- unpack_array(read_ushort)
63
- when LIST_32
64
- unpack_array(read_uint)
65
- when MAP_8
66
- unpack_map(read_ubyte)
67
- when MAP_16
68
- unpack_map(read_ushort)
69
- when STRUCT_8
70
- unpack_struct(read_ubyte, read_char)
71
- when STRUCT_16
72
- unpack_struct(read_ushort, read_char)
73
- else
74
- unpack_long(marker_byte)
75
- end
76
- end
77
-
78
- def unpack_struct(size, type)
79
- case type
80
- when DATE
81
- ensure_correct_struct_size(:DATE, DATE_STRUCT_SIZE, size)
82
- unpack_date
83
- when TIME
84
- ensure_correct_struct_size(:TIME, TIME_STRUCT_SIZE, size)
85
- unpack_time
86
- when LOCAL_TIME
87
- ensure_correct_struct_size(:LOCAL_TIME, LOCAL_TIME_STRUCT_SIZE, size)
88
- unpack_local_time
89
- when LOCAL_DATE_TIME
90
- ensure_correct_struct_size(:LOCAL_DATE_TIME, LOCAL_DATE_TIME_STRUCT_SIZE, size)
91
- unpack_local_date_time
92
- when DATE_TIME_WITH_ZONE_OFFSET
93
- ensure_correct_struct_size(:DATE_TIME_WITH_ZONE_OFFSET, DATE_TIME_STRUCT_SIZE, size)
94
- unpack_date_time_with_zone_offset
95
- when DATE_TIME_WITH_ZONE_OFFSET_UTC
96
- ensure_correct_struct_size(:DATE_TIME_WITH_ZONE_OFFSET_UTC, DATE_TIME_STRUCT_SIZE, size)
97
- unpack_date_time_with_zone_offset(true)
98
- when DATE_TIME_WITH_ZONE_ID
99
- ensure_correct_struct_size(:DATE_TIME_WITH_ZONE_ID, DATE_TIME_STRUCT_SIZE, size)
100
- unpack_date_time_with_zone_id
101
- when DATE_TIME_WITH_ZONE_ID_UTC
102
- ensure_correct_struct_size(:DATE_TIME_WITH_ZONE_ID_UTC, DATE_TIME_STRUCT_SIZE, size)
103
- unpack_date_time_with_zone_id(true)
104
- when DURATION
105
- ensure_correct_struct_size(:DURATION, DURATION_TIME_STRUCT_SIZE, size)
106
- unpack_duration
107
- when POINT_2D_STRUCT_TYPE
108
- ensure_correct_struct_size(:POINT, POINT_2D_STRUCT_SIZE, size)
109
- unpack_point2_d
110
- when POINT_3D_STRUCT_TYPE
111
- ensure_correct_struct_size(:POINT, POINT_3D_STRUCT_SIZE, size)
112
- unpack_point3_d
113
- when NODE
114
- ensure_correct_struct_size(:NODE, node_fields, size)
115
- adapted = unpack_node
116
- when RELATIONSHIP
117
- ensure_correct_struct_size(:RELATIONSHIP, relationship_fields, size)
118
- unpack_relationship
119
- when UNBOUND_RELATIONSHIP
120
- ensure_correct_struct_size(:RELATIONSHIP, unbound_relationship_fields, size)
121
- unpack_unbound_relationship
122
- when PATH
123
- ensure_correct_struct_size(:PATH, 3, size)
124
- unpack_path
125
- else
126
- raise IOError, "Unknown struct type: #{type}"
127
- end
128
- end
129
-
130
- private
131
-
132
- def unpack_relationship
133
- id = unpack
134
- start_node_id = unpack
135
- end_node_id = unpack
136
- type = unpack
137
- properties = unpack
138
- InternalRelationship.new(id, unpack_element_id, start_node_id, unpack_element_id, end_node_id, unpack_element_id, type, **properties)
139
- end
140
-
141
- def unpack_unbound_relationship
142
- id = unpack
143
- type = unpack
144
- properties = unpack
145
- InternalRelationship.new(id, unpack_element_id, *[nil] * 4, type, **properties)
146
- end
147
-
148
- def unpack_node
149
- id = unpack
150
- labels = unpack.map(&:to_sym)
151
- properties = unpack
152
- InternalNode.new(id, unpack_element_id, *labels, **properties)
153
- end
154
-
155
- def unpack_path
156
- uniq_nodes = unpack
157
- uniq_rels = unpack
158
- sequence = unpack
159
- prev_node = uniq_nodes.first
160
- nodes = [prev_node] # Start node is always 0, and isn't encoded in the sequence
161
- rels = []
162
- path = Types::Path.new(nodes, rels)
163
- sequence.in_groups_of(2) do |rel_idx, node_idx|
164
- node = uniq_nodes[node_idx]
165
- nodes << node
166
- rel = uniq_rels[rel_idx.abs - 1] # -1 because rel idx are 1-indexed
167
- update(rel, prev_node, node, rel_idx.negative?)
168
- rels << rel
169
- path << Types::Path::Segment.new(prev_node, rel, node)
170
- prev_node = node
171
- end
172
- path
173
- end
174
-
175
- def update(rel, prev_node, node, inversed)
176
- # Negative rel index means this rel was traversed "inversed" from its direction
177
- prev_node, node = node, prev_node if inversed
178
- rel.start_node_id = prev_node.id
179
- rel.end_node_id = node.id
180
- end
181
-
182
- def ensure_correct_struct_size(type_constructor, expected, actual)
183
- if expected != actual
184
- struct_name = type_constructor.to_s
185
- raise Neo4j::Driver::Exceptions::ClientException, "Invalid message received, serialized #{struct_name} structures should have #{expected} fields, received #{struct_name} structure has #{actual} fields."
186
- end
187
- end
188
-
189
- def node_fields = NODE_FIELDS
190
-
191
- def relationship_fields = RELATIONSHIP_FIELDS
192
-
193
- def unbound_relationship_fields = 3
194
-
195
- def unpack_element_id = nil
196
-
197
- def ensure_correct_struct_signature(struct_name, expected, actual)
198
- if expected != actual
199
- struct_name = type_constructor.to_s
200
- raise Neo4j::Driver::Exceptions::ClientException, "Invalid message received, expected a `#{struct_name}`, signature 0x#{expected.to_i.to_s(16)}. Received signature was 0x#{actual.to_i.to_s(16)}."
201
- end
202
- end
203
-
204
- def unpack_date
205
- EPOCH + unpack
206
- end
207
-
208
- def time(nano_of_day_local, offset_seconds = nil)
209
- min, sec = Rational(nano_of_day_local, NANO_FACTOR).divmod(60)
210
- Time.new(0, 1, 1, *min.divmod(60), sec, offset_seconds)
211
- end
212
-
213
- def unpack_time
214
- Types::OffsetTime.new(time(unpack, unpack))
215
- end
216
-
217
- def unpack_local_time
218
- Types::LocalTime.new(time(unpack))
219
- end
220
-
221
- def unpack_local_date_time
222
- Types::LocalDateTime.new(Time.at(unpack, unpack, :nsec).utc)
223
- end
224
-
225
- def unpack_date_time_with_zone_offset(utc = false)
226
- # Time.at(unpack, unpack, :nsec, in: unpack)
227
- sec = unpack
228
- nsec = unpack
229
- offset = unpack
230
- time = Time.at(sec, nsec, :nsec).utc
231
- time += offset if utc
232
- Time.new(time.year, time.month, time.mday, time.hour, time.min, time.sec + Rational(nsec, 1_000_000_000),
233
- offset)
234
- end
235
-
236
- def unpack_date_time_with_zone_id(utc = false)
237
- time = Time.at(unpack, unpack, :nsec).in_time_zone(TZInfo::Timezone.get(unpack))
238
- utc ? time : time - time.utc_offset
239
- end
240
-
241
- def unpack_duration
242
- DurationNormalizer.create(*4.times.map { unpack })
243
- end
244
-
245
- def unpack_point2_d
246
- Types::Point.new(srid: unpack, x: unpack, y: unpack)
247
- end
248
-
249
- def unpack_point3_d
250
- Types::Point.new(srid: unpack, x: unpack, y: unpack, z: unpack)
251
- end
252
- end
253
- end
254
- end
255
- end
256
- end
@@ -1,15 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Messaging
4
- module Encode
5
- class BeginMessageEncoder
6
- def encode(message, packer)
7
- Util::Preconditions.check_argument(message, Request::BeginMessage)
8
- packer.pack_struct_header(1, message.signature)
9
- packer.pack(message.metadata)
10
- end
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,14 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Messaging
4
- module Encode
5
- class CommitMessageEncoder
6
- def encode(message, packer)
7
- Util::Preconditions.check_argument(message, Request::CommitMessage)
8
- packer.pack_struct_header(0, Request::CommitMessage::SIGNATURE)
9
- end
10
- end
11
- end
12
- end
13
- end
14
- end
@@ -1,14 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Messaging
4
- module Encode
5
- class DiscardAllMessageEncoder
6
- def encode(message, packer)
7
- Util::Preconditions.check_argument(message, Request::DiscardAllMessage)
8
- packer.pack_struct_header(0, Request::DiscardAllMessage::SIGNATURE)
9
- end
10
- end
11
- end
12
- end
13
- end
14
- end
@@ -1,15 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Messaging
4
- module Encode
5
- class DiscardMessageEncoder
6
- def encode(message, packer)
7
- Util::Preconditions.check_argument(message, Request::DiscardMessage)
8
- packer.pack_struct_header(1, Request::DiscardMessage::SIGNATURE)
9
- packer.pack(message.metadata)
10
- end
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,14 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Messaging
4
- module Encode
5
- class GoodbyeMessageEncoder
6
- def encode(message, packer)
7
- Util::Preconditions.check_argument(message, Request::GoodbyeMessage)
8
- packer.pack_struct_header(0, Request::GoodbyeMessage::SIGNATURE)
9
- end
10
- end
11
- end
12
- end
13
- end
14
- end
@@ -1,15 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Messaging
4
- module Encode
5
- class HelloMessageEncoder
6
- def encode(message, packer)
7
- Util::Preconditions.check_argument(message, Request::HelloMessage)
8
- packer.pack_struct_header(1, message.class::SIGNATURE)
9
- packer.pack(message.metadata)
10
- end
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,16 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Messaging
4
- module Encode
5
- class InitMessageEncoder
6
- def encode(message, packer)
7
- Util::Preconditions.check_argument(message, Request::InitMessage)
8
- packer.pack_struct_header(2, message.signature)
9
- packer.pack(message.user_agent)
10
- packer.pack(message.auth_token)
11
- end
12
- end
13
- end
14
- end
15
- end
16
- end
@@ -1,14 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Messaging
4
- module Encode
5
- class LogoffMessageEncoder
6
- def encode(message, packer)
7
- Util::Preconditions.check_argument(message, Request::LogoffMessage)
8
- packer.pack_struct_header(0, message.class::SIGNATURE)
9
- end
10
- end
11
- end
12
- end
13
- end
14
- end
@@ -1,15 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Messaging
4
- module Encode
5
- class LogonMessageEncoder
6
- def encode(message, packer)
7
- Util::Preconditions.check_argument(message, Request::LogonMessage)
8
- packer.pack_struct_header(1, message.class::SIGNATURE)
9
- packer.pack(message.metadata)
10
- end
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,14 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Messaging
4
- module Encode
5
- class PullAllMessageEncoder
6
- def encode(message, packer)
7
- Util::Preconditions.check_argument(message, Request::PullAllMessage)
8
- packer.pack_struct_header(0, Request::PullAllMessage::SIGNATURE)
9
- end
10
- end
11
- end
12
- end
13
- end
14
- end
@@ -1,15 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Messaging
4
- module Encode
5
- class PullMessageEncoder
6
- def encode(message, packer)
7
- Util::Preconditions.check_argument(message, Request::PullMessage)
8
- packer.pack_struct_header(1, Request::PullMessage::SIGNATURE)
9
- packer.pack(message.metadata)
10
- end
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,14 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Messaging
4
- module Encode
5
- class ResetMessageEncoder
6
- def encode(message, packer)
7
- Util::Preconditions.check_argument(message, Request::ResetMessage)
8
- packer.pack_struct_header(0, Request::ResetMessage::SIGNATURE)
9
- end
10
- end
11
- end
12
- end
13
- end
14
- end