예제 #1
0
        public DiagnosticMonitor(string venue, IPEndPoint mcastEndpoint, string localCname) {
            String setting;
            if ((setting = ConfigurationManager.AppSettings[AppConfig.CXP_ThroughputWarningThreshold]) != null) {
                double warningThreshold;
                if (Double.TryParse(setting, out warningThreshold)) {
                    if (warningThreshold > 0) {
                        ThroughputThreshold = warningThreshold;
                    }
                }
            }

            if (!Conference.DiagnosticsEnabled) {
                throw new ApplicationException("DiagnosticMonitor requires that Diagnostics are enabled.");
            }
            m_Participants = new List<string>();
            m_Venue = venue;
            m_MulticastEndpoint = mcastEndpoint;
            m_LocalCname = localCname;
            m_PreviousMissingParticipants = new List<string>();
            m_PreviousThroughputWarnings = new List<SenderReceiverPair>();
            m_ThroughputAverages = new Dictionary<SenderReceiverPair, double>();
            m_Service = new DiagnosticWebService.DiagnosticWebService();
            m_Service.Url = Path.Combine(Conference.DiagnosticsWebService.ToString(), "DiagnosticWebService.asmx");
            m_Service.Timeout = m_Timeout;
        }
예제 #2
0
        public DiagnosticMonitor(string venue, IPEndPoint mcastEndpoint, string localCname)
        {
            String setting;

            if ((setting = ConfigurationManager.AppSettings[AppConfig.CXP_ThroughputWarningThreshold]) != null)
            {
                double warningThreshold;
                if (Double.TryParse(setting, out warningThreshold))
                {
                    if (warningThreshold > 0)
                    {
                        ThroughputThreshold = warningThreshold;
                    }
                }
            }

            if (!Conference.DiagnosticsEnabled)
            {
                throw new ApplicationException("DiagnosticMonitor requires that Diagnostics are enabled.");
            }
            m_Participants                = new List <string>();
            m_Venue                       = venue;
            m_MulticastEndpoint           = mcastEndpoint;
            m_LocalCname                  = localCname;
            m_PreviousMissingParticipants = new List <string>();
            m_PreviousThroughputWarnings  = new List <SenderReceiverPair>();
            m_ThroughputAverages          = new Dictionary <SenderReceiverPair, double>();
            m_Service                     = new DiagnosticWebService.DiagnosticWebService();
            m_Service.Url                 = Path.Combine(Conference.DiagnosticsWebService.ToString(), "DiagnosticWebService.asmx");
            m_Service.Timeout             = m_Timeout;
        }
예제 #3
0
 public DiagnosticMonitorThread(DiagnosticWebService.DiagnosticWebService service, DiagnosticMonitor monitor)
 {
     m_Service     = service;
     m_Monitor     = monitor;
     m_Matrix      = null;
     m_Thread      = new Thread(new ThreadStart(ThreadMethod));
     m_Thread.Name = "Diagnostic Monitor Thread";
     m_StopThread  = false;
     m_Thread.Start();
 }
예제 #4
0
 public DiagnosticMonitorThread(DiagnosticWebService.DiagnosticWebService service, DiagnosticMonitor monitor) {
     m_Service = service;
     m_Monitor = monitor;
     m_Matrix = null;
     m_Thread = new Thread(new ThreadStart(ThreadMethod));
     m_Thread.Name = "Diagnostic Monitor Thread";
     m_StopThread = false;
     m_Thread.Start();
 }