[ndnSIM] security: Avoid use of io_service::dispatch, use Scheduler instead

Scheduler is fully redirected to native NS-3 scheduler and is safe to use.
Use of `io_service` directly can have an undefined behavior within ndnSIM.

Change-Id: I379e7033b772d3b43a80549110a57950124aafc1
diff --git a/src/security/certificate-cache-ttl.cpp b/src/security/certificate-cache-ttl.cpp
index 2ab13c9..616fe36 100644
--- a/src/security/certificate-cache-ttl.cpp
+++ b/src/security/certificate-cache-ttl.cpp
@@ -28,8 +28,7 @@
 CertificateCacheTtl::CertificateCacheTtl(boost::asio::io_service& io,
                                          const time::seconds& defaultTtl/* = time::seconds(3600)*/)
   : m_defaultTtl(defaultTtl)
-  , m_io(io)
-  , m_scheduler(m_io)
+  , m_scheduler(io)
 {
 }
 
@@ -40,7 +39,7 @@
 void
 CertificateCacheTtl::insertCertificate(shared_ptr<const IdentityCertificate> certificate)
 {
-  m_io.dispatch([this, certificate] { this->insert(certificate); });
+  m_scheduler.scheduleEvent(time::seconds(0), [this, certificate] { this->insert(certificate); });
 }
 
 shared_ptr<const IdentityCertificate>
@@ -56,7 +55,7 @@
 void
 CertificateCacheTtl::reset()
 {
-  m_io.dispatch([this] { this->removeAll(); });
+  m_scheduler.scheduleEvent(time::seconds(0), [this] { this->removeAll(); });
 }
 
 size_t
diff --git a/src/security/certificate-cache-ttl.hpp b/src/security/certificate-cache-ttl.hpp
index 55cbc5a..8721a1d 100644
--- a/src/security/certificate-cache-ttl.hpp
+++ b/src/security/certificate-cache-ttl.hpp
@@ -73,7 +73,6 @@
 
   time::seconds m_defaultTtl;
   Cache m_cache;
-  boost::asio::io_service& m_io;
   Scheduler m_scheduler;
 };