40ca4b6908
The gateway now monitors alarms continuously, independent of any client session, and fans the feed out to every client. GatewayAlarmMonitor is an always-on hosted service that owns one gateway-managed worker session dedicated to alarms: it subscribes the configured provider, caches the active-alarm set from the worker's transition events (reconciled periodically against the worker's authoritative snapshot), re-opens the session if the worker faults, and broadcasts to all subscribers. The new session-less StreamAlarms RPC opens with the current active-alarm snapshot, then streams live transitions; any number of clients fan out from the single monitor without opening a worker session. AcknowledgeAlarm is now session-less and routes through the monitor. The session-scoped QueryActiveAlarms RPC and the per-session alarm auto-subscribe hook are removed, along with the now-dead IAlarmRpcDispatcher trio; the dashboard Alarms tab reads the monitor's in-process cache directly. This intentionally reverses the v1 "no multi-subscriber fan-out" decision for the alarm subsystem. Contracts regenerated; gateway, dashboard and tests build clean, 94 alarm-affected tests pass, and the monitor is verified live. Language-client stubs are regenerated in a follow-up change. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
372 lines
29 KiB
C#
372 lines
29 KiB
C#
// <auto-generated>
|
|
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
// source: mxaccess_gateway.proto
|
|
// </auto-generated>
|
|
#pragma warning disable 0414, 1591, 8981, 0612
|
|
#region Designer generated code
|
|
|
|
using grpc = global::Grpc.Core;
|
|
|
|
namespace MxGateway.Contracts.Proto {
|
|
/// <summary>
|
|
/// Public client API for MXAccess sessions hosted by the gateway.
|
|
/// </summary>
|
|
public static partial class MxAccessGateway
|
|
{
|
|
static readonly string __ServiceName = "mxaccess_gateway.v1.MxAccessGateway";
|
|
|
|
[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<T>
|
|
{
|
|
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<T>(grpc::DeserializationContext context, global::Google.Protobuf.MessageParser<T> parser) where T : global::Google.Protobuf.IMessage<T>
|
|
{
|
|
#if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION
|
|
if (__Helper_MessageCache<T>.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<global::MxGateway.Contracts.Proto.OpenSessionRequest> __Marshaller_mxaccess_gateway_v1_OpenSessionRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::MxGateway.Contracts.Proto.OpenSessionRequest.Parser));
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
static readonly grpc::Marshaller<global::MxGateway.Contracts.Proto.OpenSessionReply> __Marshaller_mxaccess_gateway_v1_OpenSessionReply = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::MxGateway.Contracts.Proto.OpenSessionReply.Parser));
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
static readonly grpc::Marshaller<global::MxGateway.Contracts.Proto.CloseSessionRequest> __Marshaller_mxaccess_gateway_v1_CloseSessionRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::MxGateway.Contracts.Proto.CloseSessionRequest.Parser));
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
static readonly grpc::Marshaller<global::MxGateway.Contracts.Proto.CloseSessionReply> __Marshaller_mxaccess_gateway_v1_CloseSessionReply = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::MxGateway.Contracts.Proto.CloseSessionReply.Parser));
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
static readonly grpc::Marshaller<global::MxGateway.Contracts.Proto.MxCommandRequest> __Marshaller_mxaccess_gateway_v1_MxCommandRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::MxGateway.Contracts.Proto.MxCommandRequest.Parser));
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
static readonly grpc::Marshaller<global::MxGateway.Contracts.Proto.MxCommandReply> __Marshaller_mxaccess_gateway_v1_MxCommandReply = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::MxGateway.Contracts.Proto.MxCommandReply.Parser));
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
static readonly grpc::Marshaller<global::MxGateway.Contracts.Proto.StreamEventsRequest> __Marshaller_mxaccess_gateway_v1_StreamEventsRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::MxGateway.Contracts.Proto.StreamEventsRequest.Parser));
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
static readonly grpc::Marshaller<global::MxGateway.Contracts.Proto.MxEvent> __Marshaller_mxaccess_gateway_v1_MxEvent = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::MxGateway.Contracts.Proto.MxEvent.Parser));
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
static readonly grpc::Marshaller<global::MxGateway.Contracts.Proto.AcknowledgeAlarmRequest> __Marshaller_mxaccess_gateway_v1_AcknowledgeAlarmRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::MxGateway.Contracts.Proto.AcknowledgeAlarmRequest.Parser));
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
static readonly grpc::Marshaller<global::MxGateway.Contracts.Proto.AcknowledgeAlarmReply> __Marshaller_mxaccess_gateway_v1_AcknowledgeAlarmReply = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::MxGateway.Contracts.Proto.AcknowledgeAlarmReply.Parser));
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
static readonly grpc::Marshaller<global::MxGateway.Contracts.Proto.StreamAlarmsRequest> __Marshaller_mxaccess_gateway_v1_StreamAlarmsRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::MxGateway.Contracts.Proto.StreamAlarmsRequest.Parser));
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
static readonly grpc::Marshaller<global::MxGateway.Contracts.Proto.AlarmFeedMessage> __Marshaller_mxaccess_gateway_v1_AlarmFeedMessage = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::MxGateway.Contracts.Proto.AlarmFeedMessage.Parser));
|
|
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
static readonly grpc::Method<global::MxGateway.Contracts.Proto.OpenSessionRequest, global::MxGateway.Contracts.Proto.OpenSessionReply> __Method_OpenSession = new grpc::Method<global::MxGateway.Contracts.Proto.OpenSessionRequest, global::MxGateway.Contracts.Proto.OpenSessionReply>(
|
|
grpc::MethodType.Unary,
|
|
__ServiceName,
|
|
"OpenSession",
|
|
__Marshaller_mxaccess_gateway_v1_OpenSessionRequest,
|
|
__Marshaller_mxaccess_gateway_v1_OpenSessionReply);
|
|
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
static readonly grpc::Method<global::MxGateway.Contracts.Proto.CloseSessionRequest, global::MxGateway.Contracts.Proto.CloseSessionReply> __Method_CloseSession = new grpc::Method<global::MxGateway.Contracts.Proto.CloseSessionRequest, global::MxGateway.Contracts.Proto.CloseSessionReply>(
|
|
grpc::MethodType.Unary,
|
|
__ServiceName,
|
|
"CloseSession",
|
|
__Marshaller_mxaccess_gateway_v1_CloseSessionRequest,
|
|
__Marshaller_mxaccess_gateway_v1_CloseSessionReply);
|
|
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
static readonly grpc::Method<global::MxGateway.Contracts.Proto.MxCommandRequest, global::MxGateway.Contracts.Proto.MxCommandReply> __Method_Invoke = new grpc::Method<global::MxGateway.Contracts.Proto.MxCommandRequest, global::MxGateway.Contracts.Proto.MxCommandReply>(
|
|
grpc::MethodType.Unary,
|
|
__ServiceName,
|
|
"Invoke",
|
|
__Marshaller_mxaccess_gateway_v1_MxCommandRequest,
|
|
__Marshaller_mxaccess_gateway_v1_MxCommandReply);
|
|
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
static readonly grpc::Method<global::MxGateway.Contracts.Proto.StreamEventsRequest, global::MxGateway.Contracts.Proto.MxEvent> __Method_StreamEvents = new grpc::Method<global::MxGateway.Contracts.Proto.StreamEventsRequest, global::MxGateway.Contracts.Proto.MxEvent>(
|
|
grpc::MethodType.ServerStreaming,
|
|
__ServiceName,
|
|
"StreamEvents",
|
|
__Marshaller_mxaccess_gateway_v1_StreamEventsRequest,
|
|
__Marshaller_mxaccess_gateway_v1_MxEvent);
|
|
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
static readonly grpc::Method<global::MxGateway.Contracts.Proto.AcknowledgeAlarmRequest, global::MxGateway.Contracts.Proto.AcknowledgeAlarmReply> __Method_AcknowledgeAlarm = new grpc::Method<global::MxGateway.Contracts.Proto.AcknowledgeAlarmRequest, global::MxGateway.Contracts.Proto.AcknowledgeAlarmReply>(
|
|
grpc::MethodType.Unary,
|
|
__ServiceName,
|
|
"AcknowledgeAlarm",
|
|
__Marshaller_mxaccess_gateway_v1_AcknowledgeAlarmRequest,
|
|
__Marshaller_mxaccess_gateway_v1_AcknowledgeAlarmReply);
|
|
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
static readonly grpc::Method<global::MxGateway.Contracts.Proto.StreamAlarmsRequest, global::MxGateway.Contracts.Proto.AlarmFeedMessage> __Method_StreamAlarms = new grpc::Method<global::MxGateway.Contracts.Proto.StreamAlarmsRequest, global::MxGateway.Contracts.Proto.AlarmFeedMessage>(
|
|
grpc::MethodType.ServerStreaming,
|
|
__ServiceName,
|
|
"StreamAlarms",
|
|
__Marshaller_mxaccess_gateway_v1_StreamAlarmsRequest,
|
|
__Marshaller_mxaccess_gateway_v1_AlarmFeedMessage);
|
|
|
|
/// <summary>Service descriptor</summary>
|
|
public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor
|
|
{
|
|
get { return global::MxGateway.Contracts.Proto.MxaccessGatewayReflection.Descriptor.Services[0]; }
|
|
}
|
|
|
|
/// <summary>Base class for server-side implementations of MxAccessGateway</summary>
|
|
[grpc::BindServiceMethod(typeof(MxAccessGateway), "BindService")]
|
|
public abstract partial class MxAccessGatewayBase
|
|
{
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual global::System.Threading.Tasks.Task<global::MxGateway.Contracts.Proto.OpenSessionReply> OpenSession(global::MxGateway.Contracts.Proto.OpenSessionRequest request, grpc::ServerCallContext context)
|
|
{
|
|
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
|
|
}
|
|
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual global::System.Threading.Tasks.Task<global::MxGateway.Contracts.Proto.CloseSessionReply> CloseSession(global::MxGateway.Contracts.Proto.CloseSessionRequest request, grpc::ServerCallContext context)
|
|
{
|
|
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
|
|
}
|
|
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual global::System.Threading.Tasks.Task<global::MxGateway.Contracts.Proto.MxCommandReply> Invoke(global::MxGateway.Contracts.Proto.MxCommandRequest request, grpc::ServerCallContext context)
|
|
{
|
|
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
|
|
}
|
|
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual global::System.Threading.Tasks.Task StreamEvents(global::MxGateway.Contracts.Proto.StreamEventsRequest request, grpc::IServerStreamWriter<global::MxGateway.Contracts.Proto.MxEvent> responseStream, grpc::ServerCallContext context)
|
|
{
|
|
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
|
|
}
|
|
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual global::System.Threading.Tasks.Task<global::MxGateway.Contracts.Proto.AcknowledgeAlarmReply> AcknowledgeAlarm(global::MxGateway.Contracts.Proto.AcknowledgeAlarmRequest request, grpc::ServerCallContext context)
|
|
{
|
|
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
|
|
}
|
|
|
|
/// <summary>
|
|
/// Session-less central alarm feed. The stream opens with the current
|
|
/// active-alarm snapshot (one `active_alarm` per alarm), then a single
|
|
/// `snapshot_complete`, then a `transition` for every subsequent change.
|
|
/// Served by the gateway's always-on alarm monitor; any number of clients
|
|
/// fan out from the single monitor without opening a worker session.
|
|
/// </summary>
|
|
/// <param name="request">The request received from the client.</param>
|
|
/// <param name="responseStream">Used for sending responses back to the client.</param>
|
|
/// <param name="context">The context of the server-side call handler being invoked.</param>
|
|
/// <returns>A task indicating completion of the handler.</returns>
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual global::System.Threading.Tasks.Task StreamAlarms(global::MxGateway.Contracts.Proto.StreamAlarmsRequest request, grpc::IServerStreamWriter<global::MxGateway.Contracts.Proto.AlarmFeedMessage> responseStream, grpc::ServerCallContext context)
|
|
{
|
|
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>Client for MxAccessGateway</summary>
|
|
public partial class MxAccessGatewayClient : grpc::ClientBase<MxAccessGatewayClient>
|
|
{
|
|
/// <summary>Creates a new client for MxAccessGateway</summary>
|
|
/// <param name="channel">The channel to use to make remote calls.</param>
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public MxAccessGatewayClient(grpc::ChannelBase channel) : base(channel)
|
|
{
|
|
}
|
|
/// <summary>Creates a new client for MxAccessGateway that uses a custom <c>CallInvoker</c>.</summary>
|
|
/// <param name="callInvoker">The callInvoker to use to make remote calls.</param>
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public MxAccessGatewayClient(grpc::CallInvoker callInvoker) : base(callInvoker)
|
|
{
|
|
}
|
|
/// <summary>Protected parameterless constructor to allow creation of test doubles.</summary>
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
protected MxAccessGatewayClient() : base()
|
|
{
|
|
}
|
|
/// <summary>Protected constructor to allow creation of configured clients.</summary>
|
|
/// <param name="configuration">The client configuration.</param>
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
protected MxAccessGatewayClient(ClientBaseConfiguration configuration) : base(configuration)
|
|
{
|
|
}
|
|
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual global::MxGateway.Contracts.Proto.OpenSessionReply OpenSession(global::MxGateway.Contracts.Proto.OpenSessionRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
|
|
{
|
|
return OpenSession(request, new grpc::CallOptions(headers, deadline, cancellationToken));
|
|
}
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual global::MxGateway.Contracts.Proto.OpenSessionReply OpenSession(global::MxGateway.Contracts.Proto.OpenSessionRequest request, grpc::CallOptions options)
|
|
{
|
|
return CallInvoker.BlockingUnaryCall(__Method_OpenSession, null, options, request);
|
|
}
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual grpc::AsyncUnaryCall<global::MxGateway.Contracts.Proto.OpenSessionReply> OpenSessionAsync(global::MxGateway.Contracts.Proto.OpenSessionRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
|
|
{
|
|
return OpenSessionAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
|
|
}
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual grpc::AsyncUnaryCall<global::MxGateway.Contracts.Proto.OpenSessionReply> OpenSessionAsync(global::MxGateway.Contracts.Proto.OpenSessionRequest request, grpc::CallOptions options)
|
|
{
|
|
return CallInvoker.AsyncUnaryCall(__Method_OpenSession, null, options, request);
|
|
}
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual global::MxGateway.Contracts.Proto.CloseSessionReply CloseSession(global::MxGateway.Contracts.Proto.CloseSessionRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
|
|
{
|
|
return CloseSession(request, new grpc::CallOptions(headers, deadline, cancellationToken));
|
|
}
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual global::MxGateway.Contracts.Proto.CloseSessionReply CloseSession(global::MxGateway.Contracts.Proto.CloseSessionRequest request, grpc::CallOptions options)
|
|
{
|
|
return CallInvoker.BlockingUnaryCall(__Method_CloseSession, null, options, request);
|
|
}
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual grpc::AsyncUnaryCall<global::MxGateway.Contracts.Proto.CloseSessionReply> CloseSessionAsync(global::MxGateway.Contracts.Proto.CloseSessionRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
|
|
{
|
|
return CloseSessionAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
|
|
}
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual grpc::AsyncUnaryCall<global::MxGateway.Contracts.Proto.CloseSessionReply> CloseSessionAsync(global::MxGateway.Contracts.Proto.CloseSessionRequest request, grpc::CallOptions options)
|
|
{
|
|
return CallInvoker.AsyncUnaryCall(__Method_CloseSession, null, options, request);
|
|
}
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual global::MxGateway.Contracts.Proto.MxCommandReply Invoke(global::MxGateway.Contracts.Proto.MxCommandRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
|
|
{
|
|
return Invoke(request, new grpc::CallOptions(headers, deadline, cancellationToken));
|
|
}
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual global::MxGateway.Contracts.Proto.MxCommandReply Invoke(global::MxGateway.Contracts.Proto.MxCommandRequest request, grpc::CallOptions options)
|
|
{
|
|
return CallInvoker.BlockingUnaryCall(__Method_Invoke, null, options, request);
|
|
}
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual grpc::AsyncUnaryCall<global::MxGateway.Contracts.Proto.MxCommandReply> InvokeAsync(global::MxGateway.Contracts.Proto.MxCommandRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
|
|
{
|
|
return InvokeAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
|
|
}
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual grpc::AsyncUnaryCall<global::MxGateway.Contracts.Proto.MxCommandReply> InvokeAsync(global::MxGateway.Contracts.Proto.MxCommandRequest request, grpc::CallOptions options)
|
|
{
|
|
return CallInvoker.AsyncUnaryCall(__Method_Invoke, null, options, request);
|
|
}
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual grpc::AsyncServerStreamingCall<global::MxGateway.Contracts.Proto.MxEvent> StreamEvents(global::MxGateway.Contracts.Proto.StreamEventsRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
|
|
{
|
|
return StreamEvents(request, new grpc::CallOptions(headers, deadline, cancellationToken));
|
|
}
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual grpc::AsyncServerStreamingCall<global::MxGateway.Contracts.Proto.MxEvent> StreamEvents(global::MxGateway.Contracts.Proto.StreamEventsRequest request, grpc::CallOptions options)
|
|
{
|
|
return CallInvoker.AsyncServerStreamingCall(__Method_StreamEvents, null, options, request);
|
|
}
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual global::MxGateway.Contracts.Proto.AcknowledgeAlarmReply AcknowledgeAlarm(global::MxGateway.Contracts.Proto.AcknowledgeAlarmRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
|
|
{
|
|
return AcknowledgeAlarm(request, new grpc::CallOptions(headers, deadline, cancellationToken));
|
|
}
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual global::MxGateway.Contracts.Proto.AcknowledgeAlarmReply AcknowledgeAlarm(global::MxGateway.Contracts.Proto.AcknowledgeAlarmRequest request, grpc::CallOptions options)
|
|
{
|
|
return CallInvoker.BlockingUnaryCall(__Method_AcknowledgeAlarm, null, options, request);
|
|
}
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual grpc::AsyncUnaryCall<global::MxGateway.Contracts.Proto.AcknowledgeAlarmReply> AcknowledgeAlarmAsync(global::MxGateway.Contracts.Proto.AcknowledgeAlarmRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
|
|
{
|
|
return AcknowledgeAlarmAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
|
|
}
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual grpc::AsyncUnaryCall<global::MxGateway.Contracts.Proto.AcknowledgeAlarmReply> AcknowledgeAlarmAsync(global::MxGateway.Contracts.Proto.AcknowledgeAlarmRequest request, grpc::CallOptions options)
|
|
{
|
|
return CallInvoker.AsyncUnaryCall(__Method_AcknowledgeAlarm, null, options, request);
|
|
}
|
|
/// <summary>
|
|
/// Session-less central alarm feed. The stream opens with the current
|
|
/// active-alarm snapshot (one `active_alarm` per alarm), then a single
|
|
/// `snapshot_complete`, then a `transition` for every subsequent change.
|
|
/// Served by the gateway's always-on alarm monitor; any number of clients
|
|
/// fan out from the single monitor without opening a worker session.
|
|
/// </summary>
|
|
/// <param name="request">The request to send to the server.</param>
|
|
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
|
|
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
|
|
/// <param name="cancellationToken">An optional token for canceling the call.</param>
|
|
/// <returns>The call object.</returns>
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual grpc::AsyncServerStreamingCall<global::MxGateway.Contracts.Proto.AlarmFeedMessage> StreamAlarms(global::MxGateway.Contracts.Proto.StreamAlarmsRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
|
|
{
|
|
return StreamAlarms(request, new grpc::CallOptions(headers, deadline, cancellationToken));
|
|
}
|
|
/// <summary>
|
|
/// Session-less central alarm feed. The stream opens with the current
|
|
/// active-alarm snapshot (one `active_alarm` per alarm), then a single
|
|
/// `snapshot_complete`, then a `transition` for every subsequent change.
|
|
/// Served by the gateway's always-on alarm monitor; any number of clients
|
|
/// fan out from the single monitor without opening a worker session.
|
|
/// </summary>
|
|
/// <param name="request">The request to send to the server.</param>
|
|
/// <param name="options">The options for the call.</param>
|
|
/// <returns>The call object.</returns>
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public virtual grpc::AsyncServerStreamingCall<global::MxGateway.Contracts.Proto.AlarmFeedMessage> StreamAlarms(global::MxGateway.Contracts.Proto.StreamAlarmsRequest request, grpc::CallOptions options)
|
|
{
|
|
return CallInvoker.AsyncServerStreamingCall(__Method_StreamAlarms, null, options, request);
|
|
}
|
|
/// <summary>Creates a new instance of client from given <c>ClientBaseConfiguration</c>.</summary>
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
protected override MxAccessGatewayClient NewInstance(ClientBaseConfiguration configuration)
|
|
{
|
|
return new MxAccessGatewayClient(configuration);
|
|
}
|
|
}
|
|
|
|
/// <summary>Creates service definition that can be registered with a server</summary>
|
|
/// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public static grpc::ServerServiceDefinition BindService(MxAccessGatewayBase serviceImpl)
|
|
{
|
|
return grpc::ServerServiceDefinition.CreateBuilder()
|
|
.AddMethod(__Method_OpenSession, serviceImpl.OpenSession)
|
|
.AddMethod(__Method_CloseSession, serviceImpl.CloseSession)
|
|
.AddMethod(__Method_Invoke, serviceImpl.Invoke)
|
|
.AddMethod(__Method_StreamEvents, serviceImpl.StreamEvents)
|
|
.AddMethod(__Method_AcknowledgeAlarm, serviceImpl.AcknowledgeAlarm)
|
|
.AddMethod(__Method_StreamAlarms, serviceImpl.StreamAlarms).Build();
|
|
}
|
|
|
|
/// <summary>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.</summary>
|
|
/// <param name="serviceBinder">Service methods will be bound by calling <c>AddMethod</c> on this object.</param>
|
|
/// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
|
|
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
|
|
public static void BindService(grpc::ServiceBinderBase serviceBinder, MxAccessGatewayBase serviceImpl)
|
|
{
|
|
serviceBinder.AddMethod(__Method_OpenSession, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::MxGateway.Contracts.Proto.OpenSessionRequest, global::MxGateway.Contracts.Proto.OpenSessionReply>(serviceImpl.OpenSession));
|
|
serviceBinder.AddMethod(__Method_CloseSession, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::MxGateway.Contracts.Proto.CloseSessionRequest, global::MxGateway.Contracts.Proto.CloseSessionReply>(serviceImpl.CloseSession));
|
|
serviceBinder.AddMethod(__Method_Invoke, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::MxGateway.Contracts.Proto.MxCommandRequest, global::MxGateway.Contracts.Proto.MxCommandReply>(serviceImpl.Invoke));
|
|
serviceBinder.AddMethod(__Method_StreamEvents, serviceImpl == null ? null : new grpc::ServerStreamingServerMethod<global::MxGateway.Contracts.Proto.StreamEventsRequest, global::MxGateway.Contracts.Proto.MxEvent>(serviceImpl.StreamEvents));
|
|
serviceBinder.AddMethod(__Method_AcknowledgeAlarm, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::MxGateway.Contracts.Proto.AcknowledgeAlarmRequest, global::MxGateway.Contracts.Proto.AcknowledgeAlarmReply>(serviceImpl.AcknowledgeAlarm));
|
|
serviceBinder.AddMethod(__Method_StreamAlarms, serviceImpl == null ? null : new grpc::ServerStreamingServerMethod<global::MxGateway.Contracts.Proto.StreamAlarmsRequest, global::MxGateway.Contracts.Proto.AlarmFeedMessage>(serviceImpl.StreamAlarms));
|
|
}
|
|
|
|
}
|
|
}
|
|
#endregion
|