neo4j-ruby-driver 5.7.0.alpha.4 → 6.0.3.alpha.0-java

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 (279) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +440 -40
  3. data/jruby/neo4j/driver/ext/async_converter.rb +55 -0
  4. data/jruby/neo4j/driver/ext/auth_tokens.rb +20 -0
  5. data/jruby/neo4j/driver/ext/config_converter.rb +83 -0
  6. data/jruby/neo4j/driver/ext/exception_checkable.rb +34 -0
  7. data/jruby/neo4j/driver/ext/exception_mapper.rb +92 -0
  8. data/jruby/neo4j/driver/ext/graph_database.rb +33 -0
  9. data/jruby/neo4j/driver/ext/internal/abstract_query_runner.rb +18 -0
  10. data/jruby/neo4j/driver/ext/internal/async/internal_async_session.rb +23 -0
  11. data/jruby/neo4j/driver/ext/internal/cluster/routing_table_registry_impl.rb +15 -0
  12. data/jruby/neo4j/driver/ext/internal/cursor/disposable_async_result_cursor.rb +15 -0
  13. data/jruby/neo4j/driver/ext/internal/driver_factory.rb +24 -0
  14. data/jruby/neo4j/driver/ext/internal/eager_result_value.rb +17 -0
  15. data/jruby/neo4j/driver/ext/internal/metrics/internal_connection_pool_metrics.rb +17 -0
  16. data/jruby/neo4j/driver/ext/internal/summary/internal_notification.rb +27 -0
  17. data/jruby/neo4j/driver/ext/internal/summary/internal_plan.rb +26 -0
  18. data/jruby/neo4j/driver/ext/internal/summary/internal_result_summary.rb +34 -0
  19. data/jruby/neo4j/driver/ext/internal_driver.rb +52 -0
  20. data/jruby/neo4j/driver/ext/internal_entity.rb +21 -0
  21. data/jruby/neo4j/driver/ext/internal_keys.rb +15 -0
  22. data/jruby/neo4j/driver/ext/internal_node.rb +13 -0
  23. data/jruby/neo4j/driver/ext/internal_record.rb +29 -0
  24. data/jruby/neo4j/driver/ext/internal_relationship.rb +13 -0
  25. data/jruby/neo4j/driver/ext/internal_result.rb +27 -0
  26. data/jruby/neo4j/driver/ext/internal_session.rb +44 -0
  27. data/jruby/neo4j/driver/ext/internal_transaction.rb +19 -0
  28. data/jruby/neo4j/driver/ext/logger.rb +60 -0
  29. data/jruby/neo4j/driver/ext/map_converter.rb +14 -0
  30. data/jruby/neo4j/driver/ext/neo_converter.rb +59 -0
  31. data/jruby/neo4j/driver/ext/query.rb +13 -0
  32. data/jruby/neo4j/driver/ext/ruby_converter.rb +57 -0
  33. data/jruby/neo4j/driver/ext/run_override.rb +22 -0
  34. data/jruby/neo4j/driver/ext/start_end_naming.rb +17 -0
  35. data/{ruby → jruby}/neo4j/driver/version.rb +1 -1
  36. data/jruby/neo4j/driver.rb +62 -0
  37. data/lib/neo4j/driver/{auto_closable.rb → auto_closeable.rb} +6 -6
  38. data/lib/neo4j/driver/exceptions/neo4j_exception.rb +6 -6
  39. data/lib/neo4j/driver/internal/deprecator.rb +15 -0
  40. metadata +91 -277
  41. data/ruby/neo4j/driver/access_mode.rb +0 -10
  42. data/ruby/neo4j/driver/auth_tokens.rb +0 -34
  43. data/ruby/neo4j/driver/bookmark.rb +0 -21
  44. data/ruby/neo4j/driver/config.rb +0 -89
  45. data/ruby/neo4j/driver/graph_database.rb +0 -78
  46. data/ruby/neo4j/driver/internal/async/connection/bolt_protocol_util.rb +0 -51
  47. data/ruby/neo4j/driver/internal/async/connection/bootstrap_factory.rb +0 -22
  48. data/ruby/neo4j/driver/internal/async/connection/channel_attributes.rb +0 -31
  49. data/ruby/neo4j/driver/internal/async/connection/channel_connected_listener.rb +0 -32
  50. data/ruby/neo4j/driver/internal/async/connection/channel_connector_impl.rb +0 -83
  51. data/ruby/neo4j/driver/internal/async/connection/channel_pipeline_builder_impl.rb +0 -22
  52. data/ruby/neo4j/driver/internal/async/connection/direct_connection.rb +0 -30
  53. data/ruby/neo4j/driver/internal/async/connection/event_loop_group_factory.rb +0 -83
  54. data/ruby/neo4j/driver/internal/async/connection/handshake_completed_listener.rb +0 -27
  55. data/ruby/neo4j/driver/internal/async/connection/handshake_handler.rb +0 -113
  56. data/ruby/neo4j/driver/internal/async/connection/netty_channel_initializer.rb +0 -57
  57. data/ruby/neo4j/driver/internal/async/connection/netty_domain_name_resolver.rb +0 -26
  58. data/ruby/neo4j/driver/internal/async/connection/netty_domain_name_resolver_group.rb +0 -19
  59. data/ruby/neo4j/driver/internal/async/connection/routing_connection.rb +0 -36
  60. data/ruby/neo4j/driver/internal/async/connection/stream.rb +0 -12
  61. data/ruby/neo4j/driver/internal/async/connection/stream_reader.rb +0 -16
  62. data/ruby/neo4j/driver/internal/async/connection_context.rb +0 -10
  63. data/ruby/neo4j/driver/internal/async/immutable_connection_context.rb +0 -24
  64. data/ruby/neo4j/driver/internal/async/inbound/byte_buf_input.rb +0 -30
  65. data/ruby/neo4j/driver/internal/async/inbound/channel_error_handler.rb +0 -77
  66. data/ruby/neo4j/driver/internal/async/inbound/chunk_decoder.rb +0 -41
  67. data/ruby/neo4j/driver/internal/async/inbound/connect_timeout_handler.rb +0 -32
  68. data/ruby/neo4j/driver/internal/async/inbound/connection_read_timeout_handler.rb +0 -17
  69. data/ruby/neo4j/driver/internal/async/inbound/inbound_message_dispatcher.rb +0 -171
  70. data/ruby/neo4j/driver/internal/async/inbound/inbound_message_handler.rb +0 -42
  71. data/ruby/neo4j/driver/internal/async/inbound/message_decoder.rb +0 -51
  72. data/ruby/neo4j/driver/internal/async/internal_async_session.rb +0 -98
  73. data/ruby/neo4j/driver/internal/async/internal_async_transaction.rb +0 -13
  74. data/ruby/neo4j/driver/internal/async/leak_logging_network_session.rb +0 -34
  75. data/ruby/neo4j/driver/internal/async/network_connection.rb +0 -194
  76. data/ruby/neo4j/driver/internal/async/network_session.rb +0 -150
  77. data/ruby/neo4j/driver/internal/async/outbound/chunk_aware_byte_buf_output.rb +0 -110
  78. data/ruby/neo4j/driver/internal/async/outbound/outbound_message_handler.rb +0 -39
  79. data/ruby/neo4j/driver/internal/async/pool/channel.rb +0 -66
  80. data/ruby/neo4j/driver/internal/async/pool/channel_pool.rb +0 -31
  81. data/ruby/neo4j/driver/internal/async/pool/channel_tracker.rb +0 -135
  82. data/ruby/neo4j/driver/internal/async/pool/connection_pool_impl.rb +0 -156
  83. data/ruby/neo4j/driver/internal/async/pool/netty_channel_health_checker.rb +0 -87
  84. data/ruby/neo4j/driver/internal/async/pool/netty_channel_pool.rb +0 -52
  85. data/ruby/neo4j/driver/internal/async/pool/network_connection_factory.rb +0 -21
  86. data/ruby/neo4j/driver/internal/async/pool/pool_settings.rb +0 -34
  87. data/ruby/neo4j/driver/internal/async/pool/timed_stack.rb +0 -15
  88. data/ruby/neo4j/driver/internal/async/result_cursors_holder.rb +0 -17
  89. data/ruby/neo4j/driver/internal/async/unmanaged_transaction.rb +0 -212
  90. data/ruby/neo4j/driver/internal/bookmark_holder.rb +0 -9
  91. data/ruby/neo4j/driver/internal/cluster/cluster_composition.rb +0 -48
  92. data/ruby/neo4j/driver/internal/cluster/cluster_composition_lookup_result.rb +0 -14
  93. data/ruby/neo4j/driver/internal/cluster/cluster_routing_table.rb +0 -122
  94. data/ruby/neo4j/driver/internal/cluster/identity_resolver.rb +0 -10
  95. data/ruby/neo4j/driver/internal/cluster/loadbalancing/least_connected_load_balancing_strategy.rb +0 -68
  96. data/ruby/neo4j/driver/internal/cluster/loadbalancing/load_balancer.rb +0 -125
  97. data/ruby/neo4j/driver/internal/cluster/loadbalancing/round_robin_array_index.rb +0 -13
  98. data/ruby/neo4j/driver/internal/cluster/multi_databases_routing_procedure_runner.rb +0 -31
  99. data/ruby/neo4j/driver/internal/cluster/rediscovery_impl.rb +0 -147
  100. data/ruby/neo4j/driver/internal/cluster/route_message_routing_procedure_runner.rb +0 -43
  101. data/ruby/neo4j/driver/internal/cluster/routing_context.rb +0 -77
  102. data/ruby/neo4j/driver/internal/cluster/routing_procedure_cluster_composition_provider.rb +0 -60
  103. data/ruby/neo4j/driver/internal/cluster/routing_procedure_response.rb +0 -35
  104. data/ruby/neo4j/driver/internal/cluster/routing_settings.rb +0 -24
  105. data/ruby/neo4j/driver/internal/cluster/routing_table_handler_impl.rb +0 -95
  106. data/ruby/neo4j/driver/internal/cluster/routing_table_registry_impl.rb +0 -121
  107. data/ruby/neo4j/driver/internal/cluster/single_database_routing_procedure_runner.rb +0 -73
  108. data/ruby/neo4j/driver/internal/connection_settings.rb +0 -16
  109. data/ruby/neo4j/driver/internal/cursor/async_result_cursor_impl.rb +0 -55
  110. data/ruby/neo4j/driver/internal/cursor/async_result_cursor_only_factory.rb +0 -24
  111. data/ruby/neo4j/driver/internal/cursor/disposable_async_result_cursor.rb +0 -61
  112. data/ruby/neo4j/driver/internal/cursor/result_cursor_factory_impl.rb +0 -24
  113. data/ruby/neo4j/driver/internal/cursor/rx_result_cursor_impl.rb +0 -110
  114. data/ruby/neo4j/driver/internal/database_name_util.rb +0 -37
  115. data/ruby/neo4j/driver/internal/default_bookmark_holder.rb +0 -9
  116. data/ruby/neo4j/driver/internal/default_domain_name_resolver.rb +0 -11
  117. data/ruby/neo4j/driver/internal/direct_connection_provider.rb +0 -40
  118. data/ruby/neo4j/driver/internal/driver_factory.rb +0 -126
  119. data/ruby/neo4j/driver/internal/handlers/begin_tx_response_handler.rb +0 -20
  120. data/ruby/neo4j/driver/internal/handlers/channel_releasing_reset_response_handler.rb +0 -30
  121. data/ruby/neo4j/driver/internal/handlers/commit_tx_response_handler.rb +0 -25
  122. data/ruby/neo4j/driver/internal/handlers/hello_response_handler.rb +0 -65
  123. data/ruby/neo4j/driver/internal/handlers/init_response_handler.rb +0 -34
  124. data/ruby/neo4j/driver/internal/handlers/legacy_pull_all_response_handler.rb +0 -199
  125. data/ruby/neo4j/driver/internal/handlers/no_op_response_handler.rb +0 -16
  126. data/ruby/neo4j/driver/internal/handlers/ping_response_handler.rb +0 -29
  127. data/ruby/neo4j/driver/internal/handlers/pull_handlers.rb +0 -32
  128. data/ruby/neo4j/driver/internal/handlers/pulln/auto_pull_response_handler.rb +0 -168
  129. data/ruby/neo4j/driver/internal/handlers/pulln/basic_pull_response_handler.rb +0 -298
  130. data/ruby/neo4j/driver/internal/handlers/pulln/fetch_size_util.rb +0 -20
  131. data/ruby/neo4j/driver/internal/handlers/reset_response_handler.rb +0 -34
  132. data/ruby/neo4j/driver/internal/handlers/rollback_tx_response_handler.rb +0 -25
  133. data/ruby/neo4j/driver/internal/handlers/route_message_response_handler.rb +0 -21
  134. data/ruby/neo4j/driver/internal/handlers/routing_response_handler.rb +0 -70
  135. data/ruby/neo4j/driver/internal/handlers/run_response_handler.rb +0 -38
  136. data/ruby/neo4j/driver/internal/handlers/session_pull_response_completion_listener.rb +0 -34
  137. data/ruby/neo4j/driver/internal/handlers/transaction_pull_response_completion_listener.rb +0 -20
  138. data/ruby/neo4j/driver/internal/impersonation_util.rb +0 -22
  139. data/ruby/neo4j/driver/internal/internal_bookmark.rb +0 -36
  140. data/ruby/neo4j/driver/internal/internal_database_name.rb +0 -9
  141. data/ruby/neo4j/driver/internal/internal_driver.rb +0 -74
  142. data/ruby/neo4j/driver/internal/internal_entity.rb +0 -21
  143. data/ruby/neo4j/driver/internal/internal_node.rb +0 -21
  144. data/ruby/neo4j/driver/internal/internal_pair.rb +0 -9
  145. data/ruby/neo4j/driver/internal/internal_path.rb +0 -35
  146. data/ruby/neo4j/driver/internal/internal_point2_d.rb +0 -9
  147. data/ruby/neo4j/driver/internal/internal_point3_d.rb +0 -6
  148. data/ruby/neo4j/driver/internal/internal_record.rb +0 -27
  149. data/ruby/neo4j/driver/internal/internal_relationship.rb +0 -27
  150. data/ruby/neo4j/driver/internal/internal_result.rb +0 -49
  151. data/ruby/neo4j/driver/internal/internal_session.rb +0 -81
  152. data/ruby/neo4j/driver/internal/internal_transaction.rb +0 -48
  153. data/ruby/neo4j/driver/internal/logging/channel_activity_logger.rb +0 -29
  154. data/ruby/neo4j/driver/internal/logging/channel_error_logger.rb +0 -17
  155. data/ruby/neo4j/driver/internal/logging/prefixed_logger.rb +0 -19
  156. data/ruby/neo4j/driver/internal/logging/reformatted_logger.rb +0 -17
  157. data/ruby/neo4j/driver/internal/messaging/abstract_message_writer.rb +0 -23
  158. data/ruby/neo4j/driver/internal/messaging/bolt_protocol.rb +0 -32
  159. data/ruby/neo4j/driver/internal/messaging/bolt_protocol_version.rb +0 -48
  160. data/ruby/neo4j/driver/internal/messaging/common/common_message_reader.rb +0 -51
  161. data/ruby/neo4j/driver/internal/messaging/common/common_value.rb +0 -33
  162. data/ruby/neo4j/driver/internal/messaging/common/common_value_packer.rb +0 -104
  163. data/ruby/neo4j/driver/internal/messaging/common/common_value_unpacker.rb +0 -256
  164. data/ruby/neo4j/driver/internal/messaging/encode/begin_message_encoder.rb +0 -15
  165. data/ruby/neo4j/driver/internal/messaging/encode/commit_message_encoder.rb +0 -14
  166. data/ruby/neo4j/driver/internal/messaging/encode/discard_all_message_encoder.rb +0 -14
  167. data/ruby/neo4j/driver/internal/messaging/encode/discard_message_encoder.rb +0 -15
  168. data/ruby/neo4j/driver/internal/messaging/encode/goodbye_message_encoder.rb +0 -14
  169. data/ruby/neo4j/driver/internal/messaging/encode/hello_message_encoder.rb +0 -15
  170. data/ruby/neo4j/driver/internal/messaging/encode/init_message_encoder.rb +0 -16
  171. data/ruby/neo4j/driver/internal/messaging/encode/logoff_message_encoder.rb +0 -14
  172. data/ruby/neo4j/driver/internal/messaging/encode/logon_message_encoder.rb +0 -15
  173. data/ruby/neo4j/driver/internal/messaging/encode/pull_all_message_encoder.rb +0 -14
  174. data/ruby/neo4j/driver/internal/messaging/encode/pull_message_encoder.rb +0 -15
  175. data/ruby/neo4j/driver/internal/messaging/encode/reset_message_encoder.rb +0 -14
  176. data/ruby/neo4j/driver/internal/messaging/encode/rollback_message_encoder.rb +0 -14
  177. data/ruby/neo4j/driver/internal/messaging/encode/route_message_encoder.rb +0 -24
  178. data/ruby/neo4j/driver/internal/messaging/encode/route_v44_message_encoder.rb +0 -22
  179. data/ruby/neo4j/driver/internal/messaging/encode/run_message_encoder.rb +0 -16
  180. data/ruby/neo4j/driver/internal/messaging/encode/run_with_metadata_message_encoder.rb +0 -17
  181. data/ruby/neo4j/driver/internal/messaging/request/abstract_streaming_message.rb +0 -25
  182. data/ruby/neo4j/driver/internal/messaging/request/begin_message.rb +0 -25
  183. data/ruby/neo4j/driver/internal/messaging/request/commit_message.rb +0 -20
  184. data/ruby/neo4j/driver/internal/messaging/request/discard_all_message.rb +0 -20
  185. data/ruby/neo4j/driver/internal/messaging/request/discard_message.rb +0 -23
  186. data/ruby/neo4j/driver/internal/messaging/request/goodbye_message.rb +0 -20
  187. data/ruby/neo4j/driver/internal/messaging/request/hello_message.rb +0 -30
  188. data/ruby/neo4j/driver/internal/messaging/request/init_message.rb +0 -19
  189. data/ruby/neo4j/driver/internal/messaging/request/logoff_message.rb +0 -13
  190. data/ruby/neo4j/driver/internal/messaging/request/logon_message.rb +0 -13
  191. data/ruby/neo4j/driver/internal/messaging/request/message_with_metadata.rb +0 -17
  192. data/ruby/neo4j/driver/internal/messaging/request/multi_database_util.rb +0 -26
  193. data/ruby/neo4j/driver/internal/messaging/request/pull_all_message.rb +0 -23
  194. data/ruby/neo4j/driver/internal/messaging/request/pull_message.rb +0 -22
  195. data/ruby/neo4j/driver/internal/messaging/request/reset_message.rb +0 -32
  196. data/ruby/neo4j/driver/internal/messaging/request/rollback_message.rb +0 -20
  197. data/ruby/neo4j/driver/internal/messaging/request/route_message.rb +0 -28
  198. data/ruby/neo4j/driver/internal/messaging/request/run_message.rb +0 -23
  199. data/ruby/neo4j/driver/internal/messaging/request/run_with_metadata_message.rb +0 -49
  200. data/ruby/neo4j/driver/internal/messaging/request/transaction_metadata_builder.rb +0 -24
  201. data/ruby/neo4j/driver/internal/messaging/response/failure_message.rb +0 -40
  202. data/ruby/neo4j/driver/internal/messaging/response/ignored_message.rb +0 -29
  203. data/ruby/neo4j/driver/internal/messaging/response/record_message.rb +0 -33
  204. data/ruby/neo4j/driver/internal/messaging/response/success_message.rb +0 -34
  205. data/ruby/neo4j/driver/internal/messaging/v3/bolt_protocol_v3.rb +0 -82
  206. data/ruby/neo4j/driver/internal/messaging/v3/message_format_v3.rb +0 -17
  207. data/ruby/neo4j/driver/internal/messaging/v3/message_writer_v3.rb +0 -27
  208. data/ruby/neo4j/driver/internal/messaging/v4/bolt_protocol_v4.rb +0 -29
  209. data/ruby/neo4j/driver/internal/messaging/v4/message_format_v4.rb +0 -13
  210. data/ruby/neo4j/driver/internal/messaging/v4/message_writer_v4.rb +0 -17
  211. data/ruby/neo4j/driver/internal/messaging/v41/bolt_protocol_v41.rb +0 -25
  212. data/ruby/neo4j/driver/internal/messaging/v42/bolt_protocol_v42.rb +0 -13
  213. data/ruby/neo4j/driver/internal/messaging/v43/bolt_protocol_v43.rb +0 -19
  214. data/ruby/neo4j/driver/internal/messaging/v43/message_format_v43.rb +0 -14
  215. data/ruby/neo4j/driver/internal/messaging/v43/message_writer_v43.rb +0 -20
  216. data/ruby/neo4j/driver/internal/messaging/v44/bolt_protocol_v44.rb +0 -17
  217. data/ruby/neo4j/driver/internal/messaging/v44/message_format_v44.rb +0 -14
  218. data/ruby/neo4j/driver/internal/messaging/v44/message_writer_v44.rb +0 -15
  219. data/ruby/neo4j/driver/internal/messaging/v5/bolt_protocol_v5.rb +0 -21
  220. data/ruby/neo4j/driver/internal/messaging/v5/message_format_v5.rb +0 -18
  221. data/ruby/neo4j/driver/internal/messaging/v5/value_unpacker_v5.rb +0 -17
  222. data/ruby/neo4j/driver/internal/messaging/v51/bolt_protocol_v51.rb +0 -40
  223. data/ruby/neo4j/driver/internal/messaging/v51/message_format_v51.rb +0 -14
  224. data/ruby/neo4j/driver/internal/messaging/v51/message_writer_v51.rb +0 -17
  225. data/ruby/neo4j/driver/internal/metrics/connection_pool_metrics_listener.rb +0 -34
  226. data/ruby/neo4j/driver/internal/metrics/internal_abstract_metrics.rb +0 -46
  227. data/ruby/neo4j/driver/internal/metrics/internal_connection_pool_metrics.rb +0 -105
  228. data/ruby/neo4j/driver/internal/metrics/internal_metrics.rb +0 -82
  229. data/ruby/neo4j/driver/internal/metrics/internal_metrics_provider.rb +0 -18
  230. data/ruby/neo4j/driver/internal/metrics/listener_event.rb +0 -17
  231. data/ruby/neo4j/driver/internal/metrics/metrics_provider.rb +0 -24
  232. data/ruby/neo4j/driver/internal/metrics/time_recorder_listener_event.rb +0 -15
  233. data/ruby/neo4j/driver/internal/packstream/byte_array_incompatible_packer.rb +0 -12
  234. data/ruby/neo4j/driver/internal/packstream/pack_input.rb +0 -47
  235. data/ruby/neo4j/driver/internal/packstream/pack_output.rb +0 -39
  236. data/ruby/neo4j/driver/internal/packstream/pack_stream.rb +0 -326
  237. data/ruby/neo4j/driver/internal/packstream/pack_type.rb +0 -17
  238. data/ruby/neo4j/driver/internal/read_only_bookmark_holder.rb +0 -13
  239. data/ruby/neo4j/driver/internal/resolved_bolt_server_address.rb +0 -35
  240. data/ruby/neo4j/driver/internal/retry/exponential_backoff_retry_logic.rb +0 -151
  241. data/ruby/neo4j/driver/internal/revocation_strategy.rb +0 -19
  242. data/ruby/neo4j/driver/internal/scheme.rb +0 -32
  243. data/ruby/neo4j/driver/internal/security/internal_auth_token.rb +0 -15
  244. data/ruby/neo4j/driver/internal/security/security_plan_impl.rb +0 -48
  245. data/ruby/neo4j/driver/internal/security_setting.rb +0 -66
  246. data/ruby/neo4j/driver/internal/session_factory_impl.rb +0 -32
  247. data/ruby/neo4j/driver/internal/spi/connection.rb +0 -19
  248. data/ruby/neo4j/driver/internal/spi/connection_pool.rb +0 -9
  249. data/ruby/neo4j/driver/internal/spi/response_handler.rb +0 -23
  250. data/ruby/neo4j/driver/internal/summary/internal_database_info.rb +0 -7
  251. data/ruby/neo4j/driver/internal/summary/internal_input_position.rb +0 -11
  252. data/ruby/neo4j/driver/internal/summary/internal_notification.rb +0 -16
  253. data/ruby/neo4j/driver/internal/summary/internal_plan.rb +0 -41
  254. data/ruby/neo4j/driver/internal/summary/internal_profiled_plan.rb +0 -32
  255. data/ruby/neo4j/driver/internal/summary/internal_result_summary.rb +0 -33
  256. data/ruby/neo4j/driver/internal/summary/internal_server_info.rb +0 -6
  257. data/ruby/neo4j/driver/internal/summary/internal_summary_counters.rb +0 -18
  258. data/ruby/neo4j/driver/internal/svm/netty_substitutions.rb +0 -196
  259. data/ruby/neo4j/driver/internal/svm/z_lib_substitutions.rb +0 -21
  260. data/ruby/neo4j/driver/internal/util/certificate_tool.rb +0 -65
  261. data/ruby/neo4j/driver/internal/util/clock.rb +0 -29
  262. data/ruby/neo4j/driver/internal/util/error_util.rb +0 -104
  263. data/ruby/neo4j/driver/internal/util/extract.rb +0 -123
  264. data/ruby/neo4j/driver/internal/util/format.rb +0 -39
  265. data/ruby/neo4j/driver/internal/util/futures.rb +0 -99
  266. data/ruby/neo4j/driver/internal/util/iterables.rb +0 -35
  267. data/ruby/neo4j/driver/internal/util/lock_util.rb +0 -23
  268. data/ruby/neo4j/driver/internal/util/metadata_extractor.rb +0 -107
  269. data/ruby/neo4j/driver/internal/util/mutex.rb +0 -9
  270. data/ruby/neo4j/driver/internal/util/preconditions.rb +0 -16
  271. data/ruby/neo4j/driver/internal/util/result_holder.rb +0 -72
  272. data/ruby/neo4j/driver/internal/util/server_version.rb +0 -60
  273. data/ruby/neo4j/driver/logging1.rb +0 -51
  274. data/ruby/neo4j/driver/net/server_address.rb +0 -9
  275. data/ruby/neo4j/driver/query.rb +0 -48
  276. data/ruby/neo4j/driver/records.rb +0 -13
  277. data/ruby/neo4j/driver/transaction_config.rb +0 -50
  278. data/ruby/neo4j/driver/values.rb +0 -26
  279. data/ruby/neo4j/driver.rb +0 -28
