From efabc7a40d74904385d9dd55eb0312aeb538d4ed Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sat, 27 Jul 2013 20:34:29 +0200 Subject: Encapsulate node and interface structures --- mmss/event.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'mmss/event.cpp') diff --git a/mmss/event.cpp b/mmss/event.cpp index 6326e98..5246e87 100644 --- a/mmss/event.cpp +++ b/mmss/event.cpp @@ -25,23 +25,27 @@ #include "event.hpp" +#include "iface.hpp" #include "mmss.hpp" +#include "node.hpp" namespace MMSS { void packet_t::handle(context_t *mmss) { - auto dest_ptr = dest.lock(); - if (!dest_ptr) + auto iface = dest.lock(); + if (!iface) return; - node_t *node = dest_ptr->node; - - node->proto->handle_packet(node, node->ctx, dest_ptr.get(), &source_addr, data.get(), len); + iface->get_node()->handle_packet(iface, &source_addr, data.get(), len); } void scheduled_t::handle(context_t *mmss) { - f(node.get(), node->ctx, arg); + auto node_ptr = node.lock(); + if (!node_ptr) + return; + + node_ptr->handle_scheduled(f, arg); } } -- cgit v1.2.3