Optimize signal calls.

Refs #5049
This commit is contained in:
Gunnar Beutner 2013-11-10 16:53:57 +01:00
parent 45a6ca6cb3
commit 9a764d8a08
8 changed files with 21 additions and 31 deletions

View File

@ -50,14 +50,7 @@ struct ServiceNextCheckExtractor
if (!service->HasAuthority("checker"))
return Utility::GetTime() + 60;
double next = service->GetNextCheck();
while (next == 0) {
service->UpdateNextCheck();
next = service->GetNextCheck();
}
return next;
return service->GetNextCheck();
}
};

View File

@ -130,7 +130,7 @@ void Notification::SetNextNotification(double time, const String& authority)
{
SetNextNotificationRaw(time);
Utility::QueueAsyncCallback(boost::bind(boost::ref(OnNextNotificationChanged), GetSelf(), time, authority));
OnNextNotificationChanged(GetSelf(), time, authority);
}
void Notification::UpdateNotificationNumber(void)

View File

@ -94,7 +94,7 @@ void Service::SetNextCheck(double nextCheck, const String& authority)
{
SetNextCheckRaw(nextCheck);
Utility::QueueAsyncCallback(boost::bind(boost::ref(Service::OnNextCheckChanged), GetSelf(), nextCheck, authority));
OnNextCheckChanged(GetSelf(), nextCheck, authority);
}
double Service::GetNextCheck(void)
@ -150,7 +150,7 @@ void Service::SetEnableActiveChecks(bool enabled, const String& authority)
{
SetOverrideEnableActiveChecks(enabled);
Utility::QueueAsyncCallback(boost::bind(boost::ref(OnEnableActiveChecksChanged), GetSelf(), enabled, authority));
OnEnableActiveChecksChanged(GetSelf(), enabled, authority);
}
bool Service::GetEnablePassiveChecks(void) const
@ -165,7 +165,7 @@ void Service::SetEnablePassiveChecks(bool enabled, const String& authority)
{
SetOverrideEnablePassiveChecks(enabled);
Utility::QueueAsyncCallback(boost::bind(boost::ref(OnEnablePassiveChecksChanged), GetSelf(), enabled, authority));
OnEnablePassiveChecksChanged(GetSelf(), enabled, authority);
}
bool Service::GetForceNextCheck(void) const
@ -177,7 +177,7 @@ void Service::SetForceNextCheck(bool forced, const String& authority)
{
SetForceNextCheckRaw(forced);
Utility::QueueAsyncCallback(boost::bind(boost::ref(OnForceNextCheckChanged), GetSelf(), forced, authority));
OnForceNextCheckChanged(GetSelf(), forced, authority);
}
void Service::ProcessCheckResult(const CheckResult::Ptr& cr, const String& authority)
@ -367,15 +367,13 @@ void Service::ProcessCheckResult(const CheckResult::Ptr& cr, const String& autho
// " threshold: " + Convert::ToString(GetFlappingThreshold()) +
// "% current: " + Convert::ToString(GetFlappingCurrent()) + "%.");
Utility::QueueAsyncCallback(boost::bind(boost::ref(OnNewCheckResult), GetSelf(), cr, authority));
OnNewCheckResult(GetSelf(), cr, authority);
OnStateChanged(GetSelf());
if (hardChange) {
Utility::QueueAsyncCallback(boost::bind(boost::ref(OnStateChange), GetSelf(), cr, StateTypeHard, authority));
}
else if (stateChange) {
Utility::QueueAsyncCallback(boost::bind(boost::ref(OnStateChange), GetSelf(), cr, StateTypeSoft, authority));
}
if (hardChange)
OnStateChange(GetSelf(), cr, StateTypeHard, authority);
else if (stateChange)
OnStateChange(GetSelf(), cr, StateTypeSoft, authority);
if (call_eventhandler)
ExecuteEventHandler();

View File

@ -79,7 +79,7 @@ String Service::AddComment(CommentType entryType, const String& author,
l_CommentsCache[uid] = GetSelf();
}
Utility::QueueAsyncCallback(boost::bind(boost::ref(OnCommentAdded), GetSelf(), comment, authority));
OnCommentAdded(GetSelf(), comment, authority);
return uid;
}
@ -126,7 +126,7 @@ void Service::RemoveComment(const String& id, const String& authority)
l_CommentsCache.erase(id);
}
Utility::QueueAsyncCallback(boost::bind(boost::ref(OnCommentRemoved), owner, comment, authority));
OnCommentRemoved(owner, comment, authority);
}
String Service::GetCommentIDFromLegacyID(int id)

