public string GetProto(IEnumerable <CqrsChannelInfo> cqrs) { // split methods to services var services = cqrs.ToList().GroupBy(x => x.ServiceName); // create services var opts = new SchemaGenerationOptions(); opts.Syntax = ProtoSyntax.Proto3; services.ForEach(grp => { var svc = new Service { Name = grp.Key }; grp.ForEach(x => { var method = new ServiceMethod { InputType = x.ChReqType, OutputType = x.ChRspEnvType, Name = x.MethodName }; svc.Methods.Add(method); }); opts.Services.Add(svc); }); var proto = Serializer.GetProto(opts); return(proto); }
internal GateConfig( SchemaGenerationOptions schemaGenerationOptions, TransportConfig transportConfig) { _schemaGenerationOptions = schemaGenerationOptions; _transportConfig = transportConfig; Disposables.Add(transportConfig); }
public GateBuilder(ILoggerFactory loggerFactory, SchemaGenerationOptions options = null) { _loggerFactory = loggerFactory; _options = options ?? new SchemaGenerationOptions(); _transportConfig = new TransportConfig(); }
/// <summary> /// Suggest a .proto definition for the given type /// </summary> /// <returns>The .proto definition as a string</returns> public static string GetProto(SchemaGenerationOptions options) => RuntimeTypeModel.Default.GetSchema(options);