using log4net; using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace bsmd.AIS2Service { internal static class AISManager { private static readonly List _tasks = new List(); private static readonly ConcurrentQueue _inputLines = new ConcurrentQueue(); private static readonly ConcurrentQueue _decodedClasses = new ConcurrentQueue(); private static readonly ILog _log = LogManager.GetLogger(typeof(AISManager)); private static readonly List _sitRepList = new List(); public static void Start() { _tasks.Add(new SerialTCPReader(Properties.Settings.Default.DataSourceHost, Properties.Settings.Default.DataSourcePort, _inputLines)); _tasks.Add(new AISDecoder(_inputLines, _decodedClasses)); foreach (var task in _tasks) { task.Start(); _log.InfoFormat("{0} started", task.Name); } } public static void Stop() { foreach (var task in _tasks) { task.Stop(); _log.InfoFormat("{0} stopped", task.Name); } } } }