This is an automated email from the ASF dual-hosted git repository.

florianhockmann pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit fec78da4711128e9f643a69492dbaaa7817b1f70
Merge: e4acf24c41 08d8618428
Author: Florian Hockmann <[email protected]>
AuthorDate: Thu Oct 13 15:20:00 2022 +0200

    Merge branch '3.6-dev'

 CHANGELOG.asciidoc                                 |   1 +
 gremlin-dotnet/src/Gremlin.Net.Template/Program.cs |   2 -
 .../src/Gremlin.Net/Driver/Connection.cs           |  62 ++++++--
 .../src/Gremlin.Net/Driver/ConnectionFactory.cs    |   5 +-
 .../src/Gremlin.Net/Driver/GremlinClient.cs        |   5 +-
 .../Gremlin.Net/Driver/GremlinClientExtensions.cs  |  31 ++--
 .../src/Gremlin.Net/Driver/IConnection.cs          |   3 +-
 .../src/Gremlin.Net/Driver/IGremlinClient.cs       |   5 +-
 .../src/Gremlin.Net/Driver/IMessageSerializer.cs   |  11 +-
 .../src/Gremlin.Net/Driver/ProxyConnection.cs      |   6 +-
 .../Driver/Remote/DriverRemoteConnection.cs        |  12 +-
 .../ResponseHandlerForSingleRequestMessage.cs      |   5 +
 gremlin-dotnet/src/Gremlin.Net/Driver/Tokens.cs    |   1 -
 .../src/Gremlin.Net/Driver/WebSocketConnection.cs  |  22 ++-
 .../Process/Remote/IRemoteConnection.cs            |   4 +-
 .../Gremlin.Net/Process/Remote/RemoteStrategy.cs   |   8 +-
 .../Process/Remote/RemoteTransaction.cs            |   7 +-
 .../Process/Traversal/ConnectedComponent.cs        |   4 -
 .../Process/Traversal/DefaultTraversal.cs          |  11 +-
 .../src/Gremlin.Net/Process/Traversal/IO.cs        |   4 -
 .../Gremlin.Net/Process/Traversal/ITraversal.cs    |   5 +-
 .../Process/Traversal/ITraversalStrategy.cs        |   4 +-
 .../src/Gremlin.Net/Process/Traversal/PageRank.cs  |   4 -
 .../Gremlin.Net/Process/Traversal/PeerPressure.cs  |   4 -
 .../Gremlin.Net/Process/Traversal/ShortestPath.cs  |   4 -
 .../Strategy/AbstractTraversalStrategy.cs          |   3 +-
 .../Traversal/Strategy/Decoration/SeedStrategy.cs  |   2 -
 .../IO/GraphBinary/GraphBinaryMessageSerializer.cs |  20 ++-
 .../Structure/IO/GraphBinary/GraphBinaryReader.cs  |  24 +--
 .../Structure/IO/GraphBinary/GraphBinaryWriter.cs  |  43 +++---
 .../Structure/IO/GraphBinary/ITypeSerializer.cs    |  16 +-
 .../IO/GraphBinary/RequestMessageSerializer.cs     |  19 ++-
 .../IO/GraphBinary/ResponseMessageSerializer.cs    |  26 ++--
 .../Structure/IO/GraphBinary/StreamExtensions.cs   | 122 +++++++++------
 .../IO/GraphBinary/Types/ArraySerializer.cs        |  11 +-
 .../IO/GraphBinary/Types/BigDecimalSerializer.cs   |  16 +-
 .../IO/GraphBinary/Types/BigIntegerSerializer.cs   |  15 +-
 .../IO/GraphBinary/Types/BindingSerializer.cs      |  16 +-
 .../IO/GraphBinary/Types/BulkSetSerializer.cs      |  14 +-
 .../IO/GraphBinary/Types/ByteBufferSerializer.cs   |  15 +-
 .../IO/GraphBinary/Types/ByteCodeSerializer.cs     |  52 ++++---
 .../IO/GraphBinary/Types/CharSerializer.cs         |  13 +-
 .../IO/GraphBinary/Types/ClassSerializer.cs        |   9 +-
 .../IO/GraphBinary/Types/CustomTypeSerializer.cs   |  13 +-
 .../GraphBinary/Types/DateTimeOffsetSerializer.cs  |  12 +-
 .../IO/GraphBinary/Types/DurationSerializer.cs     |  15 +-
 .../IO/GraphBinary/Types/EdgeSerializer.cs         |  40 ++---
 .../IO/GraphBinary/Types/EnumSerializer.cs         |  14 +-
 .../IO/GraphBinary/Types/LambdaSerializer.cs       |  22 ++-
 .../IO/GraphBinary/Types/ListSerializer.cs         |  15 +-
 .../IO/GraphBinary/Types/MapSerializer.cs          |  19 ++-
 .../Structure/IO/GraphBinary/Types/PSerializer.cs  |  25 +--
 .../IO/GraphBinary/Types/PathSerializer.cs         |  16 +-
 .../IO/GraphBinary/Types/PropertySerializer.cs     |  20 ++-
 .../IO/GraphBinary/Types/SetSerializer.cs          |  15 +-
 .../IO/GraphBinary/Types/SimpleTypeSerializer.cs   |  35 +++--
 .../IO/GraphBinary/Types/SingleTypeSerializer.cs   |  49 +++---
 .../IO/GraphBinary/Types/StringSerializer.cs       |  15 +-
 .../IO/GraphBinary/Types/TraversalSerializer.cs    |   9 +-
 .../Types/TraversalStrategySerializer.cs           |  11 +-
 .../IO/GraphBinary/Types/TraverserSerializer.cs    |  15 +-
 .../IO/GraphBinary/Types/TypeSerializer.cs         |  10 +-
 .../IO/GraphBinary/Types/UuidSerializer.cs         |  71 +++++----
 .../GraphBinary/Types/VertexPropertySerializer.cs  |  27 ++--
 .../IO/GraphBinary/Types/VertexSerializer.cs       |  19 ++-
 .../IO/GraphSON/GraphSONMessageSerializer.cs       |   9 +-
 .../test/Gremlin.Net.Benchmarks/Program.cs         |   3 -
 .../Docs/Reference/IntroTests.cs                   |   1 -
 .../Driver/GremlinClientAuthenticationTests.cs     |   1 -
 .../Driver/GremlinClientTests.cs                   |  18 +++
 .../DriverRemoteConnection/GraphTraversalTests.cs  |  25 +++
 .../RemoteConnectionFactory.cs                     |   8 +-
 .../Driver/ConnectionPoolTests.cs                  |   2 +-
 .../Gremlin.Net.UnitTest/Driver/ConnectionTests.cs | 171 +++++++++++++++++++--
 .../Process/Traversal/GraphTraversalSourceTests.cs |   2 -
 .../Process/Traversal/TestTraversalStrategy.cs     |   3 +-
 .../GraphBinaryMessageSerializerTests.cs           |  28 +++-
 .../Structure/IO/GraphBinary/GraphBinaryTests.cs   |   1 -
 .../Types/Sample/SamplePersonSerializer.cs         |  45 +++---
 .../IO/GraphSON/GraphSON3MessageSerializerTests.cs |  58 +++++++
 80 files changed, 1030 insertions(+), 498 deletions(-)

