gremlin 3.7.1 → 3.7.3

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 (120) hide show
  1. package/.eslintrc.js +3 -4
  2. package/.nvmrc +1 -0
  3. package/LICENSE +9 -1
  4. package/NOTICE +1 -1
  5. package/README.md +1 -1
  6. package/doc/AnonymousTraversalSource.html +2 -2
  7. package/doc/Authenticator.html +2 -2
  8. package/doc/Bytecode.html +2 -2
  9. package/doc/CardinalityValue.html +2 -2
  10. package/doc/Client.html +15 -81
  11. package/doc/Connection.html +15 -169
  12. package/doc/DataType.js.html +149 -0
  13. package/doc/DriverRemoteConnection.html +18 -84
  14. package/doc/EdgeLabelVerificationStrategy.html +2 -2
  15. package/doc/Graph.html +2 -2
  16. package/doc/GraphBinaryReader.js.html +132 -0
  17. package/doc/GraphBinaryWriter.js.html +135 -0
  18. package/doc/GraphSON2Reader.html +4 -4
  19. package/doc/GraphSON2Writer.html +5 -5
  20. package/doc/GraphSON3Reader.html +3 -3
  21. package/doc/GraphSON3Writer.html +3 -3
  22. package/doc/GraphTraversal.html +2 -2
  23. package/doc/GraphTraversalSource.html +2 -2
  24. package/doc/HaltedTraverserStrategy.html +2 -2
  25. package/doc/MatchAlgorithmStrategy.html +2 -2
  26. package/doc/P.html +2 -2
  27. package/doc/PartitionStrategy.html +2 -2
  28. package/doc/Path.html +2 -2
  29. package/doc/PlainTextSaslAuthenticator.html +2 -2
  30. package/doc/ProductiveByStrategy.html +2 -2
  31. package/doc/RemoteConnection.html +2 -2
  32. package/doc/RemoteStrategy.html +2 -2
  33. package/doc/RemoteTraversal.html +2 -2
  34. package/doc/ReservedKeysVerificationStrategy.html +2 -2
  35. package/doc/ResponseError.html +2 -2
  36. package/doc/ResultSet.html +7 -95
  37. package/doc/SaslAuthenticator.html +2 -2
  38. package/doc/SaslMechanismBase.html +2 -2
  39. package/doc/SaslMechanismPlain.html +7 -7
  40. package/doc/SeedStrategy.html +2 -2
  41. package/doc/SubgraphStrategy.html +2 -2
  42. package/doc/TextP.html +2 -2
  43. package/doc/Transaction.html +5 -5
  44. package/doc/Translator.html +2 -2
  45. package/doc/TraversalStrategies.html +2 -2
  46. package/doc/TraversalStrategy.html +2 -2
  47. package/doc/TypeSerializer.html +2 -2
  48. package/doc/driver_auth_authenticator.js.html +2 -2
  49. package/doc/driver_auth_mechanisms_sasl-mechanism-base.js.html +2 -2
  50. package/doc/driver_auth_mechanisms_sasl-mechanism-plain.js.html +3 -2
  51. package/doc/driver_auth_plain-text-sasl-authenticator.js.html +2 -2
  52. package/doc/driver_auth_sasl-authenticator.js.html +2 -2
  53. package/doc/driver_client.js.html +3 -5
  54. package/doc/driver_connection.js.html +85 -118
  55. package/doc/driver_driver-remote-connection.js.html +3 -5
  56. package/doc/driver_remote-connection.js.html +2 -2
  57. package/doc/driver_response-error.js.html +2 -2
  58. package/doc/driver_result-set.js.html +2 -11
  59. package/doc/global.html +158 -3
  60. package/doc/index.html +3 -3
  61. package/doc/module.exports.html +4 -4
  62. package/doc/process_anonymous-traversal.js.html +2 -2
  63. package/doc/process_bytecode.js.html +2 -2
  64. package/doc/process_graph-traversal.js.html +2 -2
  65. package/doc/process_transaction.js.html +12 -4
  66. package/doc/process_translator.js.html +5 -5
  67. package/doc/process_traversal-strategy.js.html +2 -2
  68. package/doc/process_traversal.js.html +2 -2
  69. package/doc/structure_graph.js.html +2 -2
  70. package/doc/structure_io_binary_internals_DataType.js.html +2 -2
  71. package/doc/structure_io_binary_internals_GraphBinaryReader.js.html +4 -2
  72. package/doc/structure_io_binary_internals_GraphBinaryWriter.js.html +4 -2
  73. package/doc/structure_io_graph-serializer.js.html +3 -2
  74. package/doc/structure_io_type-serializers.js.html +2 -2
  75. package/doc/utils.js.html +181 -0
  76. package/docker-compose.yml +0 -2
  77. package/lib/driver/auth/mechanisms/sasl-mechanism-plain.js +1 -0
  78. package/lib/driver/client.js +1 -3
  79. package/lib/driver/connection.js +83 -116
  80. package/lib/driver/driver-remote-connection.js +1 -3
  81. package/lib/driver/result-set.js +0 -9
  82. package/lib/process/transaction.js +10 -2
  83. package/lib/process/translator.js +3 -3
  84. package/lib/structure/io/binary/internals/AnySerializer.js +2 -0
  85. package/lib/structure/io/binary/internals/ArraySerializer.js +2 -0
  86. package/lib/structure/io/binary/internals/BigIntegerSerializer.js +2 -0
  87. package/lib/structure/io/binary/internals/BooleanSerializer.js +2 -0
  88. package/lib/structure/io/binary/internals/BulkSetSerializer.js +2 -0
  89. package/lib/structure/io/binary/internals/ByteBufferSerializer.js +2 -0
  90. package/lib/structure/io/binary/internals/ByteSerializer.js +2 -0
  91. package/lib/structure/io/binary/internals/BytecodeSerializer.js +1 -0
  92. package/lib/structure/io/binary/internals/DateSerializer.js +2 -0
  93. package/lib/structure/io/binary/internals/DoubleSerializer.js +2 -0
  94. package/lib/structure/io/binary/internals/EdgeSerializer.js +1 -0
  95. package/lib/structure/io/binary/internals/EnumSerializer.js +1 -0
  96. package/lib/structure/io/binary/internals/FloatSerializer.js +2 -0
  97. package/lib/structure/io/binary/internals/GraphBinaryReader.js +2 -0
  98. package/lib/structure/io/binary/internals/GraphBinaryWriter.js +2 -0
  99. package/lib/structure/io/binary/internals/IntSerializer.js +2 -0
  100. package/lib/structure/io/binary/internals/LambdaSerializer.js +1 -0
  101. package/lib/structure/io/binary/internals/LongSerializer.js +2 -0
  102. package/lib/structure/io/binary/internals/LongSerializerNg.js +2 -0
  103. package/lib/structure/io/binary/internals/MapSerializer.js +2 -0
  104. package/lib/structure/io/binary/internals/PSerializer.js +1 -0
  105. package/lib/structure/io/binary/internals/PathSerializer.js +1 -0
  106. package/lib/structure/io/binary/internals/PropertySerializer.js +1 -0
  107. package/lib/structure/io/binary/internals/ShortSerializer.js +2 -0
  108. package/lib/structure/io/binary/internals/StringSerializer.js +2 -0
  109. package/lib/structure/io/binary/internals/TextPSerializer.js +1 -0
  110. package/lib/structure/io/binary/internals/TraversalStrategySerializer.js +2 -0
  111. package/lib/structure/io/binary/internals/TraverserSerializer.js +1 -0
  112. package/lib/structure/io/binary/internals/UnspecifiedNullSerializer.js +2 -0
  113. package/lib/structure/io/binary/internals/UuidSerializer.js +2 -0
  114. package/lib/structure/io/binary/internals/VertexPropertySerializer.js +5 -1
  115. package/lib/structure/io/binary/internals/VertexSerializer.js +5 -1
  116. package/lib/structure/io/binary/internals/utils.js +2 -0
  117. package/lib/structure/io/graph-serializer.js +1 -0
  118. package/lib/utils.js +40 -29
  119. package/licenses/chai +21 -0
  120. package/package.json +8 -4
@@ -91,13 +91,13 @@ module.exports = PlainTextSaslAuthenticator;
91
91
  </div>
92
92
 
93
93
  <nav>