@@ -1,34 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Handlers
4
- class InitResponseHandler
5
- include Spi::ResponseHandler
6
-
7
- def initialize(connection_initialized_promise)
8
- @connection_initialized_promise = connection_initialized_promise
9
- @channel = connection_initialized_promise
10
- end
11
-
12
- def on_success(_metadata)
13
- begin
14
- server_version = Util::MetadataExtractor.extract_neo4j_server_version(metadata)
15
- Async::Connection::ChannelAttributes.set_server_version(@channel, server_version)
16
-
17
- @connection_initialized_promise.set_success
18
- rescue StandardError => error
19
- @connection_initialized_promise.set_failure(error)
20
- raise error
21
- end
22
- end
23
-
24
- def on_failure(error)
25
- @channel.close.add_listener(-> (_future) { @connection_initialized_promise.set_failure(error) })
26
- end
27
-
28
- def on_record(fields)
29
- raise java.lang.UnsupportedOperationException
30
- end
31
- end
32
- end
33
- end
34
- end
@@ -1,199 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Handlers
4
- # This is the Pull All response handler that handles pull all messages in Bolt v3 and previous protocol versions.
5
- class LegacyPullAllResponseHandler
6
- include Spi::ResponseHandler
7
- RECORD_BUFFER_LOW_WATERMARK = ENV['record_buffer_low_watermark']&.to_i || 300
8
- RECORD_BUFFER_HIGH_WATERMARK = ENV['record_buffer_high_watermark']&.to_i || 1000
9
-
10
- def initialize(query, run_response_handler, connection, metadata_extractor, completion_listener)
11
- @query = Internal::Validator.require_non_nil!(query)
12
- @run_response_handler = Internal::Validator.require_non_nil!(run_response_handler)
13
- @metadata_extractor = Internal::Validator.require_non_nil!(metadata_extractor)
14
- @connection = Internal::Validator.require_non_nil!(connection)
15
- @completion_listener = Internal::Validator.require_non_nil!(completion_listener)
16
- @records = ::Async::Queue.new
17
- end
18
-
19
- def can_manage_auto_read?
20
- true
21
- end
22
-
23
- def on_success(metadata)
24
- @finished = true
25
- @summary = extract_result_summary(metadata)
26
-
27
- @completion_listener.after_success(metadata)
28
-
29
- complete_record_future(nil)
30
- complete_failure_future(nil)
31
- end
32
-
33
- def on_failure(error)
34
- @finished = true
35
- @summary = extract_result_summary({})
36
-
37
- @completion_listener.after_failure(error)
38
-
39
- failed_record_future = fail_record_future(error)
40
-
41
- if failed_record_future
42
- # error propagated through the record future
43
- complete_failure_future(nil)
44
- else
45
- completed_failure_future = complete_failure_future(error)
46
-
47
- # error has not been propagated to the user, remember it
48
- @failure = error unless completed_failure_future
49
- end
50
- end
51
-
52
- def on_record(fields)
53
- if @ignore_records
54
- complete_record_future(nil)
55
- else
56
- record = InternalRecord.new(@run_response_handler.query_keys, fields)
57
- enqueue_record(record)
58
- complete_record_future(record)
59
- end
60
- end
61
-
62
- def disable_auto_read_management
63
- @auto_read_management_enabled = false
64
- end
65
-
66
- def peek_async
67
- while @records.empty? && !(@ignore_records || @finished)
68
- @records.wait
69
- end
70
- @records.items.first&.then(&Util::ResultHolder.method(:successful)) or
71
- @failure ? Util::ResultHolder.failed(extract_failure) : Util::ResultHolder.successful(nil)
72
- end
73
-
74
- def next_async
75
- peek_async.then { |record| dequeue_record if record }
76
- end
77
-
78
- def consume_async
79
- @ignore_records = true
80
- @records.items.clear
81
- pull_all_failure_async.result!&.then(&Util::ResultHolder.method(:failed)) or
82
- Util::ResultHolder.successful(@summary)
83
- end
84
-
85
- def list_async(&block)
86
- pull_all_failure_async.then do |error|
87
- raise error if error
88
- unless @finished
89
- raise Exceptions::IllegalStateException, "Can't get records as list because SUCCESS or FAILURE did not arrive"
90
- end
91
- @records.items.map(&block)
92
- ensure
93
- @records.items.clear
94
- end
95
- end
96
-
97
- def pre_populate_records
98
- @connection.write_and_flush(Messaging::Request::PullAllMessage::PULL_ALL, self)
99
- end
100
-
101
- def pull_all_failure_async
102
- if @failure
103
- Util::ResultHolder.successful(extract_failure)
104
- elsif @finished
105
- Util::ResultHolder.successful
106
- else
107
- (@failed_future ||= Util::ResultHolder.new).tap do |_|
108
- # neither SUCCESS nor FAILURE message has arrived, register future to be notified when it arrives
109
- # future will be completed with null on SUCCESS and completed with Throwable on FAILURE
110
- # enable auto-read, otherwise we might not read SUCCESS/FAILURE if records are not consumed
111
- enable_auto_read
112
- end
113
- end
114
- end
115
-
116
- private
117
-
118
- def enqueue_record(record)
119
- @records << record
120
-
121
- should_buffer_all_records = !@failure_future.nil?
122
-
123
- # when failure is requested we have to buffer all remaining records and then return the error
124
- # do not disable auto-read in this case, otherwise records will not be consumed and trailing
125
- # SUCCESS or FAILURE message will not arrive as well, so callers will get stuck waiting for the error
126
- if !should_buffer_all_records && @records.size > RECORD_BUFFER_HIGH_WATERMARK
127
- # more than high watermark records are already queued, tell connection to stop auto-reading from network
128
- # this is needed to deal with slow consumers, we do not want to buffer all records in memory if they are
129
- # fetched from network faster than consumed
130
- disable_auto_read
131
- end
132
- end
133
-
134
- def dequeue_record
135
- record = @records.dequeue
136
-
137
- if @records.size < RECORD_BUFFER_LOW_WATERMARK
138
- # less than low watermark records are now available in the buffer, tell connection to pre-fetch more
139
- # and populate queue with new records from network
140
- enable_auto_read
141
- end
142
-
143
- record
144
- end
145
-
146
- def records_as_list(map_function)
147
- unless @finished
148
- raise Exceptions::IllegalStateException, "Can't get records as list because SUCCESS or FAILURE did not arrive"
149
- end
150
-
151
- result = []
152
-
153
- @records.each do |record|
154
- result << map_function.apply(record)
155
- end
156
-
157
- @records.items.clear
158
- result
159
- end
160
-
161
- def extract_failure
162
- @failure or raise Exceptions::IllegalStateException, "Can't extract failure because it does not exist"
163
- ensure
164
- @failure = nil # propagate failure only once
165
- end
166
-
167
- def complete_record_future(record)
168
- @record_future&.succeed(record)
169
- @record_future = nil
170
- end
171
-
172
- def fail_record_future(error)
173
- @record_future&.fail(error)
174
- ensure
175
- @record_future = nil
176
- end
177
-
178
- def complete_failure_future(error)
179
- @failure_future&.fail(error)
180
- ensure
181
- @failure_future = nil
182
- end
183
-
184
- def extract_result_summary(metadata)
185
- result_available_after = @run_response_handler.result_available_after
186
- @metadata_extractor.extract_summary(@query, @connection, result_available_after, metadata)
187
- end
188
-
189
- def enable_auto_read
190
- @connection.enable_auto_read if @auto_read_management_enabled
191
- end
192
-
193
- def disable_auto_read
194
- @connection.disable_auto_read if @auto_read_management_enabled
195
- end
196
- end
197
- end
198
- end
199
- end
@@ -1,16 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Handlers
4
- class NoOpResponseHandler
5
- include Spi::ResponseHandler
6
- INSTANCE = new
7
-
8
- def on_success(metadata) end
9
-
10
- def on_failure(error) end
11
-
12
- def on_record(fields) end
13
- end
14
- end
15
- end
16
- end
@@ -1,29 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Handlers
4
- class PingResponseHandler
5
- include Spi::ResponseHandler
6
-
7
- def initialize(result, channel, logger)
8
- @result = result
9
- @channel = channel
10
- @log = logger
11
- end
12
-
13
- def on_success(_metadata)
14
- @log.debug("Channel #{@channel} pinged successfully")
15
- @result.set_success(true)
16
- end
17
-
18
- def on_failure(error)
19
- @log.debug("Channel #{@channel} failed ping #{error}")
20
- @result.set_success(false)
21
- end
22
-
23
- def on_record(fields)
24
- raise java.lang.UnsupportedOperationException
25
- end
26
- end
27
- end
28
- end
29
- end
@@ -1,32 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Handlers
4
- class PullHandlers
5
- include Spi::ResponseHandler
6
-
7
- class << self
8
- def new_bolt_v3_pull_all_handler(query, run_handler, connection, bookmark_holder, tx)
9
- completion_listener = create_pull_response_completion_listener(connection, bookmark_holder, tx)
10
- LegacyPullAllResponseHandler.new(query, run_handler, connection, Messaging::V3::BoltProtocolV3::METADATA_EXTRACTOR, completion_listener)
11
- end
12
-
13
- def new_bolt_v4_auto_pull_handler(query, run_handler, connection, bookmark_holder, tx, fetch_size)
14
- completion_listener = create_pull_response_completion_listener(connection, bookmark_holder, tx)
15
- Pulln::AutoPullResponseHandler.new(query, run_handler, connection, Messaging::V3::BoltProtocolV3::METADATA_EXTRACTOR, completion_listener, fetch_size)
16
- end
17
-
18
- def new_bolt_v4_basic_pull_handler(query, run_handler, connection, bookmark_holder, tx)
19
- completion_listener = create_pull_response_completion_listener(connection, bookmark_holder, tx)
20
- Pulln::BasicPullResponseHandler.new(query, run_handler, connection, Messaging::V3::BoltProtocolV3::METADATA_EXTRACTOR, completion_listener)
21
- end
22
-
23
- private
24
-
25
- def create_pull_response_completion_listener(connection, bookmark_holder, tx)
26
- tx.nil? ? SessionPullResponseCompletionListener.new(connection, bookmark_holder) : TransactionPullResponseCompletionListener.new(tx)
27
- end
28
- end
29
- end
30
- end
31
- end
32
- end
@@ -1,168 +0,0 @@
1
- module Neo4j::Driver
2
- module Internal
3
- module Handlers
4
- module Pulln
5
- class AutoPullResponseHandler < BasicPullResponseHandler
6
- delegate :signal, to: :@records
7
- LONG_MAX_VALUE = 2 ** 63 - 1
8
-
9
- def initialize(query, run_response_handler, connection, metadata_extractor, completion_listener, fetch_size)
10
- super(query, run_response_handler, connection, metadata_extractor, completion_listener)
11
- @fetch_size = fetch_size
12
-
13
- # For pull everything ensure conditions for disabling auto pull are never met
14
- if fetch_size == FetchSizeUtil::UNLIMITED_FETCH_SIZE
15
- @high_record_watermark = LONG_MAX_VALUE
16
- @low_record_watermark = LONG_MAX_VALUE
17
- else
18
- @high_record_watermark = fetch_size * 0.7
19
- @low_record_watermark = fetch_size * 0.3
20
- end
21
-
22
- @records = ::Async::Queue.new
23
- @auto_pull_enabled = true
24
-
25
- install_record_and_summary_consumers
26
- end
27
-
28
- private def install_record_and_summary_consumers
29
- install_record_consumer do |record, error|
30
- if record
31
- enqueue_record(record)
32
- complete_record_future(record)
33
- end
34
-
35
- # if !error.nil? Handled by summary.error already
36
- if record.nil? && error.nil?
37
- # complete
38
- complete_record_future(nil)
39
- end
40
- end
41
-
42
- install_summary_consumer do |summary, error|
43
- handle_failure(error) if error
44
-
45
- if summary
46
- @summary = summary
47
- complete_summary_future(summary)
48
- end
49
-
50
- if error.nil? && summary.nil? # has_more
51
- request(@fetch_size) if @auto_pull_enabled
52
- end
53
- end
54
- end
55
-
56
- private def handle_failure(error)
57
- # error has not been propagated to the user, remember it
58
- unless fail_record_future(error) || fail_summary_future(error)
59
- @failure = error
60
- end
61
- end
62
-
63
- def peek_async
64
- while @records.empty? && !done?
65
- @records.wait
66
- end
67
- @records.items.first&.then(&Util::ResultHolder.method(:successful)) or
68
- completed_with_value_if_no_failure(nil)
69
- end
70
-
71
- def next_async
72
- peek_async.then { |record| dequeue_record if record }
73
- end
74
-
75
- def consume_async
76
- @records.items.clear
77
- cancel unless done?
78
- completed_with_value_if_no_failure(@summary)
79
- end
80
-
81
- def list_async(&block)
82
- pull_all_async.then do
83
- unless done?
84
- raise Exceptions::IllegalStateException, "Can't get records as list because SUCCESS or FAILURE did not arrive"
85
- end
86
- @records.items.map(&block)
87
- ensure
88
- @records.items.clear
89
- end
90
- end
91
-
92
- def pull_all_failure_async
93
- pull_all_async.chain { |_, error| error }
94
- end
95
-
96
- def pre_populate_records
97
- request(@fetch_size)
98
- end
99
-
100
- private
101
-
102
- def pull_all_async
103
- return completed_with_value_if_no_failure(@summary) if done?
104
- (@summary_future ||= Util::ResultHolder.new).tap do |_|
105
- request(FetchSizeUtil::UNLIMITED_FETCH_SIZE)
106
- end
107
- end
108
-
109
- def enqueue_record(record)
110
- @records << record
111
-
112
- # too many records in the queue, pause auto request gathering
113
- @auto_pull_enabled = false if @records.size > @high_record_watermark
114
- end
115
-
116
- def dequeue_record
117
- record = @records.dequeue
118
-
119
- if @records.size <= @low_record_watermark
120
- # if not in streaming state we need to restart streaming
121
- request(@fetch_size) if state != State::STREAMING_STATE
122
-
123
- @auto_pull_enabled = true
124
- end
125
-
126
- record
127
- end
128
-
129
- def extract_failure
130
- @failure or raise Exceptions::IllegalStateException, "Can't extract failure because it does not exist"
131
- ensure
132
- @failure = nil # propagate failure only once
133
- end
134
-
135
- def complete_record_future(record)
136
- @record_future&.succeed(record)
137
- @record_future = nil
138
- end
139
-
140
- def complete_summary_future(summary)
141
- @summary_future&.succeed(summary)
142
- @summary_future = nil
143
- end
144
-
145
- def fail_record_future(error)
146
- @record_future&.fail(error)
147
- ensure
148
- @record_future = nil
149
- end
150
-
151
- def fail_summary_future(error)
152
- @summary_future&.fail(error)
153
- ensure
154
- @summary_future = nil
155
- end
156
-
157
- def completed_with_value_if_no_failure(value)
158
- if @failure
159
- Util::ResultHolder.failed(extract_failure)
160
- else
161
- Util::ResultHolder.successful(value)
162
- end
163
- end
164
- end
165
- end
166
- end
167
- end
168
- end