summaryrefslogtreecommitdiff
path: root/src/service/ocsp-service.cpp
diff options
context:
space:
mode:
authorsangwan.kwon <sangwan.kwon@samsung.com>2016-05-12 15:01:46 +0900
committersangwan kwon <sangwan.kwon@samsung.com>2016-05-12 00:29:53 -0700
commit07c9adaa508885cd3d325e295469466386f62a69 (patch)
tree8b38b206c615cee7d881f6099343af6314c8c121 /src/service/ocsp-service.cpp
parenta409298a53d37fe189ec44896b0dd181edd56c12 (diff)
downloadcert-checker-07c9adaa508885cd3d325e295469466386f62a69.tar.gz
cert-checker-07c9adaa508885cd3d325e295469466386f62a69.tar.bz2
cert-checker-07c9adaa508885cd3d325e295469466386f62a69.zip
Detach looping logic from setup
[AS-IS] * running g_main_loop is in setup * so, it can hard to test [TO-BE] * seperate setup and looping Change-Id: I591da58b93895e46adbd1262b11e0d7dd545c7c6
Diffstat (limited to 'src/service/ocsp-service.cpp')
-rw-r--r--src/service/ocsp-service.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/service/ocsp-service.cpp b/src/service/ocsp-service.cpp
index 63a3c0a..a028048 100644
--- a/src/service/ocsp-service.cpp
+++ b/src/service/ocsp-service.cpp
@@ -42,8 +42,8 @@ void OcspService::onMessageProcess(const ConnShPtr &connection)
auto in = connection->receive();
connection->send(this->process(connection, in));
- if (m_logic.setup() != NO_ERROR)
- throw std::logic_error("Cannot setup logic.");
+ // Run gmainloop for event listening.
+ m_logic.run();
LogDebug("Finish processing message on ocsp service.");
}
@@ -59,7 +59,12 @@ RawBuffer OcspService::process(const ConnShPtr &, RawBuffer &data)
LogInfo("Request dispatch on ocsp-service.");
switch (cid) {
case CommandId::CC_OCSP_SYN: {
- LogDebug("Success to get SYN cmd. reply ACK cmd.");
+ if (m_logic.setup() != NO_ERROR) {
+ BinaryQueue::Serialize(CommandId::CC_OCSP_ERR).pop();
+ throw std::logic_error("Cannot setup logic.");
+ }
+
+ LogDebug("Success to receive SYN and setup. reply ACK cmd.");
return BinaryQueue::Serialize(CommandId::CC_OCSP_ACK).pop();
}
case CommandId::CC_OCSP_ACK: