diff --git a/libuavcan/include/uavcan/marshal/scalar_codec.hpp b/libuavcan/include/uavcan/marshal/scalar_codec.hpp index 990cf5fa0d..8df53da8b3 100644 --- a/libuavcan/include/uavcan/marshal/scalar_codec.hpp +++ b/libuavcan/include/uavcan/marshal/scalar_codec.hpp @@ -6,7 +6,6 @@ #include #include -#include #include #include #include diff --git a/libuavcan/include/uavcan/transport/outgoing_transfer_registry.hpp b/libuavcan/include/uavcan/transport/outgoing_transfer_registry.hpp index 1bee6db283..cd4360ce47 100644 --- a/libuavcan/include/uavcan/transport/outgoing_transfer_registry.hpp +++ b/libuavcan/include/uavcan/transport/outgoing_transfer_registry.hpp @@ -5,7 +5,7 @@ #pragma once #include -#include +#include #include #include #include @@ -34,8 +34,8 @@ public: , destination_node_id_(destination_node_id) { assert((transfer_type == TransferTypeMessageBroadcast) == destination_node_id.isBroadcast()); - - /* Service response transfers must use the same Transfer ID as matching service request transfer, + /* + * Service response transfers must use the same Transfer ID as matching service request transfer, * so this registry is not applicable for service response transfers at all. */ assert(transfer_type != TransferTypeServiceResponse); @@ -52,14 +52,7 @@ public: (destination_node_id_ == rhs.destination_node_id_); } - std::string toString() const - { - std::ostringstream os; - os << "dtid=" << int(data_type_id_.get()) - << " tt=" << int(transfer_type_) - << " dnid=" << int(destination_node_id_.get()); - return os.str(); - } + std::string toString() const; }; UAVCAN_PACKED_END diff --git a/libuavcan/src/transport/uc_outgoing_transfer_registry.cpp b/libuavcan/src/transport/uc_outgoing_transfer_registry.cpp new file mode 100644 index 0000000000..5940579c51 --- /dev/null +++ b/libuavcan/src/transport/uc_outgoing_transfer_registry.cpp @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2014 Pavel Kirienko + */ + +#include +#include + +namespace uavcan +{ +/* + * OutgoingTransferRegistryKey + */ +std::string OutgoingTransferRegistryKey::toString() const +{ + using namespace std; + char buf[40]; + (void)snprintf(buf, sizeof(buf), "dtid=%u tt=%u dnid=%u", + int(data_type_id_.get()), int(transfer_type_), int(destination_node_id_.get())); + return std::string(buf); +} + +}