aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/csharp/Grpc.Core
diff options
context:
space:
mode:
authorGravatar Mehrdad Afshari <mmx@google.com>2018-02-21 11:47:56 -0800
committerGravatar Mehrdad Afshari <mmx@google.com>2018-02-21 18:30:19 -0800
commit6235ea9b607766c0ff08e2c4403cb39c439238fb (patch)
treecf460ddf464ce2decc33e7831e1a033de74356af /src/csharp/Grpc.Core
parentcd918d99e8fa25f89b5b36e15e440e307c41fc7a (diff)
Turn ClientInterceptorContext into a struct
...and move it into its own file.
Diffstat (limited to 'src/csharp/Grpc.Core')
-rw-r--r--src/csharp/Grpc.Core/Interceptors/ClientInterceptorContext.cs65
-rw-r--r--src/csharp/Grpc.Core/Interceptors/Interceptor.cs41
2 files changed, 65 insertions, 41 deletions
diff --git a/src/csharp/Grpc.Core/Interceptors/ClientInterceptorContext.cs b/src/csharp/Grpc.Core/Interceptors/ClientInterceptorContext.cs
new file mode 100644
index 0000000000..64d7297a0a
--- /dev/null
+++ b/src/csharp/Grpc.Core/Interceptors/ClientInterceptorContext.cs
@@ -0,0 +1,65 @@
+#region Copyright notice and license
+
+// Copyright 2018 gRPC authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#endregion
+
+using System;
+using System.Reflection;
+using System.Threading.Tasks;
+using Grpc.Core.Internal;
+
+namespace Grpc.Core.Interceptors
+{
+ /// <summary>
+ /// Carries along the context associated with intercepted invocations on the client side.
+ /// This is an EXPERIMENTAL API.
+ /// </summary>
+ public struct ClientInterceptorContext<TRequest, TResponse>
+ where TRequest : class
+ where TResponse : class
+ {
+ /// <summary>
+ /// Creates a new instance of <see cref="Grpc.Core.Interceptors.ClientInterceptorContext{TRequest, TResponse}" />
+ /// with the specified method, host, and call options.
+ /// </summary>
+ /// <param name="method">A <see cref="Grpc.Core.Method{TRequest, TResponse}"/> object representing the method to be invoked.</param>
+ /// <param name="host">The host to dispatch the current call to.</param>
+ /// <param name="options">A <see cref="Grpc.Core.CallOptions"/> instance containing the call options of the current call.</param>
+ public ClientInterceptorContext(Method<TRequest, TResponse> method, string host, CallOptions options)
+ {
+ Method = method;
+ Host = host;
+ Options = options;
+ }
+
+ /// <summary>
+ /// Gets or sets the <see cref="Grpc.Core.Method{TRequest, TResponse}"/> instance
+ /// representing the method to be invoked.
+ /// </summary>
+ public Method<TRequest, TResponse> Method { get; set; }
+
+ /// <summary>
+ /// Gets or sets the host that the currect invocation will be dispatched to.
+ /// </summary>
+ public string Host { get; set; }
+
+ /// <summary>
+ /// Gets or sets the <see cref="Grpc.Core.CallOptions"/> structure representing the
+ /// call options associated with the current invocation.
+ /// </summary>
+ public CallOptions Options { get; set; }
+ }
+}
diff --git a/src/csharp/Grpc.Core/Interceptors/Interceptor.cs b/src/csharp/Grpc.Core/Interceptors/Interceptor.cs
index 0f32e8b420..c277aab2a5 100644
--- a/src/csharp/Grpc.Core/Interceptors/Interceptor.cs
+++ b/src/csharp/Grpc.Core/Interceptors/Interceptor.cs
@@ -24,47 +24,6 @@ using Grpc.Core.Internal;
namespace Grpc.Core.Interceptors
{
/// <summary>
- /// Carries along the context associated with intercepted invocations on the client side.
- /// This is an EXPERIMENTAL API.
- /// </summary>
- public class ClientInterceptorContext<TRequest, TResponse>
- where TRequest : class
- where TResponse : class
- {
- /// <summary>
- /// Creates a new instance of <see cref="Grpc.Core.Interceptors.ClientInterceptorContext{TRequest, TResponse}" />
- /// with the specified method, host, and call options.
- /// </summary>
- /// <param name="method">A <see cref="Grpc.Core.Method{TRequest, TResponse}"/> object representing the method to be invoked.</param>
- /// <param name="host">The host to dispatch the current call to.</param>
- /// <param name="options">A <see cref="Grpc.Core.CallOptions"/> instance containing the call options of the current call.</param>
-
- public ClientInterceptorContext(Method<TRequest, TResponse> method, string host, CallOptions options)
- {
- Method = method;
- Host = host;
- Options = options;
- }
-
- /// <summary>
- /// Gets the <see cref="Grpc.Core.Method{TRequest, TResponse}"/> representing
- /// the method to be invoked.
- /// </summary>
- public Method<TRequest, TResponse> Method { get; }
-
- /// <summary>
- /// Gets the host that the currect invocation will be dispatched to.
- /// </summary>
- public string Host { get; }
-
- /// <summary>
- /// Gets the <see cref="Grpc.Core.CallOptions"/> structure representing the
- /// call options associated with the current invocation.
- /// </summary>
- public CallOptions Options { get; }
- }
-
- /// <summary>
/// Serves as the base class for gRPC interceptors.
/// This is an EXPERIMENTAL API.
/// </summary>