Пример #1
0
        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);
        }
Пример #2
0
 internal GateConfig(
     SchemaGenerationOptions schemaGenerationOptions,
     TransportConfig transportConfig)
 {
     _schemaGenerationOptions = schemaGenerationOptions;
     _transportConfig         = transportConfig;
     Disposables.Add(transportConfig);
 }
Пример #3
0
 public GateBuilder(ILoggerFactory loggerFactory, SchemaGenerationOptions options = null)
 {
     _loggerFactory   = loggerFactory;
     _options         = options ?? new SchemaGenerationOptions();
     _transportConfig = new TransportConfig();
 }
Пример #4
0
 /// <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);