diff --cc gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs
index c1aad3ad74,831ed9796b..87ac7ea59a
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/Remote/DriverRemoteConnection.cs
@@@ -106,15 -107,18 +107,18 @@@ namespace Gremlin.Net.Driver.Remot
          ///     Submits <see cref="Bytecode" /> for evaluation to a remote 
Gremlin Server.
          /// </summary>
          /// <param name="bytecode">The <see cref="Bytecode" /> to 
submit.</param>
+         /// <param name="cancellationToken">The token to cancel the 
operation. The default value is None.</param>
          /// <returns>A <see cref="ITraversal" /> allowing to access the 
results and side-effects.</returns>
-         public async Task<ITraversal<TStart, TEnd>> SubmitAsync<TStart, 
TEnd>(Bytecode bytecode)
 -        public async Task<ITraversal<S, E>> SubmitAsync<S, E>(Bytecode 
bytecode,
++        public async Task<ITraversal<TStart, TEnd>> SubmitAsync<TStart, 
TEnd>(Bytecode bytecode,
+             CancellationToken cancellationToken = default)
          {
              var requestId = Guid.NewGuid();
-             var resultSet = await SubmitBytecodeAsync(requestId, 
bytecode).ConfigureAwait(false);
+             var resultSet = await SubmitBytecodeAsync(requestId, bytecode, 
cancellationToken).ConfigureAwait(false);
 -            return new DriverRemoteTraversal<S, E>(_client, requestId, 
resultSet);
 +            return new DriverRemoteTraversal<TStart, TEnd>(_client, 
requestId, resultSet);
          }
  
-         private async Task<IEnumerable<Traverser>> SubmitBytecodeAsync(Guid 
requestid, Bytecode bytecode)
+         private async Task<IEnumerable<Traverser>> SubmitBytecodeAsync(Guid 
requestid, Bytecode bytecode,
+             CancellationToken cancellationToken)
          {
              var requestMsg =
                  RequestMessage.Build(Tokens.OpsBytecode)
diff --cc gremlin-dotnet/src/Gremlin.Net/Process/Remote/IRemoteConnection.cs
index 029f59fbbd,cf236af585..b721e40c65
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Remote/IRemoteConnection.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Remote/IRemoteConnection.cs
@@@ -36,8 -37,9 +37,9 @@@ namespace Gremlin.Net.Process.Remot
          ///     <see cref="ITraversal" />.
          /// </summary>
          /// <param name="bytecode">The <see cref="Bytecode" /> to 
send.</param>
+         /// <param name="cancellationToken">The token to cancel the 
operation. The default value is None.</param>
          /// <returns>The <see cref="ITraversal" /> with the results and 
optional side-effects.</returns>
-         Task<ITraversal<TStart, TEnd>> SubmitAsync<TStart, TEnd>(Bytecode 
bytecode);
 -        Task<ITraversal<S, E>> SubmitAsync<S, E>(Bytecode bytecode, 
CancellationToken cancellationToken = default);
++        Task<ITraversal<TStart, TEnd>> SubmitAsync<TStart, TEnd>(Bytecode 
bytecode, CancellationToken cancellationToken = default);
  
          /// <summary>
          ///     Creates a <see cref="RemoteTransaction" /> in the context of 
a <see cref="GraphTraversalSource" /> designed to work with
diff --cc gremlin-dotnet/src/Gremlin.Net/Process/Remote/RemoteStrategy.cs
index 5bffb1c44b,d84dba108f..aa39f595ae
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Remote/RemoteStrategy.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Remote/RemoteStrategy.cs
@@@ -44,16 -45,17 +45,17 @@@ namespace Gremlin.Net.Process.Remot
          }
  
          /// <inheritdoc />
 -        public void Apply<S, E>(ITraversal<S, E> traversal)
 +        public void Apply<TStart, TEnd>(ITraversal<TStart, TEnd> traversal)
          {
-             ApplyAsync(traversal).WaitUnwrap();
+             ApplyAsync(traversal, CancellationToken.None).WaitUnwrap();
          }
  
          /// <inheritdoc />
-         public async Task ApplyAsync<TStart, TEnd>(ITraversal<TStart, TEnd> 
traversal)
 -        public async Task ApplyAsync<S, E>(ITraversal<S, E> traversal, 
CancellationToken cancellationToken = default)
++        public async Task ApplyAsync<TStart, TEnd>(ITraversal<TStart, TEnd> 
traversal, CancellationToken cancellationToken = default)
          {
              if (traversal.Traversers != null) return;
-             var remoteTraversal = await _remoteConnection.SubmitAsync<TStart, 
TEnd>(traversal.Bytecode).ConfigureAwait(false);
 -            var remoteTraversal = await _remoteConnection.SubmitAsync<S, 
E>(traversal.Bytecode, cancellationToken)
++            var remoteTraversal = await _remoteConnection.SubmitAsync<TStart, 
TEnd>(traversal.Bytecode, cancellationToken)
+                 .ConfigureAwait(false);
              traversal.Traversers = remoteTraversal.Traversers;
          }
      }
