using JT808.Gateway.Abstractions; using Microsoft.Extensions.DependencyInjection; using System; using System.Collections.Generic; using System.Text; namespace JT808.Gateway.Traffic { public static class JT808TrafficServiceExtensions { /// /// 消息流量统计服务(不同的消费者实例) /// /// /// public static IJT808ClientBuilder AddTraffic(this IJT808ClientBuilder jT808ClientBuilder) where TIJT808Traffic:IJT808Traffic { jT808ClientBuilder.JT808Builder.Services.AddSingleton(typeof(IJT808Traffic), typeof(TIJT808Traffic)); jT808ClientBuilder.JT808Builder.Services.AddHostedService(); return jT808ClientBuilder; } /// /// 消息流量统计服务(不同的消费者实例) /// /// /// public static IJT808ClientBuilder AddTraffic(this IJT808ClientBuilder jT808ClientBuilder) { jT808ClientBuilder.JT808Builder.Services.AddSingleton(typeof(IJT808Traffic), typeof(JT808TrafficDefault)); jT808ClientBuilder.JT808Builder.Services.AddHostedService(); return jT808ClientBuilder; } /// /// 消息流量统计服务(不同的消费者实例) /// /// /// public static IJT808NormalGatewayBuilder AddTraffic(this IJT808NormalGatewayBuilder jT808NormalGatewayBuilder) where TIJT808Traffic : IJT808Traffic { jT808NormalGatewayBuilder.JT808Builder.Services.AddSingleton(typeof(IJT808Traffic), typeof(TIJT808Traffic)); return jT808NormalGatewayBuilder; } /// /// 消息流量统计服务(不同的消费者实例) /// /// /// public static IJT808NormalGatewayBuilder AddTraffic(this IJT808NormalGatewayBuilder jT808NormalGatewayBuilder) { jT808NormalGatewayBuilder.JT808Builder.Services.AddSingleton(typeof(IJT808Traffic), typeof(JT808TrafficDefault)); return jT808NormalGatewayBuilder; } } }