94
- <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnonymousTraversalSource.html">AnonymousTraversalSource</a></li><li><a href="Authenticator.html">Authenticator</a></li><li><a href="Bytecode.html">Bytecode</a></li><li><a href="CardinalityValue.html">CardinalityValue</a></li><li><a href="Client.html">Client</a></li><li><a href="Connection.html">Connection</a></li><li><a href="DriverRemoteConnection.html">DriverRemoteConnection</a></li><li><a href="EdgeLabelVerificationStrategy.html">EdgeLabelVerificationStrategy</a></li><li><a href="Graph.html">Graph</a></li><li><a href="GraphSON2Reader.html">GraphSON2Reader</a></li><li><a href="GraphSON2Writer.html">GraphSON2Writer</a></li><li><a href="GraphSON3Reader.html">GraphSON3Reader</a></li><li><a href="GraphSON3Writer.html">GraphSON3Writer</a></li><li><a href="GraphTraversal.html">GraphTraversal</a></li><li><a href="GraphTraversalSource.html">GraphTraversalSource</a></li><li><a href="HaltedTraverserStrategy.html">HaltedTraverserStrategy</a></li><li><a href="MatchAlgorithmStrategy.html">MatchAlgorithmStrategy</a></li><li><a href="module.exports.html">exports</a></li><li><a href="P.html">P</a></li><li><a href="PartitionStrategy.html">PartitionStrategy</a></li><li><a href="Path.html">Path</a></li><li><a href="PlainTextSaslAuthenticator.html">PlainTextSaslAuthenticator</a></li><li><a href="ProductiveByStrategy.html">ProductiveByStrategy</a></li><li><a href="RemoteConnection.html">RemoteConnection</a></li><li><a href="RemoteStrategy.html">RemoteStrategy</a></li><li><a href="RemoteTraversal.html">RemoteTraversal</a></li><li><a href="ReservedKeysVerificationStrategy.html">ReservedKeysVerificationStrategy</a></li><li><a href="ResponseError.html">ResponseError</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="SaslAuthenticator.html">SaslAuthenticator</a></li><li><a href="SaslMechanismBase.html">SaslMechanismBase</a></li><li><a href="SaslMechanismPlain.html">SaslMechanismPlain</a></li><li><a href="SeedStrategy.html">SeedStrategy</a></li><li><a href="SubgraphStrategy.html">SubgraphStrategy</a></li><li><a href="TextP.html">TextP</a></li><li><a href="Transaction.html">Transaction</a></li><li><a href="Translator.html">Translator</a></li><li><a href="TraversalStrategies.html">TraversalStrategies</a></li><li><a href="TraversalStrategy.html">TraversalStrategy</a></li><li><a href="TypeSerializer.html">TypeSerializer</a></li></ul><h3>Global</h3><ul><li><a href="global.html#DataType">DataType</a></li><li><a href="global.html#statics">statics</a></li></ul>
94
+ <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnonymousTraversalSource.html">AnonymousTraversalSource</a></li><li><a href="Authenticator.html">Authenticator</a></li><li><a href="Bytecode.html">Bytecode</a></li><li><a href="CardinalityValue.html">CardinalityValue</a></li><li><a href="Client.html">Client</a></li><li><a href="Connection.html">Connection</a></li><li><a href="DriverRemoteConnection.html">DriverRemoteConnection</a></li><li><a href="EdgeLabelVerificationStrategy.html">EdgeLabelVerificationStrategy</a></li><li><a href="Graph.html">Graph</a></li><li><a href="GraphSON2Reader.html">GraphSON2Reader</a></li><li><a href="GraphSON2Writer.html">GraphSON2Writer</a></li><li><a href="GraphSON3Reader.html">GraphSON3Reader</a></li><li><a href="GraphSON3Writer.html">GraphSON3Writer</a></li><li><a href="GraphTraversal.html">GraphTraversal</a></li><li><a href="GraphTraversalSource.html">GraphTraversalSource</a></li><li><a href="HaltedTraverserStrategy.html">HaltedTraverserStrategy</a></li><li><a href="MatchAlgorithmStrategy.html">MatchAlgorithmStrategy</a></li><li><a href="module.exports.html">exports</a></li><li><a href="P.html">P</a></li><li><a href="PartitionStrategy.html">PartitionStrategy</a></li><li><a href="Path.html">Path</a></li><li><a href="PlainTextSaslAuthenticator.html">PlainTextSaslAuthenticator</a></li><li><a href="ProductiveByStrategy.html">ProductiveByStrategy</a></li><li><a href="RemoteConnection.html">RemoteConnection</a></li><li><a href="RemoteStrategy.html">RemoteStrategy</a></li><li><a href="RemoteTraversal.html">RemoteTraversal</a></li><li><a href="ReservedKeysVerificationStrategy.html">ReservedKeysVerificationStrategy</a></li><li><a href="ResponseError.html">ResponseError</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="SaslAuthenticator.html">SaslAuthenticator</a></li><li><a href="SaslMechanismBase.html">SaslMechanismBase</a></li><li><a href="SaslMechanismPlain.html">SaslMechanismPlain</a></li><li><a href="SeedStrategy.html">SeedStrategy</a></li><li><a href="SubgraphStrategy.html">SubgraphStrategy</a></li><li><a href="TextP.html">TextP</a></li><li><a href="Transaction.html">Transaction</a></li><li><a href="Translator.html">Translator</a></li><li><a href="TraversalStrategies.html">TraversalStrategies</a></li><li><a href="TraversalStrategy.html">TraversalStrategy</a></li><li><a href="TypeSerializer.html">TypeSerializer</a></li></ul><h3>Global</h3><ul><li><a href="global.html#DataType">DataType</a></li><li><a href="global.html#statics">statics</a></li><li><a href="global.html#toArrayBuffer">toArrayBuffer</a></li></ul>
95
95
  </nav>
96
96
 
97
97
  <br class="clear">
98
98
 
99
99
  <footer>
100
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Dec 04 2023 12:21:39 GMT-0800 (Pacific Standard Time)
100
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Tue Oct 29 2024 10:43:41 GMT-0700 (Pacific Daylight Time)
101
101
  </footer>
102
102
 
103
103
  <script> prettyPrint(); </script>
@@ -85,13 +85,13 @@ module.exports = SaslAuthenticator;
85
85
  </div>
86
86
 
87
87
  <nav>