diff --cc gremlin-dotnet/src/Gremlin.Net/Process/Traversal/DefaultTraversal.cs
index 0d2bd8c4a0,191b7a8293..6ca2b0c2d3
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/DefaultTraversal.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/DefaultTraversal.cs
@@@ -264,10 -265,12 +265,12 @@@ namespace Gremlin.Net.Process.Traversa
          /// </summary>
          /// <typeparam name="TReturn">The return type of the <paramref 
name="callback" />.</typeparam>
          /// <param name="callback">The function to execute on the current 
traversal.</param>
+         /// <param name="cancellationToken">The token to cancel the 
operation. The default value is None.</param>
          /// <returns>The result of the executed <paramref name="callback" 
/>.</returns>
-         public async Task<TReturn> Promise<TReturn>(Func<ITraversal<TStart, 
TEnd>, TReturn> callback)
 -        public async Task<TReturn> Promise<TReturn>(Func<ITraversal<S, E>, 
TReturn> callback,
++        public async Task<TReturn> Promise<TReturn>(Func<ITraversal<TStart, 
TEnd>, TReturn> callback,
+             CancellationToken cancellationToken = default)
          {
-             await ApplyStrategiesAsync().ConfigureAwait(false);
+             await 
ApplyStrategiesAsync(cancellationToken).ConfigureAwait(false);
              return callback(this);
          }
      }
