diff options
author | sangwan.kwon <sangwan.kwon@samsung.com> | 2016-05-12 15:01:46 +0900 |
---|---|---|
committer | sangwan kwon <sangwan.kwon@samsung.com> | 2016-05-12 00:29:53 -0700 |
commit | 07c9adaa508885cd3d325e295469466386f62a69 (patch) | |
tree | 8b38b206c615cee7d881f6099343af6314c8c121 /src/service/ocsp-service.cpp | |
parent | a409298a53d37fe189ec44896b0dd181edd56c12 (diff) | |
download | cert-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.cpp | 11 |
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: |