public void ProcessRegisterRequest() { logger.Debug("SIPRegistrarCore is running at " + _localSipAccount.MsgProtocol + ":" + _localSipAccount.LocalIP + ":" + _localSipAccount.LocalPort); try { while (!Stop) { if (m_registerQueue.Count > 0) { try { SIPNonInviteTransaction registrarTransaction = null; lock (m_registerQueue) { registrarTransaction = m_registerQueue.Dequeue(); } if (registrarTransaction != null) { DateTime startTime = DateTime.Now; var result = Register(registrarTransaction); var duration = DateTime.Now.Subtract(startTime); RegisterComplete?.Invoke(duration.TotalMilliseconds, registrarTransaction.TransactionRequest.Header.AuthenticationHeader != null); logger.Debug("Camera[" + registrarTransaction.RemoteEndPoint + " deviceid:" + registrarTransaction.TransactionRequest.Header.To.ToURI.User + "] have completed registering GB service."); //CacheDeviceItem(registrarTransaction.TransactionRequest); //device alarm subscribe DeviceAlarmSubscribe?.Invoke(registrarTransaction); } } catch (InvalidOperationException invalidOpExcp) { // This occurs when the queue is empty. logger.Warn("InvalidOperationException ProcessRegisterRequest Register Job. " + invalidOpExcp.Message); } catch (Exception regExcp) { logger.Error("Exception ProcessRegisterRequest Register Job. " + regExcp.Message); } } else { m_registerARE.WaitOne(MAX_PROCESS_REGISTER_SLEEP); } } logger.Warn("ProcessRegisterRequest thread " + Thread.CurrentThread.Name + " stopping."); } catch (Exception excp) { logger.Error("Exception ProcessRegisterRequest (" + Thread.CurrentThread.Name + "). " + excp.Message); } }
public void ProcessRegisterRequest() { logger.Debug("SIPRegistrarCoreService successfully Running at :" + _localSipAccount.LocalIP + ":" + _localSipAccount.LocalPort); try { while (!Stop) { if (m_registerQueue.Count > 0) { try { SIPNonInviteTransaction registrarTransaction = null; lock (m_registerQueue) { registrarTransaction = m_registerQueue.Dequeue(); } if (registrarTransaction != null) { DateTime startTime = DateTime.Now; var result = Register(registrarTransaction); var duration = DateTime.Now.Subtract(startTime); FireProxyLogEvent(new SIPMonitorConsoleEvent(SIPMonitorServerTypesEnum.Registrar, SIPMonitorEventTypesEnum.RegistrarTiming, "register result=" + result.ToString() + ", time=" + duration.TotalMilliseconds + "ms, user="******".", null)); RegisterComplete?.Invoke(duration.TotalMilliseconds, registrarTransaction.TransactionRequest.Header.AuthenticationHeader != null); } } catch (InvalidOperationException invalidOpExcp) { // This occurs when the queue is empty. logger.Warn("InvalidOperationException ProcessRegisterRequest Register Job. " + invalidOpExcp.Message); } catch (Exception regExcp) { logger.Error("Exception ProcessRegisterRequest Register Job. " + regExcp.Message); } } else { m_registerARE.WaitOne(MAX_PROCESS_REGISTER_SLEEP); } } logger.Warn("ProcessRegisterRequest thread " + Thread.CurrentThread.Name + " stopping."); } catch (Exception excp) { logger.Error("Exception ProcessRegisterRequest (" + Thread.CurrentThread.Name + "). " + excp.Message); } }
private void ProcessRegisterRequest(string threadName) { try { Thread.CurrentThread.Name = threadName; while (!Stop) { if (m_registerQueue.Count > 0) { try { if (m_registerQueue.TryDequeue(out var registrarTransaction)) { DateTime startTime = DateTime.Now; RegisterResultEnum result = Register(registrarTransaction); TimeSpan duration = DateTime.Now.Subtract(startTime); RegisterComplete?.Invoke(duration.TotalMilliseconds, registrarTransaction.TransactionRequest.Header.AuthenticationHeader != null); } } catch (Exception regExcp) { Logger.LogError("Exception ProcessRegisterRequest Register Job. " + regExcp.Message); } } else { m_registerARE.WaitOne(MAX_PROCESS_REGISTER_SLEEP); } } Logger.LogWarning("ProcessRegisterRequest thread " + Thread.CurrentThread.Name + " stopping."); } catch (Exception excp) { Logger.LogError("Exception ProcessRegisterRequest (" + Thread.CurrentThread.Name + "). " + excp); } }
/// <summary>Called when the engine has completed registering the location and visilibity of the bundle.</summary> /// <param name="args">The arguments of the event.</param> public void OnRegisterComplete(WPFBootstrapperEventArgs <Wix.RegisterCompleteEventArgs> args) { RegisterComplete?.Invoke(this, args); }