diff --cc gremlin-dotnet/src/Gremlin.Net/Process/Traversal/ITraversal.cs
index a3393a85d0,f0c682d7b3..e56b7a2296
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/ITraversal.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/ITraversal.cs
@@@ -109,7 -110,9 +110,9 @@@ namespace Gremlin.Net.Process.Traversa
          /// </summary>
          /// <typeparam name="TReturn">The return type of the <paramref 
name="callback" />.</typeparam>
          /// <param name="callback">The function to execute on the current 
traversal.</param>
+         /// <param name="cancellationToken">The token to cancel the 
operation. The default value is None.</param>
          /// <returns>The result of the executed <paramref name="callback" 
/>.</returns>
-         Task<TReturn> Promise<TReturn>(Func<ITraversal<TStart, TEnd>, 
TReturn> callback);
 -        Task<TReturn> Promise<TReturn>(Func<ITraversal<S, E>, TReturn> 
callback,
++        Task<TReturn> Promise<TReturn>(Func<ITraversal<TStart, TEnd>, 
TReturn> callback,
+             CancellationToken cancellationToken = default);
      }
  }
diff --cc gremlin-dotnet/src/Gremlin.Net/Process/Traversal/ITraversalStrategy.cs
index 3e7709cd64,45a0b974e2..20b3bc057d
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/ITraversalStrategy.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/ITraversalStrategy.cs
@@@ -41,6 -42,7 +42,7 @@@ namespace Gremlin.Net.Process.Traversa
          ///     Applies the strategy to the given <see cref="ITraversal" /> 
asynchronously.
          /// </summary>
          /// <param name="traversal">The <see cref="ITraversal" /> the 
strategy should be applied to.</param>
-         Task ApplyAsync<TStart, TEnd>(ITraversal<TStart, TEnd> traversal);
+         /// <param name="cancellationToken">The token to cancel the 
operation. The default value is None.</param>
 -        Task ApplyAsync<S, E>(ITraversal<S, E> traversal, CancellationToken 
cancellationToken = default);
++        Task ApplyAsync<TStart, TEnd>(ITraversal<TStart, TEnd> traversal, 
CancellationToken cancellationToken = default);
      }
  }
diff --cc 
gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Strategy/AbstractTraversalStrategy.cs
index 8a2c9c5a90,7170aa76f7..11b8528665
--- 
a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Strategy/AbstractTraversalStrategy.cs
+++ 
b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Strategy/AbstractTraversalStrategy.cs
@@@ -99,7 -100,7 +100,7 @@@ namespace Gremlin.Net.Process.Traversal
          }
  
          /// <inheritdoc />
-         public virtual Task ApplyAsync<TStart, TEnd>(ITraversal<TStart, TEnd> 
traversal)
 -        public virtual Task ApplyAsync<S, E>(ITraversal<S, E> traversal, 
CancellationToken cancellationToken = default)
++        public virtual Task ApplyAsync<TStart, TEnd>(ITraversal<TStart, TEnd> 
traversal, CancellationToken cancellationToken = default)
          {
              return Task.CompletedTask;
          }
diff --cc 
gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/TestTraversalStrategy.cs
index c2330041b5,5a234094af..697b285be3
--- 
a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/TestTraversalStrategy.cs
+++ 
b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/TestTraversalStrategy.cs
@@@ -41,7 -42,7 +42,7 @@@ namespace Gremlin.Net.UnitTest.Process.
              traversal.Traversers = _traversers;
          }
  
-         public Task ApplyAsync<TStart, TEnd>(ITraversal<TStart, TEnd> 
traversal)
 -        public Task ApplyAsync<S, E>(ITraversal<S, E> traversal, 
CancellationToken cancellationToken)
++        public Task ApplyAsync<TStart, TEnd>(ITraversal<TStart, TEnd> 
traversal, CancellationToken cancellationToken)
          {
              traversal.Traversers = _traversers;
              return Task.CompletedTask;

Reply via email to