public static IJT808NettyBuilder AddJT808NettyCore(this IJT808Builder jt808Builder, Action <JT808Configuration> jt808Options, Newtonsoft.Json.JsonSerializerSettings settings = null)
        {
            if (settings != null)
            {
                JsonConvert.DefaultSettings = new Func <JsonSerializerSettings>(() =>
                {
                    settings.Converters.Add(new JsonIPAddressConverter());
                    settings.Converters.Add(new JsonIPEndPointConverter());
                    settings.Converters.Add(new ByteArrayHexConverter());
                    settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
                    return(settings);
                });
            }
            IJT808NettyBuilder nettyBuilder = new JT808NettyBuilderDefault(jt808Builder);

            nettyBuilder.JT808Builder.Services.Configure(jt808Options);
            nettyBuilder.JT808Builder.Services.TryAddSingleton <JT808AtomicCounterServiceFactory>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <JT808SessionManager>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808UnificationSendService, JT808UnificationSendService>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808SessionService, JT808SessionService>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808MsgProducer, JT808MsgProducerDefaultImpl>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808MsgReplyConsumer, JT808MsgReplyConsumerDefaultImpl>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <JT808MsgService>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808SessionProducer, JT808SessionProducerDefaultImpl>();
            nettyBuilder.JT808Builder.Services.AddHostedService <JT808MsgReplyHostedService>();
            return(nettyBuilder);
        }
        public static IJT808NettyBuilder AddJT808NettyCore(this IJT808Builder jt808Builder, Action <JT808Configuration> jt808Options, Newtonsoft.Json.JsonSerializerSettings settings = null)
        {
            if (settings != null)
            {
                JsonConvert.DefaultSettings = new Func <JsonSerializerSettings>(() =>
                {
                    settings.Converters.Add(new JsonIPAddressConverter());
                    settings.Converters.Add(new JsonIPEndPointConverter());
                    settings.Converters.Add(new ByteArrayHexConverter());
                    settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
                    return(settings);
                });
            }
            IJT808NettyBuilder nettyBuilder = new JT808NettyBuilderDefault(jt808Builder);

            nettyBuilder.JT808Builder.Services.Configure(jt808Options);
            nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808SessionPublishing, JT808SessionPublishingEmptyImpl>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808DownlinkPacket, JT808DownlinkPacketEmptyImpl>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808UplinkPacket, JT808UplinkPacketEmptyImpl>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808SourcePackageDispatcher, JT808SourcePackageDispatcherEmptyImpl>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <JT808AtomicCounterServiceFactory>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <JT808TrafficServiceFactory>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <JT808SimpleSystemCollectService>();
            return(nettyBuilder);
        }
Exemple #3
0
        public static IJT808NettyBuilder AddJT808NettyCore(this IJT808Builder jt808Builder, Action <JT808Configuration> jt808Options)
        {
            IJT808NettyBuilder nettyBuilder = new JT808NettyBuilderDefault(jt808Builder);

            nettyBuilder.JT808Builder.Services.Configure(jt808Options);
            nettyBuilder.JT808Builder.Services.TryAddSingleton <JT808AtomicCounterServiceFactory>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <JT808SessionManager>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808UnificationSendService, JT808UnificationSendService>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808SessionService, JT808SessionService>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808MsgProducer, JT808MsgProducerDefaultImpl>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808MsgReplyConsumer, JT808MsgReplyConsumerDefaultImpl>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <JT808MsgService>();
            nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808SessionProducer, JT808SessionProducerDefaultImpl>();
            nettyBuilder.JT808Builder.Services.AddHostedService <JT808MsgReplyHostedService>();
            return(nettyBuilder);
        }