From cc1a4b9493e0e6996e4138f65630b66199ee088a Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Fri, 26 Jul 2013 20:35:31 +0200 Subject: Miscellanous fixes --- mmss/iface.cpp | 6 +++--- mmss/mmss.cpp | 4 ++-- mmss/mmss.hpp | 8 ++++---- mmss/queue.hpp | 3 ++- mmss/schedule.cpp | 2 +- mmss/types.hpp | 3 +++ 6 files changed, 15 insertions(+), 11 deletions(-) diff --git a/mmss/iface.cpp b/mmss/iface.cpp index 602daa2..c011255 100644 --- a/mmss/iface.cpp +++ b/mmss/iface.cpp @@ -31,7 +31,7 @@ namespace MMSS { -void dispatch(std::shared_ptr packet) { +void dispatch(const std::shared_ptr &packet) { auto source = packet->source.lock(); auto dest = packet->dest.lock(); if (!source || !dest) @@ -44,7 +44,7 @@ void dispatch(std::shared_ptr packet) { node->proto->handle_packet(node.get(), node->ctx, dest.get(), &source->address, packet->data.get(), packet->len); } -void add_iface(std::shared_ptr node, std::shared_ptr net, const std::string &name, const gmrf_addr_t *address) { +void add_iface(const std::shared_ptr &node, const std::shared_ptr &net, const std::string &name, const gmrf_addr_t *address) { std::shared_ptr iface = iface_t::create(); iface->name = name; @@ -59,7 +59,7 @@ void add_iface(std::shared_ptr node, std::shared_ptr net, con node->proto->add_iface(node.get(), node->ctx, iface.get()); } -void enqueue(context_t *mmss, std::shared_ptr source, std::shared_ptr dest, const void *data, size_t len) { +void enqueue(context_t *mmss, const std::shared_ptr &source, const std::shared_ptr &dest, const void *data, size_t len) { std::shared_ptr packet = std::make_shared(); packet->sent = mmss->now; diff --git a/mmss/mmss.cpp b/mmss/mmss.cpp index 1d918e4..548425f 100644 --- a/mmss/mmss.cpp +++ b/mmss/mmss.cpp @@ -74,8 +74,8 @@ void main(int argc, char *argv[]) { std::shared_ptr net0 = std::make_shared(); std::shared_ptr net1 = std::make_shared(); - *net0 = (network_t){ .mtu = 1500 }; - *net1 = (network_t){ .mtu = 1500 }; + net0->mtu = 1500; + net1->mtu = 1500; std::shared_ptr node1 = node_t::create(&mmss, "node1", 1, proto); std::shared_ptr node2 = node_t::create(&mmss, "node2", 2, proto); diff --git a/mmss/mmss.hpp b/mmss/mmss.hpp index 4045c40..f131ec9 100644 --- a/mmss/mmss.hpp +++ b/mmss/mmss.hpp @@ -138,13 +138,13 @@ const protocol_t* load_protocol(const char *module); bool read_config(context_t *mmss, config_t *conf, const char *filename); -void add_iface(std::shared_ptr node, std::shared_ptr net, const std::string &name, const gmrf_addr_t *address); +void add_iface(const std::shared_ptr &node, const std::shared_ptr &net, const std::string &name, const gmrf_addr_t *address); uint64_t now(const context_t *mmss); -void dispatch(std::shared_ptr packet); -void run_scheduled(std::shared_ptr scheduled); -void enqueue(context_t *mmss, std::shared_ptr source, std::shared_ptr dest, const void *data, size_t len); +void dispatch(const std::shared_ptr &packet); +void run_scheduled(const std::shared_ptr &scheduled); +void enqueue(context_t *mmss, const std::shared_ptr &source, const std::shared_ptr &dest, const void *data, size_t len); void logf(context_t *mmss, int priority, const char *format, ...); diff --git a/mmss/queue.hpp b/mmss/queue.hpp index 0b79ed8..2cdb2a1 100644 --- a/mmss/queue.hpp +++ b/mmss/queue.hpp @@ -29,6 +29,7 @@ #include "types.hpp" +#include #include #include @@ -48,7 +49,7 @@ template class timeout_queue_t { context_t *mmss; - std::priority_queue queue; + std::priority_queue> queue; public: timeout_queue_t(context_t *mmss0) : mmss(mmss0) {} diff --git a/mmss/schedule.cpp b/mmss/schedule.cpp index 7e6247e..77d766d 100644 --- a/mmss/schedule.cpp +++ b/mmss/schedule.cpp @@ -29,7 +29,7 @@ namespace MMSS { -void run_scheduled(std::shared_ptr scheduled) { +void run_scheduled(const std::shared_ptr &scheduled) { scheduled->f(scheduled->node.get(), scheduled->node->ctx, scheduled->arg); } diff --git a/mmss/types.hpp b/mmss/types.hpp index 3daa486..4a145ae 100644 --- a/mmss/types.hpp +++ b/mmss/types.hpp @@ -51,6 +51,9 @@ typedef ::mmss_protocol_t protocol_t; typedef ::gmrf_t node_t; typedef ::gmrf_iface_t iface_t; + +uint64_t now(const context_t *mmss); + } #endif /* _GMRF_MMSS_TYPES_HPP_ */ -- cgit v1.2.3