88
- <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnonymousTraversalSource.html">AnonymousTraversalSource</a></li><li><a href="Authenticator.html">Authenticator</a></li><li><a href="Bytecode.html">Bytecode</a></li><li><a href="CardinalityValue.html">CardinalityValue</a></li><li><a href="Client.html">Client</a></li><li><a href="Connection.html">Connection</a></li><li><a href="DriverRemoteConnection.html">DriverRemoteConnection</a></li><li><a href="EdgeLabelVerificationStrategy.html">EdgeLabelVerificationStrategy</a></li><li><a href="Graph.html">Graph</a></li><li><a href="GraphSON2Reader.html">GraphSON2Reader</a></li><li><a href="GraphSON2Writer.html">GraphSON2Writer</a></li><li><a href="GraphSON3Reader.html">GraphSON3Reader</a></li><li><a href="GraphSON3Writer.html">GraphSON3Writer</a></li><li><a href="GraphTraversal.html">GraphTraversal</a></li><li><a href="GraphTraversalSource.html">GraphTraversalSource</a></li><li><a href="HaltedTraverserStrategy.html">HaltedTraverserStrategy</a></li><li><a href="MatchAlgorithmStrategy.html">MatchAlgorithmStrategy</a></li><li><a href="module.exports.html">exports</a></li><li><a href="P.html">P</a></li><li><a href="PartitionStrategy.html">PartitionStrategy</a></li><li><a href="Path.html">Path</a></li><li><a href="PlainTextSaslAuthenticator.html">PlainTextSaslAuthenticator</a></li><li><a href="ProductiveByStrategy.html">ProductiveByStrategy</a></li><li><a href="RemoteConnection.html">RemoteConnection</a></li><li><a href="RemoteStrategy.html">RemoteStrategy</a></li><li><a href="RemoteTraversal.html">RemoteTraversal</a></li><li><a href="ReservedKeysVerificationStrategy.html">ReservedKeysVerificationStrategy</a></li><li><a href="ResponseError.html">ResponseError</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="SaslAuthenticator.html">SaslAuthenticator</a></li><li><a href="SaslMechanismBase.html">SaslMechanismBase</a></li><li><a href="SaslMechanismPlain.html">SaslMechanismPlain</a></li><li><a href="SeedStrategy.html">SeedStrategy</a></li><li><a href="SubgraphStrategy.html">SubgraphStrategy</a></li><li><a href="TextP.html">TextP</a></li><li><a href="Transaction.html">Transaction</a></li><li><a href="Translator.html">Translator</a></li><li><a href="TraversalStrategies.html">TraversalStrategies</a></li><li><a href="TraversalStrategy.html">TraversalStrategy</a></li><li><a href="TypeSerializer.html">TypeSerializer</a></li></ul><h3>Global</h3><ul><li><a href="global.html#DataType">DataType</a></li><li><a href="global.html#statics">statics</a></li></ul>
88
+ <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnonymousTraversalSource.html">AnonymousTraversalSource</a></li><li><a href="Authenticator.html">Authenticator</a></li><li><a href="Bytecode.html">Bytecode</a></li><li><a href="CardinalityValue.html">CardinalityValue</a></li><li><a href="Client.html">Client</a></li><li><a href="Connection.html">Connection</a></li><li><a href="DriverRemoteConnection.html">DriverRemoteConnection</a></li><li><a href="EdgeLabelVerificationStrategy.html">EdgeLabelVerificationStrategy</a></li><li><a href="Graph.html">Graph</a></li><li><a href="GraphSON2Reader.html">GraphSON2Reader</a></li><li><a href="GraphSON2Writer.html">GraphSON2Writer</a></li><li><a href="GraphSON3Reader.html">GraphSON3Reader</a></li><li><a href="GraphSON3Writer.html">GraphSON3Writer</a></li><li><a href="GraphTraversal.html">GraphTraversal</a></li><li><a href="GraphTraversalSource.html">GraphTraversalSource</a></li><li><a href="HaltedTraverserStrategy.html">HaltedTraverserStrategy</a></li><li><a href="MatchAlgorithmStrategy.html">MatchAlgorithmStrategy</a></li><li><a href="module.exports.html">exports</a></li><li><a href="P.html">P</a></li><li><a href="PartitionStrategy.html">PartitionStrategy</a></li><li><a href="Path.html">Path</a></li><li><a href="PlainTextSaslAuthenticator.html">PlainTextSaslAuthenticator</a></li><li><a href="ProductiveByStrategy.html">ProductiveByStrategy</a></li><li><a href="RemoteConnection.html">RemoteConnection</a></li><li><a href="RemoteStrategy.html">RemoteStrategy</a></li><li><a href="RemoteTraversal.html">RemoteTraversal</a></li><li><a href="ReservedKeysVerificationStrategy.html">ReservedKeysVerificationStrategy</a></li><li><a href="ResponseError.html">ResponseError</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="SaslAuthenticator.html">SaslAuthenticator</a></li><li><a href="SaslMechanismBase.html">SaslMechanismBase</a></li><li><a href="SaslMechanismPlain.html">SaslMechanismPlain</a></li><li><a href="SeedStrategy.html">SeedStrategy</a></li><li><a href="SubgraphStrategy.html">SubgraphStrategy</a></li><li><a href="TextP.html">TextP</a></li><li><a href="Transaction.html">Transaction</a></li><li><a href="Translator.html">Translator</a></li><li><a href="TraversalStrategies.html">TraversalStrategies</a></li><li><a href="TraversalStrategy.html">TraversalStrategy</a></li><li><a href="TypeSerializer.html">TypeSerializer</a></li></ul><h3>Global</h3><ul><li><a href="global.html#DataType">DataType</a></li><li><a href="global.html#statics">statics</a></li><li><a href="global.html#toArrayBuffer">toArrayBuffer</a></li></ul>
89
89
  </nav>
90
90
 
91
91
  <br class="clear">
92
92
 
93
93
  <footer>
94
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Dec 04 2023 12:21:39 GMT-0800 (Pacific Standard Time)
94
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Tue Oct 29 2024 10:43:41 GMT-0700 (Pacific Daylight Time)
95
95
  </footer>
96
96
 
97
97
  <script> prettyPrint(); </script>
