aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/csharp/Grpc.Core
diff options
context:
space:
mode:
authorGravatar Jan Tattermusch <jtattermusch@users.noreply.github.com>2018-05-24 13:31:49 -0700
committerGravatar GitHub <noreply@github.com>2018-05-24 13:31:49 -0700
commitb43741d10dc134f0d90443e8d6d00aeac5913a23 (patch)
tree30736944644637d4574ef9439ae217ff2986fc18 /src/csharp/Grpc.Core
parent628073d4c2a1ed3292c92a728918c2b493f82c20 (diff)
parent4dad711b6d99d64729ca2e27f5f9cac4a728532f (diff)
Merge pull request #14577 from jtattermusch/csharp_remove_connectivity_watcher
Get rid of C# connectivity watcher task
Diffstat (limited to 'src/csharp/Grpc.Core')
-rw-r--r--src/csharp/Grpc.Core/Channel.cs35
1 files changed, 1 insertions, 34 deletions
diff --git a/src/csharp/Grpc.Core/Channel.cs b/src/csharp/Grpc.Core/Channel.cs
index abe19a6fc6..e9930b6fbc 100644
--- a/src/csharp/Grpc.Core/Channel.cs
+++ b/src/csharp/Grpc.Core/Channel.cs
@@ -44,8 +44,6 @@ namespace Grpc.Core
readonly ChannelSafeHandle handle;
readonly Dictionary<string, ChannelOption> options;
- readonly Task connectivityWatcherTask;
-
bool shutdownRequested;
/// <summary>
@@ -86,9 +84,6 @@ namespace Grpc.Core
this.handle = ChannelSafeHandle.CreateInsecure(target, nativeChannelArgs);
}
}
- // TODO(jtattermusch): Workaround for https://github.com/GoogleCloudPlatform/google-cloud-dotnet/issues/822.
- // Remove once retries are supported in C core
- this.connectivityWatcherTask = RunConnectivityWatcherAsync();
GrpcEnvironment.RegisterChannel(this);
}
@@ -259,7 +254,7 @@ namespace Grpc.Core
handle.Dispose();
}
- await Task.WhenAll(GrpcEnvironment.ReleaseAsync(), connectivityWatcherTask).ConfigureAwait(false);
+ await GrpcEnvironment.ReleaseAsync().ConfigureAwait(false);
}
internal ChannelSafeHandle Handle
@@ -317,34 +312,6 @@ namespace Grpc.Core
}
}
- /// <summary>
- /// Constantly Watches channel connectivity status to work around https://github.com/GoogleCloudPlatform/google-cloud-dotnet/issues/822
- /// </summary>
- private async Task RunConnectivityWatcherAsync()
- {
- try
- {
- var lastState = State;
- while (lastState != ChannelState.Shutdown)
- {
- lock (myLock)
- {
- if (shutdownRequested)
- {
- break;
- }
- }
-
- // ignore the result
- await WaitForStateChangedInternalAsync(lastState, DateTime.UtcNow.AddSeconds(1)).ConfigureAwait(false);
- lastState = State;
- }
- }
- catch (ObjectDisposedException) {
- // during shutdown, channel is going to be disposed.
- }
- }
-
private static void EnsureUserAgentChannelOption(Dictionary<string, ChannelOption> options)
{
var key = ChannelOptions.PrimaryUserAgentString;