View File

@ -99,7 +99,7 @@ String Service::AddDowntime(const String& author, const String& comment,
Log(LogWarning, "icinga", "added downtime with ID '" + Convert::ToString(downtime->GetLegacyId()) + "'.");
Utility::QueueAsyncCallback(boost::bind(boost::ref(OnDowntimeAdded), GetSelf(), downtime, authority));
OnDowntimeAdded(GetSelf(), downtime, authority);
return uid;
}
@ -132,7 +132,7 @@ void Service::RemoveDowntime(const String& id, bool cancelled, const String& aut
Log(LogWarning, "icinga", "removed downtime with ID '" + Convert::ToString(downtime->GetLegacyId()) + "' from service '" + owner->GetName() + "'.");
Utility::QueueAsyncCallback(boost::bind(boost::ref(OnDowntimeRemoved), owner, downtime, authority));
OnDowntimeRemoved(owner, downtime, authority);
}
void Service::TriggerDowntimes(void)
@ -185,7 +185,7 @@ void Service::TriggerDowntime(const String& id)
TriggerDowntime(tid);
}
Utility::QueueAsyncCallback(boost::bind(boost::ref(OnDowntimeTriggered), owner, downtime));
OnDowntimeTriggered(owner, downtime);
}
String Service::GetDowntimeIDFromLegacyID(int id)

View File

@ -50,7 +50,7 @@ void Service::SetEnableFlapping(bool enabled, const String& authority)
SetEnableFlappingRaw(enabled);
OnFlappingChanged(GetSelf(), enabled ? FlappingEnabled : FlappingDisabled);
Utility::QueueAsyncCallback(boost::bind(boost::ref(OnEnableFlappingChanged), GetSelf(), enabled, authority));
OnEnableFlappingChanged(GetSelf(), enabled, authority);
}
void Service::UpdateFlappingStatus(bool stateChange)

View File

@ -171,7 +171,7 @@ void Service::SetEnableNotifications(bool enabled, const String& authority)
{
SetEnableNotificationsRaw(enabled);
Utility::QueueAsyncCallback(boost::bind(boost::ref(OnEnableNotificationsChanged), GetSelf(), enabled, authority));
OnEnableNotificationsChanged(GetSelf(), enabled, authority);
}
bool Service::GetForceNextNotification(void) const
@ -183,5 +183,5 @@ void Service::SetForceNextNotification(bool forced, const String& authority)
{
SetForceNextNotificationRaw(forced);
Utility::QueueAsyncCallback(boost::bind(boost::ref(OnForceNextNotificationChanged), GetSelf(), forced, authority));
OnForceNextNotificationChanged(GetSelf(), forced, authority);
}

View File

@ -199,8 +199,7 @@ void Service::AcknowledgeProblem(const String& author, const String& comment, Ac
OnNotificationsRequested(GetSelf(), NotificationAcknowledgement, GetLastCheckResult(), author, comment);
boost::function<void (void)> f = boost::bind(boost::ref(Service::OnAcknowledgementSet), GetSelf(), author, comment, type, expiry, authority);
Utility::QueueAsyncCallback(f);
OnAcknowledgementSet(GetSelf(), author, comment, type, expiry, authority);
}
void Service::ClearAcknowledgement(const String& authority)
@ -210,7 +209,7 @@ void Service::ClearAcknowledgement(const String& authority)
SetAcknowledgementRaw(AcknowledgementNone);
SetAcknowledgementExpiry(0);
Utility::QueueAsyncCallback(boost::bind(boost::ref(OnAcknowledgementCleared), GetSelf(), authority));
OnAcknowledgementCleared(GetSelf(), authority);
}
std::set<Host::Ptr> Service::GetParentHosts(void) const