using skyscraper5.Skyscraper.Webserver.Metrics;

namespace skyscraper5.Mpeg2
{
    internal class TsContextPacketLossReporter
    {
        private TsContextPacketLossReporter()
        {
            MetricsResource.GetInstance().AddCollector(this);
        }

        private static TsContextPacketLossReporter _instance;

        [MetricType(MetricType.Counter)]
        public ulong Dropped_Scrambled { get; internal set; }

        [MetricType(MetricType.Counter)]
        public ulong Discontinuity { get; internal set; }

        [MetricType(MetricType.Counter)]
        public ulong Dropped_Tei { get; internal set; }

        [MetricType(MetricType.Counter)]
        public ulong Input { get; internal set; }

        [MetricType(MetricType.Counter)]
        public ulong OK { get; internal set; }

        public static TsContextPacketLossReporter GetInstance()
        {
            if (_instance == null)
            {
                _instance = new TsContextPacketLossReporter();
            }

            return _instance;
        }


    }
}
