Service::OnAcknowledgementSet.connect(boost::bind(&ClusterComponent::AcknowledgementSetHandler, this, _1, _2, _3, _4, _5, _6));
Service::OnAcknowledgementCleared.connect(boost::bind(&ClusterComponent::AcknowledgementClearedHandler, this, _1, _2));
- Endpoint::OnMessageReceived.connect(boost::bind(&ClusterComponent::MessageHandler, this, _1, _2));
+ Endpoint::OnMessageReceived.connect(boost::bind(&ClusterComponent::AsyncMessageHandler, this, _1, _2));
BOOST_FOREACH(const DynamicType::Ptr& type, DynamicType::GetTypes()) {
BOOST_FOREACH(const DynamicObject::Ptr& object, type->GetObjects()) {
Utility::QueueAsyncCallback(boost::bind(&ClusterComponent::NewClientHandler, this, client, TlsRoleClient));
}
-void ClusterComponent::RelayMessage(const Endpoint::Ptr& source, const Dictionary::Ptr& message, bool persistent)
+void ClusterComponent::AsyncRelayMessage(const Endpoint::Ptr& source, const Dictionary::Ptr& message, bool persistent)
{
- m_RelayQueue.Enqueue(boost::bind(&ClusterComponent::RealRelayMessage, this, source, message, persistent));
+ m_RelayQueue.Enqueue(boost::bind(&ClusterComponent::RelayMessage, this, source, message, persistent));
}
void ClusterComponent::PersistMessage(const Endpoint::Ptr& source, const Dictionary::Ptr& message)
}
}
-void ClusterComponent::RealRelayMessage(const Endpoint::Ptr& source, const Dictionary::Ptr& message, bool persistent)
+void ClusterComponent::RelayMessage(const Endpoint::Ptr& source, const Dictionary::Ptr& message, bool persistent)
{
double ts = Utility::GetTime();
message->Set("ts", ts);
Endpoint::GetByName(GetIdentity())->SetFeatures(features);
- RelayMessage(Endpoint::Ptr(), message, false);
+ AsyncRelayMessage(Endpoint::Ptr(), message, false);
{
ObjectLock olock(this);
SetSecurityInfo(message, service, DomainPrivRead);
- RelayMessage(Endpoint::Ptr(), message, true);
+ AsyncRelayMessage(Endpoint::Ptr(), message, true);
}
void ClusterComponent::NextCheckChangedHandler(const Service::Ptr& service, double nextCheck, const String& authority)
SetSecurityInfo(message, service, DomainPrivRead);
- RelayMessage(Endpoint::Ptr(), message, true);
+ AsyncRelayMessage(Endpoint::Ptr(), message, true);
}
void ClusterComponent::NextNotificationChangedHandler(const Notification::Ptr& notification, double nextNotification, const String& authority)
SetSecurityInfo(message, notification->GetService(), DomainPrivRead);
- RelayMessage(Endpoint::Ptr(), message, true);
+ AsyncRelayMessage(Endpoint::Ptr(), message, true);
}
void ClusterComponent::ForceNextCheckChangedHandler(const Service::Ptr& service, bool forced, const String& authority)
SetSecurityInfo(message, service, DomainPrivRead);
- RelayMessage(Endpoint::Ptr(), message, true);
+ AsyncRelayMessage(Endpoint::Ptr(), message, true);
}
void ClusterComponent::ForceNextNotificationChangedHandler(const Service::Ptr& service, bool forced, const String& authority)
SetSecurityInfo(message, service, DomainPrivRead);
- RelayMessage(Endpoint::Ptr(), message, true);
+ AsyncRelayMessage(Endpoint::Ptr(), message, true);
}
void ClusterComponent::EnableActiveChecksChangedHandler(const Service::Ptr& service, bool enabled, const String& authority)
SetSecurityInfo(message, service, DomainPrivRead);
- RelayMessage(Endpoint::Ptr(), message, true);
+ AsyncRelayMessage(Endpoint::Ptr(), message, true);
}
void ClusterComponent::EnablePassiveChecksChangedHandler(const Service::Ptr& service, bool enabled, const String& authority)
SetSecurityInfo(message, service, DomainPrivRead);
- RelayMessage(Endpoint::Ptr(), message, true);
+ AsyncRelayMessage(Endpoint::Ptr(), message, true);
}
void ClusterComponent::EnableNotificationsChangedHandler(const Service::Ptr& service, bool enabled, const String& authority)
SetSecurityInfo(message, service, DomainPrivRead);
- RelayMessage(Endpoint::Ptr(), message, true);
+ AsyncRelayMessage(Endpoint::Ptr(), message, true);
}
void ClusterComponent::EnableFlappingChangedHandler(const Service::Ptr& service, bool enabled, const String& authority)
SetSecurityInfo(message, service, DomainPrivRead);
- RelayMessage(Endpoint::Ptr(), message, true);
+ AsyncRelayMessage(Endpoint::Ptr(), message, true);
}
void ClusterComponent::CommentAddedHandler(const Service::Ptr& service, const Dictionary::Ptr& comment, const String& authority)
SetSecurityInfo(message, service, DomainPrivRead);
- RelayMessage(Endpoint::Ptr(), message, true);
+ AsyncRelayMessage(Endpoint::Ptr(), message, true);
}
void ClusterComponent::CommentRemovedHandler(const Service::Ptr& service, const Dictionary::Ptr& comment, const String& authority)
SetSecurityInfo(message, service, DomainPrivRead);
- RelayMessage(Endpoint::Ptr(), message, true);
+ AsyncRelayMessage(Endpoint::Ptr(), message, true);
}
void ClusterComponent::DowntimeAddedHandler(const Service::Ptr& service, const Dictionary::Ptr& downtime, const String& authority)
SetSecurityInfo(message, service, DomainPrivRead);
- RelayMessage(Endpoint::Ptr(), message, true);
+ AsyncRelayMessage(Endpoint::Ptr(), message, true);
}
void ClusterComponent::DowntimeRemovedHandler(const Service::Ptr& service, const Dictionary::Ptr& downtime, const String& authority)
SetSecurityInfo(message, service, DomainPrivRead);
- RelayMessage(Endpoint::Ptr(), message, true);
+ AsyncRelayMessage(Endpoint::Ptr(), message, true);
}
void ClusterComponent::AcknowledgementSetHandler(const Service::Ptr& service, const String& author, const String& comment, AcknowledgementType type, double expiry, const String& authority)
SetSecurityInfo(message, service, DomainPrivRead);
- RelayMessage(Endpoint::Ptr(), message, true);
+ AsyncRelayMessage(Endpoint::Ptr(), message, true);
}
void ClusterComponent::AcknowledgementClearedHandler(const Service::Ptr& service, const String& authority)
SetSecurityInfo(message, service, DomainPrivRead);
- RelayMessage(Endpoint::Ptr(), message, true);
+ AsyncRelayMessage(Endpoint::Ptr(), message, true);
}
-void ClusterComponent::MessageHandler(const Endpoint::Ptr& sender, const Dictionary::Ptr& message)
+void ClusterComponent::AsyncMessageHandler(const Endpoint::Ptr& sender, const Dictionary::Ptr& message)
{
- m_MessageQueue.Enqueue(boost::bind(&ClusterComponent::RealMessageHandler, this, sender, message));
+ m_MessageQueue.Enqueue(boost::bind(&ClusterComponent::MessageHandler, this, sender, message));
}
-void ClusterComponent::RealMessageHandler(const Endpoint::Ptr& sender, const Dictionary::Ptr& message)
+void ClusterComponent::MessageHandler(const Endpoint::Ptr& sender, const Dictionary::Ptr& message)
{
sender->SetSeen(Utility::GetTime());
endpoint->SetFeatures(params->Get("features"));
}
- RelayMessage(sender, message, true);
+ AsyncRelayMessage(sender, message, true);
} else if (message->Get("method") == "cluster::CheckResult") {
if (!params)
return;
service->ProcessCheckResult(cr, sender->GetName());
- RelayMessage(sender, message, true);
+ AsyncRelayMessage(sender, message, true);
} else if (message->Get("method") == "cluster::SetNextCheck") {
if (!params)
return;
service->SetNextCheck(nextCheck, sender->GetName());
- RelayMessage(sender, message, true);
+ AsyncRelayMessage(sender, message, true);
} else if (message->Get("method") == "cluster::SetForceNextCheck") {
if (!params)
return;
service->SetForceNextCheck(forced, sender->GetName());
- RelayMessage(sender, message, true);
+ AsyncRelayMessage(sender, message, true);
} else if (message->Get("method") == "cluster::SetForceNextNotification") {
if (!params)
return;
service->SetForceNextNotification(forced, sender->GetName());
- RelayMessage(sender, message, true);
+ AsyncRelayMessage(sender, message, true);
} else if (message->Get("method") == "cluster::SetEnableActiveChecks") {
if (!params)
return;
service->SetEnableActiveChecks(enabled, sender->GetName());
- RelayMessage(sender, message, true);
+ AsyncRelayMessage(sender, message, true);
} else if (message->Get("method") == "cluster::SetEnablePassiveChecks") {
if (!params)
return;
service->SetEnablePassiveChecks(enabled, sender->GetName());
- RelayMessage(sender, message, true);
+ AsyncRelayMessage(sender, message, true);
} else if (message->Get("method") == "cluster::SetEnableNotifications") {
if (!params)
return;
service->SetEnableNotifications(enabled, sender->GetName());
- RelayMessage(sender, message, true);
+ AsyncRelayMessage(sender, message, true);
} else if (message->Get("method") == "cluster::SetEnableFlapping") {
if (!params)
return;
service->SetEnableFlapping(enabled, sender->GetName());
- RelayMessage(sender, message, true);
+ AsyncRelayMessage(sender, message, true);
} else if (message->Get("method") == "cluster::SetNextNotification") {
if (!params)
return;
notification->SetNextNotification(nextNotification, sender->GetName());
- RelayMessage(sender, message, true);
+ AsyncRelayMessage(sender, message, true);
} else if (message->Get("method") == "cluster::AddComment") {
if (!params)
return;
service->AddComment(static_cast<CommentType>(type), comment->Get("author"),
comment->Get("text"), comment->Get("expire_time"), comment->Get("id"), sender->GetName());
- RelayMessage(sender, message, true);
+ AsyncRelayMessage(sender, message, true);
} else if (message->Get("method") == "cluster::RemoveComment") {
if (!params)
return;
service->RemoveComment(id, sender->GetName());
- RelayMessage(sender, message, true);
+ AsyncRelayMessage(sender, message, true);
} else if (message->Get("method") == "cluster::AddDowntime") {
if (!params)
return;
downtime->Get("fixed"), downtime->Get("triggered_by"),
downtime->Get("duration"), downtime->Get("id"), sender->GetName());
- RelayMessage(sender, message, true);
+ AsyncRelayMessage(sender, message, true);
} else if (message->Get("method") == "cluster::RemoveDowntime") {
if (!params)
return;
service->RemoveDowntime(id, false, sender->GetName());
- RelayMessage(sender, message, true);
+ AsyncRelayMessage(sender, message, true);
} else if (message->Get("method") == "cluster::SetAcknowledgement") {
if (!params)
return;
service->AcknowledgeProblem(author, comment, static_cast<AcknowledgementType>(type), expiry, sender->GetName());
- RelayMessage(sender, message, true);
+ AsyncRelayMessage(sender, message, true);
} else if (message->Get("method") == "cluster::ClearAcknowledgement") {
if (!params)
return;
service->ClearAcknowledgement(sender->GetName());
}
- RelayMessage(sender, message, true);
+ AsyncRelayMessage(sender, message, true);
} else if (message->Get("method") == "cluster::SetLogPosition") {
if (!params)
return;
Application::RequestRestart();
}
- RelayMessage(sender, message, true);
+ AsyncRelayMessage(sender, message, true);
}
}