aboutsummaryrefslogtreecommitdiffstats
path: root/libtransport/src/hicn/transport/interfaces/socket_consumer.cc
diff options
context:
space:
mode:
authorAlberto Compagno <acompagn+fdio@cisco.com>2019-10-23 15:41:59 +0200
committerAlberto Compagno <acompagn+fdio@cisco.com>2019-10-31 16:07:23 +0100
commit2fcb8ce4599ab94178aae1ac9f9ff800fd25cd0a (patch)
tree4001a68a9adfabaec91698249e6fe9e9788e938b /libtransport/src/hicn/transport/interfaces/socket_consumer.cc
parentaf6553e2bea9dc7210fa11c7b7b0473e0c59de3d (diff)
[HICN-354] Fixed bug on raaqm when reassemblying packets
Moved rescheduleOnIOService in the header file to allow its usage together with inheritance Change-Id: I15e4b92535e1478d0dd09828d2d13e2b77e000b3 Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
Diffstat (limited to 'libtransport/src/hicn/transport/interfaces/socket_consumer.cc')
-rw-r--r--libtransport/src/hicn/transport/interfaces/socket_consumer.cc31
1 files changed, 0 insertions, 31 deletions
diff --git a/libtransport/src/hicn/transport/interfaces/socket_consumer.cc b/libtransport/src/hicn/transport/interfaces/socket_consumer.cc
index 14cd27b..64b6010 100644
--- a/libtransport/src/hicn/transport/interfaces/socket_consumer.cc
+++ b/libtransport/src/hicn/transport/interfaces/socket_consumer.cc
@@ -121,37 +121,6 @@ asio::io_service &ConsumerSocket::getIoService() {
return portal_->getIoService();
}
-// If the thread calling lambda_func is not the same of io_service, this
-// function reschedule the function on it
-template <typename Lambda, typename arg2>
-int ConsumerSocket::rescheduleOnIOService(int socket_option_key,
- arg2 socket_option_value,
- Lambda lambda_func) {
- // To enforce type check
- std::function<int(int, arg2)> func = lambda_func;
- int result = SOCKET_OPTION_SET;
- if (transport_protocol_->isRunning()) {
- std::mutex mtx;
- /* Condition variable for the wait */
- std::condition_variable cv;
- bool done = false;
- io_service_.dispatch([&socket_option_key, &socket_option_value, &mtx,
- &result, &done, &func]() {
- std::unique_lock<std::mutex> lck(mtx);
- done = true;
- result = func(socket_option_key, socket_option_value);
- });
- std::unique_lock<std::mutex> lck(mtx);
- if (!done) {
- cv.wait(lck);
- }
- } else {
- result = func(socket_option_key, socket_option_value);
- }
-
- return result;
-}
-
int ConsumerSocket::setSocketOption(int socket_option_key,
ReadCallback *socket_option_value) {
// Reschedule the function on the io_service to avoid race condition in case