From e294afe7b4fba0d2bfcc067408a1f1811858efa0 Mon Sep 17 00:00:00 2001 From: Michael Friedrich Date: Thu, 27 Sep 2012 18:39:13 +0200 Subject: [PATCH] compatido: general cleanup --- components/compatido/compatidocomponent.cpp | 55 +++++++-------------- components/compatido/compatidocomponent.h | 19 +++---- components/compatido/idosocket.cpp | 18 ------- 3 files changed, 27 insertions(+), 65 deletions(-) diff --git a/components/compatido/compatidocomponent.cpp b/components/compatido/compatidocomponent.cpp index 6825c1ecb..8e21692fe 100644 --- a/components/compatido/compatidocomponent.cpp +++ b/components/compatido/compatidocomponent.cpp @@ -45,13 +45,6 @@ void CompatIdoComponent::Start(void) * - only icinga idoutils 1.8 * - only "retained" config * - instance_name is i2-default - * TODO - * we should have configs for - * - data_processing_options - * - config_output_options - 0..orig, 1..retained (chose retained for icinga-web preferred) - * - INSTANCE_NAME ? - * - update interval ? - * - tcp socket+port */ m_StatusTimer = boost::make_shared(); m_StatusTimer->SetInterval(StatusTimerInterval); @@ -72,7 +65,7 @@ void CompatIdoComponent::Start(void) m_ProgramStatusTimer->Reschedule(0); /* - * open ido socket once, send the updates via timer then + * open ido socket once */ OpenSink("127.0.0.1", "5668"); SendHello("i2-default"); @@ -83,8 +76,6 @@ void CompatIdoComponent::Start(void) */ void CompatIdoComponent::Stop(void) { - - //FIXME cleanly close ido socket GoodByeSink(); CloseSink(); } @@ -92,45 +83,31 @@ void CompatIdoComponent::Stop(void) /* TODO * subscribe to all status updates and checkresults and dump them * should remove the periodic statusdata dump + * subscribe to config update events, and send insert/update/delete for configs to ido2db */ /** * Periodically dumps status information - * - * @param - Event arguments for the timer. */ void CompatIdoComponent::StatusTimerHandler(void) { Logger::Write(LogInformation, "compatido", "Writing compat ido status information"); - /* - * TODO - * - fetch status data, dump it periodically - * - subscribe to check events and status updates, dump it - */ + DumpStatusData(); } /** * Periodically dumps config information - * - * @param - Event arguments for the timer. */ void CompatIdoComponent::ConfigTimerHandler(void) { Logger::Write(LogInformation, "compatido", "Writing compat ido config information"); - /* - * TODO - * - fetch config, dump it - * - subscribe to config update events, and send insert/update/delete for configs to ido2db - */ DumpConfigObjects(); } /** * Periodically dumps program status information - * - * @param - Event arguments for the timer. */ void CompatIdoComponent::ProgramStatusTimerHandler(void) { @@ -140,9 +117,8 @@ void CompatIdoComponent::ProgramStatusTimerHandler(void) } - /** - * opens a tcp connection to the socket + * opens a tcp connection to the ido socket */ void CompatIdoComponent::OpenSink(String node, String service) { @@ -152,7 +128,7 @@ void CompatIdoComponent::OpenSink(String node, String service) } /** - * sends hello msg to ido + * sends hello msg to ido2b */ void CompatIdoComponent::SendHello(String instancename) { @@ -180,7 +156,7 @@ void CompatIdoComponent::SendHello(String instancename) /** * sends goodbye msg to ido */ -void CompatIdoComponent::GoodByeSink() +void CompatIdoComponent::GoodByeSink(void) { time_t now; time(&now); @@ -196,9 +172,9 @@ void CompatIdoComponent::GoodByeSink() } /** - * closes sink + * closes ido socket */ -void CompatIdoComponent::CloseSink() +void CompatIdoComponent::CloseSink(void) { m_IdoSocket->Close(); } @@ -206,7 +182,7 @@ void CompatIdoComponent::CloseSink() /** * sends config dump start signal to ido */ -void CompatIdoComponent::StartConfigDump() +void CompatIdoComponent::StartConfigDump(void) { struct timeval now; gettimeofday(&now, NULL); @@ -226,7 +202,7 @@ void CompatIdoComponent::StartConfigDump() /** * sends config dump end signal to ido */ -void CompatIdoComponent::EndConfigDump() +void CompatIdoComponent::EndConfigDump(void) { struct timeval now; gettimeofday(&now, NULL); @@ -243,6 +219,8 @@ void CompatIdoComponent::EndConfigDump() /** * dump host config to ido + * + * @param host Pointer to the Host object */ void CompatIdoComponent::DumpHostObject(const Host::Ptr& host) { @@ -317,13 +295,13 @@ void CompatIdoComponent::DumpHostObject(const Host::Ptr& host) << 262 << "=" << "i2_customvar" << ":" << 1 << ":" << "i2_custom_var_mod" << "\n" /* customvariable */ << 999 << "\n\n"; /* enddata */ - - m_IdoSocket->SendMessage(message.str()); } /** * dump host status to ido + * + * @param host Pointer to Host object */ void CompatIdoComponent::DumpHostStatus(const Host::Ptr& host) { @@ -399,6 +377,8 @@ void CompatIdoComponent::DumpHostStatus(const Host::Ptr& host) /** * dump service config to ido + * + * @param service Pointer to Service object */ void CompatIdoComponent::DumpServiceObject(const Service::Ptr& service) { @@ -470,6 +450,8 @@ void CompatIdoComponent::DumpServiceObject(const Service::Ptr& service) /** * dump service status to ido + * + * @param service Pointer to Service object */ void CompatIdoComponent::DumpServiceStatus(const Service::Ptr& service) { @@ -479,6 +461,7 @@ void CompatIdoComponent::DumpServiceStatus(const Service::Ptr& service) double execution_start = -1, execution_end = -1; Dictionary::Ptr cr = service->GetLastCheckResult(); + if (cr) { output = cr->Get("output"); schedule_start = cr->Get("schedule_start"); diff --git a/components/compatido/compatidocomponent.h b/components/compatido/compatidocomponent.h index c2a246ad6..f093eddbd 100644 --- a/components/compatido/compatidocomponent.h +++ b/components/compatido/compatidocomponent.h @@ -39,12 +39,16 @@ private: Timer::Ptr m_ProgramStatusTimer; IdoSocket::Ptr m_IdoSocket; + void ConfigTimerHandler(void); + void StatusTimerHandler(void); + void ProgramStatusTimerHandler(void); + void OpenSink(String node, String service ); void SendHello(String instancename); - void GoodByeSink(); - void CloseSink(); - void StartConfigDump(); - void EndConfigDump(); + void GoodByeSink(void); + void CloseSink(void); + void StartConfigDump(void); + void EndConfigDump(void); void DumpConfigObjects(void); void DumpHostObject(const Host::Ptr& host); @@ -62,13 +66,6 @@ private: msg << type << "=" << *it << "\n"; } } - - //void DemoTimerHandler(void); - //void HelloWorldRequestHandler(const Endpoint::Ptr& sender, const RequestMessage& request); - - void ConfigTimerHandler(void); - void StatusTimerHandler(void); - void ProgramStatusTimerHandler(void); }; } diff --git a/components/compatido/idosocket.cpp b/components/compatido/idosocket.cpp index b09e73cda..6e8102a7c 100644 --- a/components/compatido/idosocket.cpp +++ b/components/compatido/idosocket.cpp @@ -60,24 +60,6 @@ void IdoSocket::SendMessage(const String& message) void IdoSocket::DataAvailableHandler(void) { return; -/* - String sString; - - while (NetString::ReadStringFromIOQueue(this, &sString)) { - //std::cerr << "<< " << jsonString << std::endl; - - try { - Value value = Value::Deserialize(jsonString); - - if (!value.IsObjectType()) - throw_exception(invalid_argument("JSON-RPC message must be a dictionary.")); - - OnNewMessage(GetSelf(), MessagePart(value)); - } catch (const exception& ex) { - Logger::Write(LogCritical, "jsonrpc", "Exception while processing message from JSON-RPC client: " + String(ex.what())); - } - } -*/ } /** -- 2.40.0