From 379b2b37010cff9343cb9cc468c5c0b17a37ff7e Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sat, 27 Jul 2013 18:31:10 +0200 Subject: Create a common base class event_t for packet_t and scheduled_t --- mmss/gmrf.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'mmss/gmrf.cpp') diff --git a/mmss/gmrf.cpp b/mmss/gmrf.cpp index 3a8a224..9cda413 100644 --- a/mmss/gmrf.cpp +++ b/mmss/gmrf.cpp @@ -45,8 +45,7 @@ size_t gmrf_iface_get_mtu(gmrf_t *gmrf, gmrf_iface_t *iface) { } bool gmrf_iface_send(gmrf_t *gmrf, gmrf_iface_t *iface, const void *data, size_t len, const gmrf_addr_t *dest) { - auto src_iface = iface->iface.lock(); - assert(src_iface); + auto src_iface = iface->shared_from_this(); for (auto dest_iface : src_iface->net->interfaces) { if (gmrf_addr_equal(&dest_iface->address, dest)) { @@ -59,8 +58,7 @@ bool gmrf_iface_send(gmrf_t *gmrf, gmrf_iface_t *iface, const void *data, size_t } bool gmrf_iface_send_bc(gmrf_t *gmrf, gmrf_iface_t *iface, const void *data, size_t len) { - auto src_iface = iface->iface.lock(); - assert(src_iface); + auto src_iface = iface->shared_from_this(); for (auto dest_iface : src_iface->net->interfaces) { if (dest_iface != src_iface) @@ -71,8 +69,7 @@ bool gmrf_iface_send_bc(gmrf_t *gmrf, gmrf_iface_t *iface, const void *data, siz } void gmrf_schedule(gmrf_t *gmrf, gmrf_scheduled_func f, void *arg, unsigned delay) { - auto node = gmrf->node.lock(); - assert(node); + auto node = gmrf->shared_from_this(); std::shared_ptr scheduled = std::make_shared(); @@ -80,7 +77,7 @@ void gmrf_schedule(gmrf_t *gmrf, gmrf_scheduled_func f, void *arg, unsigned dela scheduled->f = f; scheduled->arg = arg; - gmrf->mmss->scheduled_queue.put(std::move(scheduled), gmrf->mmss->now()+delay); + gmrf->mmss->event_queue.put(std::move(scheduled), gmrf->mmss->now()+delay); } gmrf_time_t gmrf_now(gmrf_t *gmrf) { -- cgit v1.2.3