public JT808GatewayService(IServiceProvider serviceProvider) { this.jT808SessionManager = serviceProvider.GetRequiredService <JT808SessionManager>(); this.jT808TcpAtomicCounterService = serviceProvider.GetRequiredService <JT808AtomicCounterServiceFactory>().Create(JT808TransportProtocolType.tcp); this.jT808UdpAtomicCounterService = serviceProvider.GetRequiredService <JT808AtomicCounterServiceFactory>().Create(JT808TransportProtocolType.udp); this.ConfigurationOptionsMonitor = serviceProvider.GetRequiredService <IOptionsMonitor <JT808Configuration> >(); }
public JT808GatewayService( IJT808UnificationSendService jT808UnificationSendService, IJT808SessionService jT808SessionService, JT808AtomicCounterServiceFactory jT808AtomicCounterServiceFactory ) { this.jT808UnificationSendService = jT808UnificationSendService; this.jT808SessionService = jT808SessionService; this.jT808TcpAtomicCounterService = jT808AtomicCounterServiceFactory.Create(JT808TransportProtocolType.tcp); this.jT808UdpAtomicCounterService = jT808AtomicCounterServiceFactory.Create(JT808TransportProtocolType.udp); }
public JT808GatewayService( IOptionsMonitor <JT808Configuration> configurationOptionsMonitor, JT808SessionManager jT808SessionManager, JT808AtomicCounterServiceFactory jT808AtomicCounterServiceFactory ) { this.jT808SessionManager = jT808SessionManager; this.ConfigurationOptionsMonitor = configurationOptionsMonitor; this.jT808TcpAtomicCounterService = jT808AtomicCounterServiceFactory.Create(JT808TransportProtocolType.tcp); this.jT808UdpAtomicCounterService = jT808AtomicCounterServiceFactory.Create(JT808TransportProtocolType.udp); }
public JT808AtomicCounterService Create(JT808TransportProtocolType type) { if (cache.TryGetValue(type, out var service)) { return(service); } else { var serviceNew = new JT808AtomicCounterService(); cache.TryAdd(type, serviceNew); return(serviceNew); } }