@@ -71,10 +71,8 @@ class Client {
71
71
  * @param {Boolean} [options.enableUserAgentOnConnect] Determines if a user agent will be sent during connection handshake. Defaults to: true
72
72
  * @param {String} [options.processor] The name of the opProcessor to use, leave it undefined or set 'session' when session mode.
73
73
  * @param {String} [options.session] The sessionId of Client in session mode. Defaults to null means session-less Client.
74
- * @param {Boolean} [options.pingEnabled] Setup ping interval. Defaults to: true.
75
- * @param {Number} [options.pingInterval] Ping request interval in ms if ping enabled. Defaults to: 60000.
76
- * @param {Number} [options.pongTimeout] Timeout of pong response in ms after sending a ping. Defaults to: 30000.
77
74
  * @param {http.Agent} [options.agent] The http.Agent implementation to use.
75
+ * @param {Boolean} [options.enableCompression] Enable per-message deflate compression. Defaults to: false.
78
76
  * @constructor
79
77
  */
80
78
  constructor(url, options = {}) {
@@ -237,13 +235,13 @@ module.exports = Client;
237
235
  </div>
238
236
 
239
237
  <nav>
240
- <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnonymousTraversalSource.html">AnonymousTraversalSource</a></li><li><a href="Authenticator.html">Authenticator</a></li><li><a href="Bytecode.html">Bytecode</a></li><li><a href="CardinalityValue.html">CardinalityValue</a></li><li><a href="Client.html">Client</a></li><li><a href="Connection.html">Connection</a></li><li><a href="DriverRemoteConnection.html">DriverRemoteConnection</a></li><li><a href="EdgeLabelVerificationStrategy.html">EdgeLabelVerificationStrategy</a></li><li><a href="Graph.html">Graph</a></li><li><a href="GraphSON2Reader.html">GraphSON2Reader</a></li><li><a href="GraphSON2Writer.html">GraphSON2Writer</a></li><li><a href="GraphSON3Reader.html">GraphSON3Reader</a></li><li><a href="GraphSON3Writer.html">GraphSON3Writer</a></li><li><a href="GraphTraversal.html">GraphTraversal</a></li><li><a href="GraphTraversalSource.html">GraphTraversalSource</a></li><li><a href="HaltedTraverserStrategy.html">HaltedTraverserStrategy</a></li><li><a href="MatchAlgorithmStrategy.html">MatchAlgorithmStrategy</a></li><li><a href="module.exports.html">exports</a></li><li><a href="P.html">P</a></li><li><a href="PartitionStrategy.html">PartitionStrategy</a></li><li><a href="Path.html">Path</a></li><li><a href="PlainTextSaslAuthenticator.html">PlainTextSaslAuthenticator</a></li><li><a href="ProductiveByStrategy.html">ProductiveByStrategy</a></li><li><a href="RemoteConnection.html">RemoteConnection</a></li><li><a href="RemoteStrategy.html">RemoteStrategy</a></li><li><a href="RemoteTraversal.html">RemoteTraversal</a></li><li><a href="ReservedKeysVerificationStrategy.html">ReservedKeysVerificationStrategy</a></li><li><a href="ResponseError.html">ResponseError</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="SaslAuthenticator.html">SaslAuthenticator</a></li><li><a href="SaslMechanismBase.html">SaslMechanismBase</a></li><li><a href="SaslMechanismPlain.html">SaslMechanismPlain</a></li><li><a href="SeedStrategy.html">SeedStrategy</a></li><li><a href="SubgraphStrategy.html">SubgraphStrategy</a></li><li><a href="TextP.html">TextP</a></li><li><a href="Transaction.html">Transaction</a></li><li><a href="Translator.html">Translator</a></li><li><a href="TraversalStrategies.html">TraversalStrategies</a></li><li><a href="TraversalStrategy.html">TraversalStrategy</a></li><li><a href="TypeSerializer.html">TypeSerializer</a></li></ul><h3>Global</h3><ul><li><a href="global.html#DataType">DataType</a></li><li><a href="global.html#statics">statics</a></li></ul>
238
+ <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnonymousTraversalSource.html">AnonymousTraversalSource</a></li><li><a href="Authenticator.html">Authenticator</a></li><li><a href="Bytecode.html">Bytecode</a></li><li><a href="CardinalityValue.html">CardinalityValue</a></li><li><a href="Client.html">Client</a></li><li><a href="Connection.html">Connection</a></li><li><a href="DriverRemoteConnection.html">DriverRemoteConnection</a></li><li><a href="EdgeLabelVerificationStrategy.html">EdgeLabelVerificationStrategy</a></li><li><a href="Graph.html">Graph</a></li><li><a href="GraphSON2Reader.html">GraphSON2Reader</a></li><li><a href="GraphSON2Writer.html">GraphSON2Writer</a></li><li><a href="GraphSON3Reader.html">GraphSON3Reader</a></li><li><a href="GraphSON3Writer.html">GraphSON3Writer</a></li><li><a href="GraphTraversal.html">GraphTraversal</a></li><li><a href="GraphTraversalSource.html">GraphTraversalSource</a></li><li><a href="HaltedTraverserStrategy.html">HaltedTraverserStrategy</a></li><li><a href="MatchAlgorithmStrategy.html">MatchAlgorithmStrategy</a></li><li><a href="module.exports.html">exports</a></li><li><a href="P.html">P</a></li><li><a href="PartitionStrategy.html">PartitionStrategy</a></li><li><a href="Path.html">Path</a></li><li><a href="PlainTextSaslAuthenticator.html">PlainTextSaslAuthenticator</a></li><li><a href="ProductiveByStrategy.html">ProductiveByStrategy</a></li><li><a href="RemoteConnection.html">RemoteConnection</a></li><li><a href="RemoteStrategy.html">RemoteStrategy</a></li><li><a href="RemoteTraversal.html">RemoteTraversal</a></li><li><a href="ReservedKeysVerificationStrategy.html">ReservedKeysVerificationStrategy</a></li><li><a href="ResponseError.html">ResponseError</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="SaslAuthenticator.html">SaslAuthenticator</a></li><li><a href="SaslMechanismBase.html">SaslMechanismBase</a></li><li><a href="SaslMechanismPlain.html">SaslMechanismPlain</a></li><li><a href="SeedStrategy.html">SeedStrategy</a></li><li><a href="SubgraphStrategy.html">SubgraphStrategy</a></li><li><a href="TextP.html">TextP</a></li><li><a href="Transaction.html">Transaction</a></li><li><a href="Translator.html">Translator</a></li><li><a href="TraversalStrategies.html">TraversalStrategies</a></li><li><a href="TraversalStrategy.html">TraversalStrategy</a></li><li><a href="TypeSerializer.html">TypeSerializer</a></li></ul><h3>Global</h3><ul><li><a href="global.html#DataType">DataType</a></li><li><a href="global.html#statics">statics</a></li><li><a href="global.html#toArrayBuffer">toArrayBuffer</a></li></ul>
241
239
  </nav>
242
240
 
243
241
  <br class="clear">
244
242
 
245
243
  <footer>
246
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Dec 04 2023 12:21:39 GMT-0800 (Pacific Standard Time)
244
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Tue Oct 29 2024 10:43:41 GMT-0700 (Pacific Daylight Time)
247
245
  </footer>
248
246
 
249
247
  <script> prettyPrint(); </script>
@@ -50,11 +50,11 @@
50
50
  */
51
51
  'use strict';
52
52
 
53
- const EventEmitter = require('events');
54
- const Stream = require('stream');
55
- const WebSocket = require('ws');
56
- const util = require('util');
53
+ const { Buffer } = require('buffer');
54
+ const EventEmitter = require('eventemitter3');
55
+ const Stream = require('readable-stream');
57
56
  const utils = require('../utils');
57
+ const { DeferredPromise } = utils;
58
58
  const serializer = require('../structure/io/graph-serializer');
59
59
  const { graphBinaryReader, graphBinaryWriter } = require('../structure/io/binary/GraphBinary');
60
60
  const ResultSet = require('./result-set');
@@ -71,9 +71,6 @@ const defaultMimeType = 'application/vnd.gremlin-v3.0+json';
71
71
  const graphSON2MimeType = 'application/vnd.gremlin-v2.0+json';
72
72
  const graphBinaryMimeType = 'application/vnd.graphbinary-v1.0';
73
73
 
74
- const pingIntervalDelay = 60 * 1000;
75
- const pongTimeoutDelay = 30 * 1000;
76
-
77
74
  const uuidPattern = '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}';
78
75
 
79
76
  /**
@@ -95,10 +92,8 @@ class Connection extends EventEmitter {
95
92
  * @param {Authenticator} [options.authenticator] The authentication handler to use.
96
93
  * @param {Object} [options.headers] An associative array containing the additional header key/values for the initial request.
97
94
  * @param {Boolean} [options.enableUserAgentOnConnect] Determines if a user agent will be sent during connection handshake. Defaults to: true
98
- * @param {Boolean} [options.pingEnabled] Setup ping interval. Defaults to: true.
99
- * @param {Number} [options.pingInterval] Ping request interval in ms if ping enabled. Defaults to: 60000.
100
- * @param {Number} [options.pongTimeout] Timeout of pong response in ms after sending a ping. Defaults to: 30000.
101
95
  * @param {http.Agent} [options.agent] The http.Agent implementation to use.
96
+ * @param {Boolean} [options.enableCompression] Enable per-message deflate compression. Defaults to: false.
102
97
  * @constructor
103
98
  */
104
99
  constructor(url, options) {
@@ -115,14 +110,12 @@ class Connection extends EventEmitter {
115
110
 
116
111
  // A map containing the request id and the handler. The id should be in lower case to prevent string comparison issues.
117
112
  this._responseHandlers = {};
118
- this._reader = options.reader || this._getDefaultReader(this.mimeType);
119
- this._writer = options.writer || this._getDefaultWriter(this.mimeType);
113
+ this._reader = options.reader || this.#getDefaultReader(this.mimeType);
114
+ this._writer = options.writer || this.#getDefaultWriter(this.mimeType);
120
115
  this._openPromise = null;
121
116
  this._openCallback = null;
122
117
  this._closePromise = null;
123
118
  this._closeCallback = null;
124
- this._pingInterval = null;
125
- this._pongTimeout = null;
126
119
 
127
120
  this._header = String.fromCharCode(this.mimeType.length) + this.mimeType; // TODO: what if mimeType.length > 255
128
121
  this._header_buf = Buffer.from(this._header);
@@ -130,70 +123,62 @@ class Connection extends EventEmitter {
130
123
  this.traversalSource = options.traversalSource || 'g';
131
124
  this._authenticator = options.authenticator;
132
125
  this._enableUserAgentOnConnect = options.enableUserAgentOnConnect !== false;
133
-
134
- this._pingEnabled = this.options.pingEnabled === false ? false : true;
135
- this._pingIntervalDelay = this.options.pingInterval || pingIntervalDelay;
136
- this._pongTimeoutDelay = this.options.pongTimeout || pongTimeoutDelay;
137
126
  }
138
127
 
139
128
  /**
140
129
  * Opens the connection, if its not already opened.
141
130
  * @returns {Promise}
142
131
  */
143
- open() {
132
+ async open() {
144
133
  if (this.isOpen) {
145
- return Promise.resolve();
134
+ return;
146
135
  }
147
136
  if (this._openPromise) {
148
137
  return this._openPromise;
149
138
  }
150
139
 
140
+ this._openPromise = DeferredPromise();
141
+
151
142
  this.emit('log', 'ws open');
152
143
  let headers = this.options.headers;
153
144
  if (this._enableUserAgentOnConnect) {
154
145
  if (!headers) {
155
146
  headers = [];
156
147
  }
157
- headers[utils.getUserAgentHeader()] = utils.getUserAgent();
148
+
149
+ const userAgent = await utils.getUserAgent();
150
+ if (userAgent !== undefined) {
151
+ headers[utils.getUserAgentHeader()] = await utils.getUserAgent();
152
+ }
158
153
  }
159
154
 
160
- this._ws = new WebSocket(this.url, {
161
- headers: headers,
162
- ca: this.options.ca,
163
- cert: this.options.cert,
164
- pfx: this.options.pfx,
165
- rejectUnauthorized: this.options.rejectUnauthorized,
166
- agent: this.options.agent,
167
- });
155
+ const WebSocket = globalThis.WebSocket ?? (await import('ws')).default;
156
+
157
+ this._ws = new WebSocket(
158
+ this.url,
159
+ globalThis.WebSocket === undefined
160
+ ? {
161
+ headers: headers,
162
+ ca: this.options.ca,
163
+ cert: this.options.cert,
164
+ pfx: this.options.pfx,
165
+ rejectUnauthorized: this.options.rejectUnauthorized,
166
+ agent: this.options.agent,
167
+ perMessageDeflate: this.options.enableCompression,
168
+ }
169
+ : undefined,
170
+ );
168
171
 
169
- this._ws.on('message', (data) => this._handleMessage(data));
170
- this._ws.on('close', (code, message) => this._handleClose(code, message));
172
+ if ('binaryType' in this._ws) {
173
+ this._ws.binaryType = 'arraybuffer';
174
+ }
171
175
 
172
- this._ws.on('pong', () => {
173
- this.emit('log', 'ws pong received');
174
- if (this._pongTimeout) {
175
- clearTimeout(this._pongTimeout);
176
- this._pongTimeout = null;
177
- }
178
- });
179
- this._ws.on('ping', () => {
180
- this.emit('log', 'ws ping received');
181
- this._ws.pong();
182
- });
176
+ this._ws.addEventListener('open', this.#handleOpen);
177
+ this._ws.addEventListener('error', this.#handleError);
178
+ this._ws.addEventListener('message', this.#handleMessage);
179
+ this._ws.addEventListener('close', this.#handleClose);
183
180
 
184
- return (this._openPromise = new Promise((resolve, reject) => {
185
- this._ws.on('open', () => {
186
- this.isOpen = true;
187
- if (this._pingEnabled) {
188
- this._pingHeartbeat();
189
- }
190
- resolve();
191
- });
192
- this._ws.on('error', (err) => {
193
- this._handleError(err);
194
- reject(err);
195
- });
196
- }));
181
+ return await this._openPromise;
197
182
  }
198
183
 
199
184
  /** @override */
@@ -223,7 +208,7 @@ class Connection extends EventEmitter {
223
208
  };
224
209
 
225
210
  const request_buf = this._writer.writeRequest(request);
226
- const message = Buffer.concat([this._header_buf, request_buf]);
211
+ const message = utils.toArrayBuffer(Buffer.concat([this._header_buf, request_buf]));
227
212
  this._ws.send(message);
228
213
  }),
229
214
  );
@@ -258,7 +243,7 @@ class Connection extends EventEmitter {
258
243
  };
259
244
 
260
245
  const request_buf = this._writer.writeRequest(request);
261
- const message = Buffer.concat([this._header_buf, request_buf]);
246
+ const message = utils.toArrayBuffer(Buffer.concat([this._header_buf, request_buf]));
262
247
  this._ws.send(message);
263
248
  })
264
249
  .catch((err) => readableStream.destroy(err));
@@ -266,7 +251,7 @@ class Connection extends EventEmitter {
266
251
  return readableStream;
267
252
  }
268
253
 
269
- _getDefaultReader(mimeType) {
254
+ #getDefaultReader(mimeType) {
270
255
  if (mimeType === graphBinaryMimeType) {
271
256
  return graphBinaryReader;
272
257
  }
@@ -274,7 +259,7 @@ class Connection extends EventEmitter {
274
259
  return mimeType === graphSON2MimeType ? new serializer.GraphSON2Reader() : new serializer.GraphSONReader();
275
260
  }
276
261
 
277
- _getDefaultWriter(mimeType) {
262
+ #getDefaultWriter(mimeType) {
278
263
  if (mimeType === graphBinaryMimeType) {
279
264
  return graphBinaryWriter;
280
265
  }
@@ -282,68 +267,58 @@ class Connection extends EventEmitter {
282
267
  return mimeType === graphSON2MimeType ? new serializer.GraphSON2Writer() : new serializer.GraphSONWriter();
283
268
  }
284
269
 
285
- _pingHeartbeat() {
286
- if (this._pingInterval) {
287
- clearInterval(this._pingInterval);
288
- this._pingInterval = null;
289
- }
270
+ #handleOpen = () => {
271
+ this._openPromise.resolve();
272
+ this.isOpen = true;
273
+ };
290
274
 
291
- this._pingInterval = setInterval(() => {
292
- if (this.isOpen === false) {
293
- // in case of if not open..
294
- if (this._pingInterval) {
295
- clearInterval(this._pingInterval);
296
- this._pingInterval = null;
297
- }
298
- }
299
-
300
- this._pongTimeout = setTimeout(() => {
301
- this._ws.terminate();
302
- }, this._pongTimeoutDelay);
303
-
304
- this._ws.ping();
305
- }, this._pingIntervalDelay);
306
- }
307
-
308
- _handleError(err) {
309
- this.emit('log', `ws error ${err}`);
310
- this._cleanupWebsocket(err);
311
- this.emit('socketError', err);
312
- }
275
+ /**
276
+ * @param {Event} event
277
+ */
278
+ #handleError = ({ error }) => {
279
+ this._openPromise.reject(error);
280
+ this.emit('log', `ws error ${error}`);
281
+ this.#cleanupWebsocket(error);
282
+ this.emit('socketError', error);
283
+ };
313
284
 
314
- _handleClose(code, message) {
285
+ /**
286
+ * @param {CloseEvent} event
287
+ */
288
+ #handleClose = ({ code, message }) => {
315
289
  this.emit('log', `ws close code=${code} message=${message}`);
316
- this._cleanupWebsocket();
290
+ this.#cleanupWebsocket();
317
291
  if (this._closeCallback) {
318
292
  this._closeCallback();
319
293
  }
320
294
  this.emit('close', code, message);
321
- }
295
+ };
296
+
297
+ /**
298
+ * @param {MessageEvent&lt;any>} event
299
+ */
300
+ #handleMessage = ({ data: _data }) => {
301
+ const data = _data instanceof ArrayBuffer ? Buffer.from(_data) : _data;
322
302
 
323
- _handleMessage(data) {
324
303
  const response = this._reader.readResponse(data);
325
304
  if (response.requestId === null || response.requestId === undefined) {
326
305
  // There was a serialization issue on the server that prevented the parsing of the request id
327
306
  // We invoke any of the pending handlers with an error
328
307
  Object.keys(this._responseHandlers).forEach((requestId) => {
329
308
  const handler = this._responseHandlers[requestId];
330
- this._clearHandler(requestId);
309
+ this.#clearHandler(requestId);
331
310
  if (response.status !== undefined &amp;&amp; response.status.message) {
332
311
  return handler.callback(
333
312
  // TINKERPOP-2285: keep the old server error message in case folks are parsing that - fix in a future breaking version
334
313
  new ResponseError(
335
- util.format(
336
- 'Server error (no request information): %s (%d)',
337
- response.status.message,
338
- response.status.code,
339
- ),
314
+ `Server error (no request information): ${response.status.message} (${response.status.code})`,
340
315
  response.status,
341
316
  ),
342
317
  );
343
318
  }
344
319
  // TINKERPOP-2285: keep the old server error message in case folks are parsing that - fix in a future breaking version
345
320
  return handler.callback(
346
- new ResponseError(util.format('Server error (no request information): %j', response), response.status),
321
+ new ResponseError(`Server error (no request information): ${JSON.stringify(response)}`, response.status),
347
322
  );
348
323
  });
349
324
  return;
@@ -367,13 +342,11 @@ class Connection extends EventEmitter {
367
342
 
368
343
  return;
369
344
  } else if (response.status.code >= 400) {
345
+ this.#clearHandler(response.requestId);
370
346
  // callback in error
371
347
  return handler.callback(
372
348
  // TINKERPOP-2285: keep the old server error message in case folks are parsing that - fix in a future breaking version
373
- new ResponseError(
374
- util.format('Server error: %s (%d)', response.status.message, response.status.code),
375
- response.status,
376
- ),
349
+ new ResponseError(`Server error: ${response.status.message} (${response.status.code})`, response.status),
377
350
  );
378
351
  }
379
352
 
@@ -381,7 +354,7 @@ class Connection extends EventEmitter {
381
354
 
382
355
  switch (response.status.code) {
383
356
  case responseStatusCode.noContent:
384
- this._clearHandler(response.requestId);
357
+ this.#clearHandler(response.requestId);
385
358
  if (isStreamingResponse) {
386
359
  handler.result.push(new ResultSet(utils.emptyArray, response.status.attributes));
387
360
  return handler.callback(null);
@@ -405,24 +378,15 @@ class Connection extends EventEmitter {
405
378
  } else {
406
379
  handler.result = response.result.data;
407
380
  }
408
- this._clearHandler(response.requestId);
381
+ this.#clearHandler(response.requestId);
409
382
  return handler.callback(null, new ResultSet(handler.result, response.status.attributes));
410
383
  }
411
- }
384
+ };
412
385
 
413
386
  /**
414
387
  * clean websocket context
415
388
  */
416
- _cleanupWebsocket(err) {
417
- if (this._pingInterval) {
418
- clearInterval(this._pingInterval);
419
- }
420
- this._pingInterval = null;
421
- if (this._pongTimeout) {
422
- clearTimeout(this._pongTimeout);
423
- }
424
- this._pongTimeout = null;
425
-
389
+ #cleanupWebsocket(err) {
426
390
  // Invoke waiting callbacks to complete Promises when closing the websocket
427
391
  Object.keys(this._responseHandlers).forEach((requestId) => {
428
392
  const handler = this._responseHandlers[requestId];
@@ -434,7 +398,10 @@ class Connection extends EventEmitter {
434
398
  handler.callback(cause);
435
399
  }
436
400
  });
437
- this._ws.removeAllListeners();
401
+ this._ws.removeEventListener('open', this.#handleOpen);
402
+ this._ws.removeEventListener('error', this.#handleError);
403
+ this._ws.removeEventListener('message', this.#handleMessage);
404
+ this._ws.removeEventListener('close', this.#handleClose);
438
405
  this._openPromise = null;
439
406
  this._closePromise = null;
440
407
  this.isOpen = false;
@@ -445,7 +412,7 @@ class Connection extends EventEmitter {
445
412
  * @param requestId
446
413
  * @private
447
414
  */
448
- _clearHandler(requestId) {
415
+ #clearHandler(requestId) {
449
416
  delete this._responseHandlers[requestId];
450
417
  }
451
418
 
@@ -478,13 +445,13 @@ module.exports = Connection;
478
445
  </div>
479
446
 
480
447
  <nav>
481
- <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnonymousTraversalSource.html">AnonymousTraversalSource</a></li><li><a href="Authenticator.html">Authenticator</a></li><li><a href="Bytecode.html">Bytecode</a></li><li><a href="CardinalityValue.html">CardinalityValue</a></li><li><a href="Client.html">Client</a></li><li><a href="Connection.html">Connection</a></li><li><a href="DriverRemoteConnection.html">DriverRemoteConnection</a></li><li><a href="EdgeLabelVerificationStrategy.html">EdgeLabelVerificationStrategy</a></li><li><a href="Graph.html">Graph</a></li><li><a href="GraphSON2Reader.html">GraphSON2Reader</a></li><li><a href="GraphSON2Writer.html">GraphSON2Writer</a></li><li><a href="GraphSON3Reader.html">GraphSON3Reader</a></li><li><a href="GraphSON3Writer.html">GraphSON3Writer</a></li><li><a href="GraphTraversal.html">GraphTraversal</a></li><li><a href="GraphTraversalSource.html">GraphTraversalSource</a></li><li><a href="HaltedTraverserStrategy.html">HaltedTraverserStrategy</a></li><li><a href="MatchAlgorithmStrategy.html">MatchAlgorithmStrategy</a></li><li><a href="module.exports.html">exports</a></li><li><a href="P.html">P</a></li><li><a href="PartitionStrategy.html">PartitionStrategy</a></li><li><a href="Path.html">Path</a></li><li><a href="PlainTextSaslAuthenticator.html">PlainTextSaslAuthenticator</a></li><li><a href="ProductiveByStrategy.html">ProductiveByStrategy</a></li><li><a href="RemoteConnection.html">RemoteConnection</a></li><li><a href="RemoteStrategy.html">RemoteStrategy</a></li><li><a href="RemoteTraversal.html">RemoteTraversal</a></li><li><a href="ReservedKeysVerificationStrategy.html">ReservedKeysVerificationStrategy</a></li><li><a href="ResponseError.html">ResponseError</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="SaslAuthenticator.html">SaslAuthenticator</a></li><li><a href="SaslMechanismBase.html">SaslMechanismBase</a></li><li><a href="SaslMechanismPlain.html">SaslMechanismPlain</a></li><li><a href="SeedStrategy.html">SeedStrategy</a></li><li><a href="SubgraphStrategy.html">SubgraphStrategy</a></li><li><a href="TextP.html">TextP</a></li><li><a href="Transaction.html">Transaction</a></li><li><a href="Translator.html">Translator</a></li><li><a href="TraversalStrategies.html">TraversalStrategies</a></li><li><a href="TraversalStrategy.html">TraversalStrategy</a></li><li><a href="TypeSerializer.html">TypeSerializer</a></li></ul><h3>Global</h3><ul><li><a href="global.html#DataType">DataType</a></li><li><a href="global.html#statics">statics</a></li></ul>
448
+ <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnonymousTraversalSource.html">AnonymousTraversalSource</a></li><li><a href="Authenticator.html">Authenticator</a></li><li><a href="Bytecode.html">Bytecode</a></li><li><a href="CardinalityValue.html">CardinalityValue</a></li><li><a href="Client.html">Client</a></li><li><a href="Connection.html">Connection</a></li><li><a href="DriverRemoteConnection.html">DriverRemoteConnection</a></li><li><a href="EdgeLabelVerificationStrategy.html">EdgeLabelVerificationStrategy</a></li><li><a href="Graph.html">Graph</a></li><li><a href="GraphSON2Reader.html">GraphSON2Reader</a></li><li><a href="GraphSON2Writer.html">GraphSON2Writer</a></li><li><a href="GraphSON3Reader.html">GraphSON3Reader</a></li><li><a href="GraphSON3Writer.html">GraphSON3Writer</a></li><li><a href="GraphTraversal.html">GraphTraversal</a></li><li><a href="GraphTraversalSource.html">GraphTraversalSource</a></li><li><a href="HaltedTraverserStrategy.html">HaltedTraverserStrategy</a></li><li><a href="MatchAlgorithmStrategy.html">MatchAlgorithmStrategy</a></li><li><a href="module.exports.html">exports</a></li><li><a href="P.html">P</a></li><li><a href="PartitionStrategy.html">PartitionStrategy</a></li><li><a href="Path.html">Path</a></li><li><a href="PlainTextSaslAuthenticator.html">PlainTextSaslAuthenticator</a></li><li><a href="ProductiveByStrategy.html">ProductiveByStrategy</a></li><li><a href="RemoteConnection.html">RemoteConnection</a></li><li><a href="RemoteStrategy.html">RemoteStrategy</a></li><li><a href="RemoteTraversal.html">RemoteTraversal</a></li><li><a href="ReservedKeysVerificationStrategy.html">ReservedKeysVerificationStrategy</a></li><li><a href="ResponseError.html">ResponseError</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="SaslAuthenticator.html">SaslAuthenticator</a></li><li><a href="SaslMechanismBase.html">SaslMechanismBase</a></li><li><a href="SaslMechanismPlain.html">SaslMechanismPlain</a></li><li><a href="SeedStrategy.html">SeedStrategy</a></li><li><a href="SubgraphStrategy.html">SubgraphStrategy</a></li><li><a href="TextP.html">TextP</a></li><li><a href="Transaction.html">Transaction</a></li><li><a href="Translator.html">Translator</a></li><li><a href="TraversalStrategies.html">TraversalStrategies</a></li><li><a href="TraversalStrategy.html">TraversalStrategy</a></li><li><a href="TypeSerializer.html">TypeSerializer</a></li></ul><h3>Global</h3><ul><li><a href="global.html#DataType">DataType</a></li><li><a href="global.html#statics">statics</a></li><li><a href="global.html#toArrayBuffer">toArrayBuffer</a></li></ul>
482
449
  </nav>
483
450
 
484
451
  <br class="clear">
485
452
 
486
453
  <footer>
487
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Dec 04 2023 12:21:39 GMT-0800 (Pacific Standard Time)
454
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Tue Oct 29 2024 10:43:41 GMT-0700 (Pacific Daylight Time)
488
455
  </footer>
489
456
 
490
457
  <script> prettyPrint(); </script>
@@ -77,10 +77,8 @@ class DriverRemoteConnection extends RemoteConnection {
77
77
  * @param {Authenticator} [options.authenticator] The authentication handler to use.
78
78
  * @param {Object} [options.headers] An associative array containing the additional header key/values for the initial request.
79
79
  * @param {Boolean} [options.enableUserAgentOnConnect] Determines if a user agent will be sent during connection handshake. Defaults to: true
80
- * @param {Boolean} [options.pingEnabled] Setup ping interval. Defaults to: true.
81
- * @param {Number} [options.pingInterval] Ping request interval in ms if ping enabled. Defaults to: 60000.
82
- * @param {Number} [options.pongTimeout] Timeout of pong response in ms after sending a ping. Defaults to: 30000.
83
80
  * @param {http.Agent} [options.agent] The http.Agent implementation to use.
81
+ * @param {Boolean} [options.enableCompression] Enable per-message deflate compression. Defaults to: false.
84
82
  * @constructor
85
83
  */
86
84
  constructor(url, options = {}) {
@@ -180,13 +178,13 @@ module.exports = DriverRemoteConnection;
180
178
  </div>
181
179
 
182
180
  <nav>
183
- <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnonymousTraversalSource.html">AnonymousTraversalSource</a></li><li><a href="Authenticator.html">Authenticator</a></li><li><a href="Bytecode.html">Bytecode</a></li><li><a href="CardinalityValue.html">CardinalityValue</a></li><li><a href="Client.html">Client</a></li><li><a href="Connection.html">Connection</a></li><li><a href="DriverRemoteConnection.html">DriverRemoteConnection</a></li><li><a href="EdgeLabelVerificationStrategy.html">EdgeLabelVerificationStrategy</a></li><li><a href="Graph.html">Graph</a></li><li><a href="GraphSON2Reader.html">GraphSON2Reader</a></li><li><a href="GraphSON2Writer.html">GraphSON2Writer</a></li><li><a href="GraphSON3Reader.html">GraphSON3Reader</a></li><li><a href="GraphSON3Writer.html">GraphSON3Writer</a></li><li><a href="GraphTraversal.html">GraphTraversal</a></li><li><a href="GraphTraversalSource.html">GraphTraversalSource</a></li><li><a href="HaltedTraverserStrategy.html">HaltedTraverserStrategy</a></li><li><a href="MatchAlgorithmStrategy.html">MatchAlgorithmStrategy</a></li><li><a href="module.exports.html">exports</a></li><li><a href="P.html">P</a></li><li><a href="PartitionStrategy.html">PartitionStrategy</a></li><li><a href="Path.html">Path</a></li><li><a href="PlainTextSaslAuthenticator.html">PlainTextSaslAuthenticator</a></li><li><a href="ProductiveByStrategy.html">ProductiveByStrategy</a></li><li><a href="RemoteConnection.html">RemoteConnection</a></li><li><a href="RemoteStrategy.html">RemoteStrategy</a></li><li><a href="RemoteTraversal.html">RemoteTraversal</a></li><li><a href="ReservedKeysVerificationStrategy.html">ReservedKeysVerificationStrategy</a></li><li><a href="ResponseError.html">ResponseError</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="SaslAuthenticator.html">SaslAuthenticator</a></li><li><a href="SaslMechanismBase.html">SaslMechanismBase</a></li><li><a href="SaslMechanismPlain.html">SaslMechanismPlain</a></li><li><a href="SeedStrategy.html">SeedStrategy</a></li><li><a href="SubgraphStrategy.html">SubgraphStrategy</a></li><li><a href="TextP.html">TextP</a></li><li><a href="Transaction.html">Transaction</a></li><li><a href="Translator.html">Translator</a></li><li><a href="TraversalStrategies.html">TraversalStrategies</a></li><li><a href="TraversalStrategy.html">TraversalStrategy</a></li><li><a href="TypeSerializer.html">TypeSerializer</a></li></ul><h3>Global</h3><ul><li><a href="global.html#DataType">DataType</a></li><li><a href="global.html#statics">statics</a></li></ul>
181
+ <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnonymousTraversalSource.html">AnonymousTraversalSource</a></li><li><a href="Authenticator.html">Authenticator</a></li><li><a href="Bytecode.html">Bytecode</a></li><li><a href="CardinalityValue.html">CardinalityValue</a></li><li><a href="Client.html">Client</a></li><li><a href="Connection.html">Connection</a></li><li><a href="DriverRemoteConnection.html">DriverRemoteConnection</a></li><li><a href="EdgeLabelVerificationStrategy.html">EdgeLabelVerificationStrategy</a></li><li><a href="Graph.html">Graph</a></li><li><a href="GraphSON2Reader.html">GraphSON2Reader</a></li><li><a href="GraphSON2Writer.html">GraphSON2Writer</a></li><li><a href="GraphSON3Reader.html">GraphSON3Reader</a></li><li><a href="GraphSON3Writer.html">GraphSON3Writer</a></li><li><a href="GraphTraversal.html">GraphTraversal</a></li><li><a href="GraphTraversalSource.html">GraphTraversalSource</a></li><li><a href="HaltedTraverserStrategy.html">HaltedTraverserStrategy</a></li><li><a href="MatchAlgorithmStrategy.html">MatchAlgorithmStrategy</a></li><li><a href="module.exports.html">exports</a></li><li><a href="P.html">P</a></li><li><a href="PartitionStrategy.html">PartitionStrategy</a></li><li><a href="Path.html">Path</a></li><li><a href="PlainTextSaslAuthenticator.html">PlainTextSaslAuthenticator</a></li><li><a href="ProductiveByStrategy.html">ProductiveByStrategy</a></li><li><a href="RemoteConnection.html">RemoteConnection</a></li><li><a href="RemoteStrategy.html">RemoteStrategy</a></li><li><a href="RemoteTraversal.html">RemoteTraversal</a></li><li><a href="ReservedKeysVerificationStrategy.html">ReservedKeysVerificationStrategy</a></li><li><a href="ResponseError.html">ResponseError</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="SaslAuthenticator.html">SaslAuthenticator</a></li><li><a href="SaslMechanismBase.html">SaslMechanismBase</a></li><li><a href="SaslMechanismPlain.html">SaslMechanismPlain</a></li><li><a href="SeedStrategy.html">SeedStrategy</a></li><li><a href="SubgraphStrategy.html">SubgraphStrategy</a></li><li><a href="TextP.html">TextP</a></li><li><a href="Transaction.html">Transaction</a></li><li><a href="Translator.html">Translator</a></li><li><a href="TraversalStrategies.html">TraversalStrategies</a></li><li><a href="TraversalStrategy.html">TraversalStrategy</a></li><li><a href="TypeSerializer.html">TypeSerializer</a></li></ul><h3>Global</h3><ul><li><a href="global.html#DataType">DataType</a></li><li><a href="global.html#statics">statics</a></li><li><a href="global.html#toArrayBuffer">toArrayBuffer</a></li></ul>
184
182
  </nav>
185
183
 
186
184
  <br class="clear">
187
185
 
188
186
  <footer>
189
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Dec 04 2023 12:21:39 GMT-0800 (Pacific Standard Time)
187
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Tue Oct 29 2024 10:43:41 GMT-0700 (Pacific Daylight Time)
190
188
  </footer>
191
189
 
192
190
  <script> prettyPrint(); </script>
@@ -183,13 +183,13 @@ module.exports = { RemoteConnection, RemoteStrategy, RemoteTraversal };
183
183
  </div>
184
184
 
185
185
  <nav>
186
- <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnonymousTraversalSource.html">AnonymousTraversalSource</a></li><li><a href="Authenticator.html">Authenticator</a></li><li><a href="Bytecode.html">Bytecode</a></li><li><a href="CardinalityValue.html">CardinalityValue</a></li><li><a href="Client.html">Client</a></li><li><a href="Connection.html">Connection</a></li><li><a href="DriverRemoteConnection.html">DriverRemoteConnection</a></li><li><a href="EdgeLabelVerificationStrategy.html">EdgeLabelVerificationStrategy</a></li><li><a href="Graph.html">Graph</a></li><li><a href="GraphSON2Reader.html">GraphSON2Reader</a></li><li><a href="GraphSON2Writer.html">GraphSON2Writer</a></li><li><a href="GraphSON3Reader.html">GraphSON3Reader</a></li><li><a href="GraphSON3Writer.html">GraphSON3Writer</a></li><li><a href="GraphTraversal.html">GraphTraversal</a></li><li><a href="GraphTraversalSource.html">GraphTraversalSource</a></li><li><a href="HaltedTraverserStrategy.html">HaltedTraverserStrategy</a></li><li><a href="MatchAlgorithmStrategy.html">MatchAlgorithmStrategy</a></li><li><a href="module.exports.html">exports</a></li><li><a href="P.html">P</a></li><li><a href="PartitionStrategy.html">PartitionStrategy</a></li><li><a href="Path.html">Path</a></li><li><a href="PlainTextSaslAuthenticator.html">PlainTextSaslAuthenticator</a></li><li><a href="ProductiveByStrategy.html">ProductiveByStrategy</a></li><li><a href="RemoteConnection.html">RemoteConnection</a></li><li><a href="RemoteStrategy.html">RemoteStrategy</a></li><li><a href="RemoteTraversal.html">RemoteTraversal</a></li><li><a href="ReservedKeysVerificationStrategy.html">ReservedKeysVerificationStrategy</a></li><li><a href="ResponseError.html">ResponseError</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="SaslAuthenticator.html">SaslAuthenticator</a></li><li><a href="SaslMechanismBase.html">SaslMechanismBase</a></li><li><a href="SaslMechanismPlain.html">SaslMechanismPlain</a></li><li><a href="SeedStrategy.html">SeedStrategy</a></li><li><a href="SubgraphStrategy.html">SubgraphStrategy</a></li><li><a href="TextP.html">TextP</a></li><li><a href="Transaction.html">Transaction</a></li><li><a href="Translator.html">Translator</a></li><li><a href="TraversalStrategies.html">TraversalStrategies</a></li><li><a href="TraversalStrategy.html">TraversalStrategy</a></li><li><a href="TypeSerializer.html">TypeSerializer</a></li></ul><h3>Global</h3><ul><li><a href="global.html#DataType">DataType</a></li><li><a href="global.html#statics">statics</a></li></ul>
186
+ <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnonymousTraversalSource.html">AnonymousTraversalSource</a></li><li><a href="Authenticator.html">Authenticator</a></li><li><a href="Bytecode.html">Bytecode</a></li><li><a href="CardinalityValue.html">CardinalityValue</a></li><li><a href="Client.html">Client</a></li><li><a href="Connection.html">Connection</a></li><li><a href="DriverRemoteConnection.html">DriverRemoteConnection</a></li><li><a href="EdgeLabelVerificationStrategy.html">EdgeLabelVerificationStrategy</a></li><li><a href="Graph.html">Graph</a></li><li><a href="GraphSON2Reader.html">GraphSON2Reader</a></li><li><a href="GraphSON2Writer.html">GraphSON2Writer</a></li><li><a href="GraphSON3Reader.html">GraphSON3Reader</a></li><li><a href="GraphSON3Writer.html">GraphSON3Writer</a></li><li><a href="GraphTraversal.html">GraphTraversal</a></li><li><a href="GraphTraversalSource.html">GraphTraversalSource</a></li><li><a href="HaltedTraverserStrategy.html">HaltedTraverserStrategy</a></li><li><a href="MatchAlgorithmStrategy.html">MatchAlgorithmStrategy</a></li><li><a href="module.exports.html">exports</a></li><li><a href="P.html">P</a></li><li><a href="PartitionStrategy.html">PartitionStrategy</a></li><li><a href="Path.html">Path</a></li><li><a href="PlainTextSaslAuthenticator.html">PlainTextSaslAuthenticator</a></li><li><a href="ProductiveByStrategy.html">ProductiveByStrategy</a></li><li><a href="RemoteConnection.html">RemoteConnection</a></li><li><a href="RemoteStrategy.html">RemoteStrategy</a></li><li><a href="RemoteTraversal.html">RemoteTraversal</a></li><li><a href="ReservedKeysVerificationStrategy.html">ReservedKeysVerificationStrategy</a></li><li><a href="ResponseError.html">ResponseError</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="SaslAuthenticator.html">SaslAuthenticator</a></li><li><a href="SaslMechanismBase.html">SaslMechanismBase</a></li><li><a href="SaslMechanismPlain.html">SaslMechanismPlain</a></li><li><a href="SeedStrategy.html">SeedStrategy</a></li><li><a href="SubgraphStrategy.html">SubgraphStrategy</a></li><li><a href="TextP.html">TextP</a></li><li><a href="Transaction.html">Transaction</a></li><li><a href="Translator.html">Translator</a></li><li><a href="TraversalStrategies.html">TraversalStrategies</a></li><li><a href="TraversalStrategy.html">TraversalStrategy</a></li><li><a href="TypeSerializer.html">TypeSerializer</a></li></ul><h3>Global</h3><ul><li><a href="global.html#DataType">DataType</a></li><li><a href="global.html#statics">statics</a></li><li><a href="global.html#toArrayBuffer">toArrayBuffer</a></li></ul>
187
187
  </nav>
188
188
 
189
189
  <br class="clear">
190
190
 
191
191
  <footer>
192
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Dec 04 2023 12:21:39 GMT-0800 (Pacific Standard Time)
192
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Tue Oct 29 2024 10:43:41 GMT-0700 (Pacific Daylight Time)
193
193
  </footer>
194
194
 
195
195
  <script> prettyPrint(); </script>
@@ -83,13 +83,13 @@ module.exports = ResponseError;
83
83
  </div>
84
84
 
85
85
  <nav>
86
- <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnonymousTraversalSource.html">AnonymousTraversalSource</a></li><li><a href="Authenticator.html">Authenticator</a></li><li><a href="Bytecode.html">Bytecode</a></li><li><a href="CardinalityValue.html">CardinalityValue</a></li><li><a href="Client.html">Client</a></li><li><a href="Connection.html">Connection</a></li><li><a href="DriverRemoteConnection.html">DriverRemoteConnection</a></li><li><a href="EdgeLabelVerificationStrategy.html">EdgeLabelVerificationStrategy</a></li><li><a href="Graph.html">Graph</a></li><li><a href="GraphSON2Reader.html">GraphSON2Reader</a></li><li><a href="GraphSON2Writer.html">GraphSON2Writer</a></li><li><a href="GraphSON3Reader.html">GraphSON3Reader</a></li><li><a href="GraphSON3Writer.html">GraphSON3Writer</a></li><li><a href="GraphTraversal.html">GraphTraversal</a></li><li><a href="GraphTraversalSource.html">GraphTraversalSource</a></li><li><a href="HaltedTraverserStrategy.html">HaltedTraverserStrategy</a></li><li><a href="MatchAlgorithmStrategy.html">MatchAlgorithmStrategy</a></li><li><a href="module.exports.html">exports</a></li><li><a href="P.html">P</a></li><li><a href="PartitionStrategy.html">PartitionStrategy</a></li><li><a href="Path.html">Path</a></li><li><a href="PlainTextSaslAuthenticator.html">PlainTextSaslAuthenticator</a></li><li><a href="ProductiveByStrategy.html">ProductiveByStrategy</a></li><li><a href="RemoteConnection.html">RemoteConnection</a></li><li><a href="RemoteStrategy.html">RemoteStrategy</a></li><li><a href="RemoteTraversal.html">RemoteTraversal</a></li><li><a href="ReservedKeysVerificationStrategy.html">ReservedKeysVerificationStrategy</a></li><li><a href="ResponseError.html">ResponseError</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="SaslAuthenticator.html">SaslAuthenticator</a></li><li><a href="SaslMechanismBase.html">SaslMechanismBase</a></li><li><a href="SaslMechanismPlain.html">SaslMechanismPlain</a></li><li><a href="SeedStrategy.html">SeedStrategy</a></li><li><a href="SubgraphStrategy.html">SubgraphStrategy</a></li><li><a href="TextP.html">TextP</a></li><li><a href="Transaction.html">Transaction</a></li><li><a href="Translator.html">Translator</a></li><li><a href="TraversalStrategies.html">TraversalStrategies</a></li><li><a href="TraversalStrategy.html">TraversalStrategy</a></li><li><a href="TypeSerializer.html">TypeSerializer</a></li></ul><h3>Global</h3><ul><li><a href="global.html#DataType">DataType</a></li><li><a href="global.html#statics">statics</a></li></ul>
86
+ <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnonymousTraversalSource.html">AnonymousTraversalSource</a></li><li><a href="Authenticator.html">Authenticator</a></li><li><a href="Bytecode.html">Bytecode</a></li><li><a href="CardinalityValue.html">CardinalityValue</a></li><li><a href="Client.html">Client</a></li><li><a href="Connection.html">Connection</a></li><li><a href="DriverRemoteConnection.html">DriverRemoteConnection</a></li><li><a href="EdgeLabelVerificationStrategy.html">EdgeLabelVerificationStrategy</a></li><li><a href="Graph.html">Graph</a></li><li><a href="GraphSON2Reader.html">GraphSON2Reader</a></li><li><a href="GraphSON2Writer.html">GraphSON2Writer</a></li><li><a href="GraphSON3Reader.html">GraphSON3Reader</a></li><li><a href="GraphSON3Writer.html">GraphSON3Writer</a></li><li><a href="GraphTraversal.html">GraphTraversal</a></li><li><a href="GraphTraversalSource.html">GraphTraversalSource</a></li><li><a href="HaltedTraverserStrategy.html">HaltedTraverserStrategy</a></li><li><a href="MatchAlgorithmStrategy.html">MatchAlgorithmStrategy</a></li><li><a href="module.exports.html">exports</a></li><li><a href="P.html">P</a></li><li><a href="PartitionStrategy.html">PartitionStrategy</a></li><li><a href="Path.html">Path</a></li><li><a href="PlainTextSaslAuthenticator.html">PlainTextSaslAuthenticator</a></li><li><a href="ProductiveByStrategy.html">ProductiveByStrategy</a></li><li><a href="RemoteConnection.html">RemoteConnection</a></li><li><a href="RemoteStrategy.html">RemoteStrategy</a></li><li><a href="RemoteTraversal.html">RemoteTraversal</a></li><li><a href="ReservedKeysVerificationStrategy.html">ReservedKeysVerificationStrategy</a></li><li><a href="ResponseError.html">ResponseError</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="SaslAuthenticator.html">SaslAuthenticator</a></li><li><a href="SaslMechanismBase.html">SaslMechanismBase</a></li><li><a href="SaslMechanismPlain.html">SaslMechanismPlain</a></li><li><a href="SeedStrategy.html">SeedStrategy</a></li><li><a href="SubgraphStrategy.html">SubgraphStrategy</a></li><li><a href="TextP.html">TextP</a></li><li><a href="Transaction.html">Transaction</a></li><li><a href="Translator.html">Translator</a></li><li><a href="TraversalStrategies.html">TraversalStrategies</a></li><li><a href="TraversalStrategy.html">TraversalStrategy</a></li><li><a href="TypeSerializer.html">TypeSerializer</a></li></ul><h3>Global</h3><ul><li><a href="global.html#DataType">DataType</a></li><li><a href="global.html#statics">statics</a></li><li><a href="global.html#toArrayBuffer">toArrayBuffer</a></li></ul>
87
87
  </nav>
88
88
 
89
89
  <br class="clear">
90
90
 
91
91
  <footer>
92
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Mon Dec 04 2023 12:21:39 GMT-0800 (Pacific Standard Time)
92
+ Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.10</a> on Tue Oct 29 2024 10:43:41 GMT-0700 (Pacific Daylight Time)
93
93
  </footer>
94
94
 
95
95
  <script> prettyPrint(); </script>