where TResponseReturn : class; // Needs to be class due to gRPC constraint protected virtual ImmutableRpcServerOptions CreateStubOptions(IRpcServerCore server) { if (server is null) { throw new ArgumentNullException(nameof(server)); } var registeredOptions = server.ServiceDefinitionsProvider.GetServiceOptions(typeof(TService)); return(ImmutableRpcServerOptions.Combine(this.Options, registeredOptions)); }
protected override ImmutableRpcServerOptions CreateStubOptions(IRpcServerCore server) { var o = this.Options; var registeredOptions = server.ServiceDefinitionsProvider.GetServiceOptions(typeof(TService)); if ((registeredOptions?.ReceiveMaxMessageSize != null && registeredOptions?.ReceiveMaxMessageSize != o?.ReceiveMaxMessageSize) || (registeredOptions?.SendMaxMessageSize != null && registeredOptions?.SendMaxMessageSize != o?.SendMaxMessageSize)) { // TODO: Logger.Warn("Message settings in registered options do not match provided options. Registered settings will be ignored."); } return(ImmutableRpcServerOptions.Combine(this.Options, registeredOptions)); }
protected RpcStub(IRpcServerCore server, ImmutableRpcServerOptions options) { this.Server = server; this.ServicePublisher = this.Server.ServicePublisher; this.AllowAutoPublish = options?.AllowAutoPublish ?? this.Server.AllowAutoPublish; this.Serializer = options?.Serializer ?? this.Server.Serializer; if (options != null && options.ExceptionConverters.Length > 0) { this.CustomFaultHandler = new RpcServerFaultHandler(this.Server.CustomFaultHandler, options.ExceptionConverters, null); } else { this.CustomFaultHandler = this.Server.CustomFaultHandler; } }