//
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: keyapis/telemetry_control/v1/keyapis_telemetry_control_stream_v1.proto
//
// Original file comments:
//
// Сервис реализует поток изменений ресурсов домена Телеметрии
#pragma warning disable 0414, 1591
#region Designer generated code
using grpc = global::Grpc.Core;
namespace Keyapis.TelemetryControl.V1 {
///
/// Сервис реализует поток изменений ресурсов домена Телеметрии.
/// Авторизация:
/// - X-Api-Key: apiKey
///
public static partial class StreamService
{
static readonly string __ServiceName = "keyapis.telemetry_control.v1.StreamService";
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static void __Helper_SerializeMessage(global::Google.Protobuf.IMessage message, grpc::SerializationContext context)
{
#if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION
if (message is global::Google.Protobuf.IBufferMessage)
{
context.SetPayloadLength(message.CalculateSize());
global::Google.Protobuf.MessageExtensions.WriteTo(message, context.GetBufferWriter());
context.Complete();
return;
}
#endif
context.Complete(global::Google.Protobuf.MessageExtensions.ToByteArray(message));
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static class __Helper_MessageCache
{
public static readonly bool IsBufferMessage = global::System.Reflection.IntrospectionExtensions.GetTypeInfo(typeof(global::Google.Protobuf.IBufferMessage)).IsAssignableFrom(typeof(T));
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static T __Helper_DeserializeMessage(grpc::DeserializationContext context, global::Google.Protobuf.MessageParser parser) where T : global::Google.Protobuf.IMessage
{
#if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION
if (__Helper_MessageCache.IsBufferMessage)
{
return parser.ParseFrom(context.PayloadAsReadOnlySequence());
}
#endif
return parser.ParseFrom(context.PayloadAsNewBuffer());
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller __Marshaller_keyapis_telemetry_control_v1_PostResourceFullDuplexRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Keyapis.TelemetryControl.V1.PostResourceFullDuplexRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller __Marshaller_keyapis_telemetry_control_v1_PostResourceFullDuplexResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Keyapis.TelemetryControl.V1.PostResourceFullDuplexResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method __Method_PostResourceFullDuplex = new grpc::Method(
grpc::MethodType.DuplexStreaming,
__ServiceName,
"PostResourceFullDuplex",
__Marshaller_keyapis_telemetry_control_v1_PostResourceFullDuplexRequest,
__Marshaller_keyapis_telemetry_control_v1_PostResourceFullDuplexResponse);
/// Service descriptor
public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor
{
get { return global::Keyapis.TelemetryControl.V1.KeyapisTelemetryControlStreamV1Reflection.Descriptor.Services[0]; }
}
/// Base class for server-side implementations of StreamService
[grpc::BindServiceMethod(typeof(StreamService), "BindService")]
public abstract partial class StreamServiceBase
{
///
/// Полнодуплексный отправки статусов получения ресурсов на сервер и получения изменения ресурсов со стороны сервера.
/// Метод доступен для: ApiKey: Без учета разрешений. С контролем привязки домов к группе
///
/// Used for reading requests from the client.
/// Used for sending responses back to the client.
/// The context of the server-side call handler being invoked.
/// A task indicating completion of the handler.
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task PostResourceFullDuplex(grpc::IAsyncStreamReader requestStream, grpc::IServerStreamWriter responseStream, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
}
/// Client for StreamService
public partial class StreamServiceClient : grpc::ClientBase
{
/// Creates a new client for StreamService
/// The channel to use to make remote calls.
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public StreamServiceClient(grpc::ChannelBase channel) : base(channel)
{
}
/// Creates a new client for StreamService that uses a custom CallInvoker.
/// The callInvoker to use to make remote calls.
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public StreamServiceClient(grpc::CallInvoker callInvoker) : base(callInvoker)
{
}
/// Protected parameterless constructor to allow creation of test doubles.
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected StreamServiceClient() : base()
{
}
/// Protected constructor to allow creation of configured clients.
/// The client configuration.
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected StreamServiceClient(ClientBaseConfiguration configuration) : base(configuration)
{
}
///
/// Полнодуплексный отправки статусов получения ресурсов на сервер и получения изменения ресурсов со стороны сервера.
/// Метод доступен для: ApiKey: Без учета разрешений. С контролем привязки домов к группе
///
/// The initial metadata to send with the call. This parameter is optional.
/// An optional deadline for the call. The call will be cancelled if deadline is hit.
/// An optional token for canceling the call.
/// The call object.
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncDuplexStreamingCall PostResourceFullDuplex(grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return PostResourceFullDuplex(new grpc::CallOptions(headers, deadline, cancellationToken));
}
///
/// Полнодуплексный отправки статусов получения ресурсов на сервер и получения изменения ресурсов со стороны сервера.
/// Метод доступен для: ApiKey: Без учета разрешений. С контролем привязки домов к группе
///
/// The options for the call.
/// The call object.
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncDuplexStreamingCall PostResourceFullDuplex(grpc::CallOptions options)
{
return CallInvoker.AsyncDuplexStreamingCall(__Method_PostResourceFullDuplex, null, options);
}
/// Creates a new instance of client from given ClientBaseConfiguration.
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected override StreamServiceClient NewInstance(ClientBaseConfiguration configuration)
{
return new StreamServiceClient(configuration);
}
}
/// Creates service definition that can be registered with a server
/// An object implementing the server-side handling logic.
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public static grpc::ServerServiceDefinition BindService(StreamServiceBase serviceImpl)
{
return grpc::ServerServiceDefinition.CreateBuilder()
.AddMethod(__Method_PostResourceFullDuplex, serviceImpl.PostResourceFullDuplex).Build();
}
/// Register service method with a service binder with or without implementation. Useful when customizing the service binding logic.
/// Note: this method is part of an experimental API that can change or be removed without any prior notice.
/// Service methods will be bound by calling AddMethod on this object.
/// An object implementing the server-side handling logic.
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public static void BindService(grpc::ServiceBinderBase serviceBinder, StreamServiceBase serviceImpl)
{
serviceBinder.AddMethod(__Method_PostResourceFullDuplex, serviceImpl == null ? null : new grpc::DuplexStreamingServerMethod(serviceImpl.PostResourceFullDuplex));
}
}
}
#endregion