diff --git a/.clang-tidy b/.clang-tidy index f9fdf11..2776bd4 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -1,6 +1,9 @@ Checks: '-*,readability-identifier-naming' CheckOptions: - { key: readability-identifier-naming.PrivateMemberSuffix, value: "_" } + - { key: readability-identifier-naming.AggressiveDependentMemberLookup, value: true } - { key: readability-identifier-naming.ProtectedMemberSuffix, value: "_" } - { key: readability-identifier-naming.ClassCase, value: "lower_case" } - { key: readability-identifier-naming.StructCase, value: "lower_case" } + - { key: readability-identifier-naming.FunctionCase, value: "lower_case" } + - { key: readability-identifier-naming.MethodCase, value: "lower_case" } diff --git a/driver/io_unix.cpp b/driver/io_unix.cpp index 1a175c8..c0a5630 100644 --- a/driver/io_unix.cpp +++ b/driver/io_unix.cpp @@ -129,7 +129,7 @@ unix_datagram::unix_datagram(unix_event_port &event_port, int file_descriptor, : i_fd_owner{event_port, file_descriptor, fd_flags, EPOLLIN | EPOLLOUT} {} namespace { -ssize_t unixReadMsg(int fd, void *buffer, size_t length) { +ssize_t unix_read_msg(int fd, void *buffer, size_t length) { struct ::sockaddr_storage their_addr; socklen_t addr_len = sizeof(sockaddr_storage); return ::recvfrom(fd, buffer, length, 0, @@ -137,15 +137,15 @@ ssize_t unixReadMsg(int fd, void *buffer, size_t length) { &addr_len); } -ssize_t unixWriteMsg(int fd, const void *buffer, size_t length, - ::sockaddr *dest_addr, socklen_t dest_addr_len) { +ssize_t unix_write_msg(int fd, const void *buffer, size_t length, + ::sockaddr *dest_addr, socklen_t dest_addr_len) { return ::sendto(fd, buffer, length, 0, dest_addr, dest_addr_len); } } // namespace error_or unix_datagram::read(void *buffer, size_t length) { - ssize_t read_bytes = unixReadMsg(fd(), buffer, length); + ssize_t read_bytes = unix_read_msg(fd(), buffer, length); if (read_bytes > 0) { return static_cast(read_bytes); } @@ -163,8 +163,8 @@ error_or unix_datagram::write(const void *buffer, size_t length, unix_network_address &unix_dest = static_cast(dest); socket_address &sock_addr = unix_dest.unix_address(); socklen_t sock_addr_length = sock_addr.get_raw_length(); - ssize_t write_bytes = unixWriteMsg(fd(), buffer, length, - sock_addr.get_raw(), sock_addr_length); + ssize_t write_bytes = unix_write_msg(fd(), buffer, length, + sock_addr.get_raw(), sock_addr_length); if (write_bytes > 0) { return static_cast(write_bytes); } @@ -192,14 +192,14 @@ void unix_datagram::notify(uint32_t mask) { } namespace { -bool beginsWith(const std::string_view &viewed, - const std::string_view &begins) { +bool begins_with(const std::string_view &viewed, + const std::string_view &begins) { return viewed.size() >= begins.size() && viewed.compare(0, begins.size(), begins) == 0; } std::variant -translateNetworkAddressToUnixNetworkAddress(network_address &addr) { +translate_network_address_to_unix_network_address(network_address &addr) { auto addr_variant = addr.representation(); std::variant os_addr = std::visit( @@ -221,7 +221,7 @@ translateNetworkAddressToUnixNetworkAddress(network_address &addr) { return os_addr; } -unix_network_address &translateToUnixAddressRef( +unix_network_address &translate_to_unix_address_ref( std::variant &addr_variant) { return std::visit( [](auto &arg) -> unix_network_address & { @@ -241,9 +241,10 @@ unix_network_address &translateToUnixAddressRef( } // namespace own unix_network::listen(network_address &addr) { - auto unix_addr_storage = translateNetworkAddressToUnixNetworkAddress(addr); + auto unix_addr_storage = + translate_network_address_to_unix_network_address(addr); unix_network_address &address = - translateToUnixAddressRef(unix_addr_storage); + translate_to_unix_address_ref(unix_addr_storage); assert(address.unix_address_size() > 0); if (address.unix_address_size() == 0) { @@ -274,9 +275,10 @@ own unix_network::listen(network_address &addr) { } conveyor> unix_network::connect(network_address &addr) { - auto unix_addr_storage = translateNetworkAddressToUnixNetworkAddress(addr); + auto unix_addr_storage = + translate_network_address_to_unix_network_address(addr); unix_network_address &address = - translateToUnixAddressRef(unix_addr_storage); + translate_to_unix_address_ref(unix_addr_storage); assert(address.unix_address_size() > 0); if (address.unix_address_size() == 0) { @@ -335,9 +337,10 @@ conveyor> unix_network::connect(network_address &addr) { } own unix_network::datagram(network_address &addr) { - auto unix_addr_storage = translateNetworkAddressToUnixNetworkAddress(addr); + auto unix_addr_storage = + translate_network_address_to_unix_network_address(addr); unix_network_address &address = - translateToUnixAddressRef(unix_addr_storage); + translate_to_unix_address_ref(unix_addr_storage); SAW_ASSERT(address.unix_address_size() > 0) { return nullptr; } @@ -380,9 +383,9 @@ conveyor> unix_network::resolve_address(const std::string &path, uint16_t port_hint) { std::string_view addr_view{path}; { - std::string_view begins_with = "unix:"; - if (beginsWith(addr_view, begins_with)) { - addr_view.remove_prefix(begins_with.size()); + std::string_view str_begins_with = "unix:"; + if (begins_with(addr_view, str_begins_with)) { + addr_view.remove_prefix(str_begins_with.size()); } } diff --git a/source/forstio/async.h b/source/forstio/async.h index 699d971..e0f2dbd 100644 --- a/source/forstio/async.h +++ b/source/forstio/async.h @@ -291,7 +291,7 @@ template conveyor_result exec_later(Func &&func); */ template conveyor> -joinConveyors(std::tuple...> &conveyors); +join_conveyors(std::tuple...> &conveyors); template class conveyor_feeder { public: @@ -460,11 +460,11 @@ public: void poll(); }; -template conveyor_result yieldNext(Func &&func); +template conveyor_result yield_next(Func &&func); -template conveyor_result yieldLater(Func &&func); +template conveyor_result yield_later(Func &&func); -template conveyor_result yieldLast(Func &&func); +template conveyor_result yield_last(Func &&func); } // namespace saw // Secret stuff diff --git a/source/forstio/error.h b/source/forstio/error.h index ebe928c..d8a5ae2 100644 --- a/source/forstio/error.h +++ b/source/forstio/error.h @@ -106,7 +106,8 @@ template class error_or final : public error_or_value { private: std::variant> value_or_error_; - static_assert(!std::is_same_v, "Don't use internal private types"); + static_assert(!std::is_same_v, + "Don't use internal private types"); public: error_or() = default; diff --git a/source/forstio/io.cpp b/source/forstio/io.cpp index c6ef90c..f0705d2 100644 --- a/source/forstio/io.cpp +++ b/source/forstio/io.cpp @@ -10,7 +10,7 @@ async_io_stream::async_io_stream(own str) .then([this]() { read_stepper_.read_step(*stream_); }) .sink()}, write_ready_{stream_->write_ready() - .then([this]() { write_stepper_.writeStep(*stream_); }) + .then([this]() { write_stepper_.write_step(*stream_); }) .sink()}, read_disconnected_{stream_->on_read_disconnected() .then([this]() { @@ -49,7 +49,7 @@ void async_io_stream::write(const void *buffer, size_t length) { write_stepper_.write_task = write_task_and_step_helper::write_io_task{buffer, length, 0}; - write_stepper_.writeStep(*stream_); + write_stepper_.write_step(*stream_); } conveyor async_io_stream::write_done() { diff --git a/source/forstio/io_helpers.cpp b/source/forstio/io_helpers.cpp index 0b0ebf0..47c5017 100644 --- a/source/forstio/io_helpers.cpp +++ b/source/forstio/io_helpers.cpp @@ -1,4 +1,4 @@ -#include "io_helpers.h" +#include "io_helpers.h" #include "io.h" @@ -44,7 +44,7 @@ void read_task_and_step_helper::read_step(input_stream &reader) { } } -void write_task_and_step_helper::writeStep(output_stream &writer) { +void write_task_and_step_helper::write_step(output_stream &writer) { while (write_task.has_value()) { write_io_task &task = *write_task; @@ -82,4 +82,4 @@ void write_task_and_step_helper::writeStep(output_stream &writer) { } } -} // namespace saw \ No newline at end of file +} // namespace saw diff --git a/source/forstio/io_helpers.h b/source/forstio/io_helpers.h index 1c2626a..9e9ff20 100644 --- a/source/forstio/io_helpers.h +++ b/source/forstio/io_helpers.h @@ -48,6 +48,6 @@ public: own> write_done = nullptr; public: - void writeStep(output_stream &writer); + void write_step(output_stream &writer); }; } // namespace saw diff --git a/source/forstio/io_peer.h b/source/forstio/io_peer.h index 0d55322..5f5b7e6 100644 --- a/source/forstio/io_peer.h +++ b/source/forstio/io_peer.h @@ -17,13 +17,13 @@ public: * */ streaming_io_peer( - own>> feed, + own>> feed, own stream, Codec codec, BufferT in, BufferT out); /** * */ streaming_io_peer( - own>> feed, + own>> feed, own stream); /** @@ -35,26 +35,26 @@ public: /** * Send a message to the remote peer */ - error send(HeapMessageRoot builder); + error send(heap_message_root builder); /** * A phantom conveyor feeder. Meant for interfacing with other components */ - conveyor_feeder> &feeder(); + conveyor_feeder> &feeder(); conveyor on_read_disconnected(); private: /// @unimplemented class peer_conveyor_feeder final - : public conveyor_feeder> { + : public conveyor_feeder> { public: peer_conveyor_feeder( streaming_io_peer &peer_) : peer_{peer_} {} - void feed(HeapMessageRoot &&data) override { + void feed(heap_message_root &&data) override { (void)data; } @@ -70,7 +70,7 @@ private: }; private: - own>> + own>> incoming_feeder_ = nullptr; own io_stream_; @@ -96,8 +96,8 @@ template std::pair>, - conveyor>> -newStreamingIoPeer(own stream); + conveyor>> +new_streaming_io_peer(own stream); } // namespace saw diff --git a/source/forstio/io_peer.tmpl.h b/source/forstio/io_peer.tmpl.h index 8af7753..880a58a 100644 --- a/source/forstio/io_peer.tmpl.h +++ b/source/forstio/io_peer.tmpl.h @@ -2,58 +2,59 @@ namespace saw { template -streaming_io_peer:: +streaming_io_peer:: streaming_io_peer( - own>> feed, + own>> feed, own str) : streaming_io_peer{std::move(feed), std::move(str), {}, {}, {}} {} template -streaming_io_peer:: +streaming_io_peer:: streaming_io_peer( - own>> feed, + own>> feed, own stream, Codec codec, BufferT in, BufferT out) : incoming_feeder_{std::move(feed)}, io_stream_{std::move(stream)}, codec_{std::move(codec)}, in_buffer_{std::move(in)}, out_buffer_{std::move(out)}, - sink_read_{io_stream_->read_done() - .then([this](size_t bytes) -> error_or { - in_buffer_.write_advance(bytes); + sink_read_{ + io_stream_->read_done() + .then([this](size_t bytes) -> error_or { + in_buffer_.write_advance(bytes); - if (in_buffer_.write_segment_length() == 0) { - return critical_error("Message too long"); - } + if (in_buffer_.write_segment_length() == 0) { + return critical_error("Message too long"); + } - io_stream_->read(&in_buffer_.write(), 1, - in_buffer_.write_segment_length()); + io_stream_->read(&in_buffer_.write(), 1, + in_buffer_.write_segment_length()); - while (true) { - auto root = - heapMessageRoot(); - auto builder = root.build(); + while (true) { + auto root = heap_message_root(); + auto builder = root.build(); - error err = - codec_.template decode( - builder, in_buffer_); - if (err.is_critical()) { - return err; - } + error err = codec_.template decode( + builder, in_buffer_); + if (err.is_critical()) { + return err; + } - if (!err.failed()) { - incoming_feeder_->feed(std::move(root)); - } else { - break; - } - } + if (!err.failed()) { + incoming_feeder_->feed(std::move(root)); + } else { + break; + } + } - return void_t{}; - }) - .sink([this](error err) { - incoming_feeder_->fail(err.copy_error()); + return void_t{}; + }) + .sink([this](error err) { + incoming_feeder_->fail(err.copy_error()); - return err; - })}, + return err; + })}, sink_write_{io_stream_->write_done() .then([this](size_t bytes) -> error_or { out_buffer_.read_advance(bytes); @@ -72,8 +73,8 @@ streaming_io_peer template error streaming_io_peer::send(HeapMessageRoot - msg) { + BufferT>::send(heap_message_root + msg) { bool restart_write = out_buffer_.read_segment_length() == 0; error err = @@ -83,7 +84,8 @@ error streaming_io_peerwrite(&out_buffer_.read(), out_buffer_.read_segment_length()); + io_stream_->write(&out_buffer_.read(), + out_buffer_.read_segment_length()); } return no_error(); @@ -91,22 +93,24 @@ error streaming_io_peer -conveyor streaming_io_peer::on_read_disconnected() { +conveyor +streaming_io_peer::on_read_disconnected() { return io_stream_->on_read_disconnected(); } template std::pair>, - conveyor>> + OutContainer, BufferT>>, + conveyor>> newstreaming_io_peer(own stream) { - auto caf = newconveyorAndFeeder>(); + auto caf = + new_conveyor_and_feeder>(); return {heap>(std::move(caf.feeder), - std::move(stream)), + OutContainer, BufferT>>( + std::move(caf.feeder), std::move(stream)), std::move(caf.conveyor)}; } diff --git a/source/forstio/message.h b/source/forstio/message.h index 5bf3afe..9e04e70 100644 --- a/source/forstio/message.h +++ b/source/forstio/message.h @@ -74,8 +74,8 @@ public: */ template typename std::enable_if< - !SchemaIsArray< - typename MessageParameterPackType::Type>::Value, + !schema_is_array< + typename message_parameter_pack_type::Type>::Value, typename Container::template ElementType::builder>::type init() { return typename Container::template ElementType::builder{ @@ -88,23 +88,23 @@ public: */ template typename std::enable_if< - !SchemaIsArray::Value, + !schema_is_array::Value, V...>::Type>::Value, typename Container::template ElementType< - MessageParameterKeyPackIndex::Value>::builder>::type + message_parameter_key_pack_index::Value>:: + builder>::type init() { constexpr size_t i = - MessageParameterKeyPackIndex::Value; + message_parameter_key_pack_index::Value; return init(); } template typename std::enable_if< - SchemaIsArray< - typename MessageParameterPackType::Type>::Value, + schema_is_array< + typename message_parameter_pack_type::Type>::Value, typename Container::template ElementType::builder>::type init(size_t size = 0) { auto array_builder = @@ -118,15 +118,15 @@ public: */ template typename std::enable_if< - SchemaIsArray::Value, + schema_is_array::Value, V...>::Type>::Value, typename Container::template ElementType< - MessageParameterKeyPackIndex::Value>::builder>::type + message_parameter_key_pack_index::Value>:: + builder>::type init(size_t size) { constexpr size_t i = - MessageParameterKeyPackIndex::Value; + message_parameter_key_pack_index::Value; return init(size); } @@ -156,11 +156,11 @@ public: */ template typename Container::template ElementType< - MessageParameterKeyPackIndex::Value>::reader + message_parameter_key_pack_index::Value>::reader get() { // The index of the first match constexpr size_t i = - MessageParameterKeyPackIndex::Value; + message_parameter_key_pack_index::Value; return get(); } @@ -202,8 +202,8 @@ public: template typename std::enable_if< - !SchemaIsArray< - typename MessageParameterPackType::Type>::Value, + !schema_is_array< + typename message_parameter_pack_type::Type>::Value, typename Container::template ElementType::builder>::type init() { @@ -213,15 +213,15 @@ public: template typename std::enable_if< - !SchemaIsArray::Value, + !schema_is_array::Value, V...>::Type>::Value, typename Container::template ElementType< - MessageParameterKeyPackIndex::Value>::builder>::type + message_parameter_key_pack_index::Value>:: + builder>::type init() { constexpr size_t i = - MessageParameterKeyPackIndex::Value; + message_parameter_key_pack_index::Value; return init(); } @@ -231,8 +231,8 @@ public: */ template typename std::enable_if< - SchemaIsArray< - typename MessageParameterPackType::Type>::Value, + schema_is_array< + typename message_parameter_pack_type::Type>::Value, typename Container::template ElementType::builder>::type init(size_t size = 0) { return typename Container::template ElementType::builder{ @@ -241,15 +241,15 @@ public: template typename std::enable_if< - SchemaIsArray::Value, + schema_is_array::Value, V...>::Type>::Value, typename Container::template ElementType< - MessageParameterKeyPackIndex::Value>::builder>::type + message_parameter_key_pack_index::Value>:: + builder>::type init(size_t size) { constexpr size_t i = - MessageParameterKeyPackIndex::Value; + message_parameter_key_pack_index::Value; return init(size); } @@ -272,24 +272,24 @@ public: template typename Container::template ElementType< - MessageParameterKeyPackIndex::Value>::reader + message_parameter_key_pack_index::Value>::reader get() { // The index of the first match constexpr size_t i = - MessageParameterKeyPackIndex::Value; + message_parameter_key_pack_index::Value; return get(); } template - static constexpr size_t toIndex() noexcept { - return MessageParameterKeyPackIndex::Value; + static constexpr size_t to_index() noexcept { + return message_parameter_key_pack_index::Value; } size_t index() const noexcept { return message_.container_.index(); } - template bool hasAlternative() const { - return index() == toIndex(); + template bool has_alternative() const { + return index() == to_index(); } }; }; @@ -383,8 +383,8 @@ public: template typename std::enable_if< - !SchemaIsArray< - typename MessageParameterPackType::Type>::Value, + !schema_is_array< + typename message_parameter_pack_type::Type>::Value, typename Container::template ElementType::builder>::type init() { return typename Container::template ElementType::builder{ @@ -393,8 +393,8 @@ public: template typename std::enable_if< - SchemaIsArray< - typename MessageParameterPackType::Type>::Value, + schema_is_array< + typename message_parameter_pack_type::Type>::Value, typename Container::template ElementType::builder>::type init(size_t size = 0) { return typename Container::template ElementType::builder{ @@ -511,12 +511,13 @@ public: }; template > -class HeapMessageRoot { +class heap_message_root { private: own> root_; public: - HeapMessageRoot(own> r) : root_{std::move(r)} {} + heap_message_root(own> r) + : root_{std::move(r)} {} typename message::builder build() { assert(root_); @@ -530,7 +531,7 @@ public: }; template -class HeapMessageRoot, Container> { +class heap_message_root, Container> { public: using Schema = schema::Array; @@ -538,7 +539,8 @@ private: own> root_; public: - HeapMessageRoot(own> r) : root_{std::move(r)} {} + heap_message_root(own> r) + : root_{std::move(r)} {} typename message::builder build(size_t size) { assert(root_); @@ -555,8 +557,8 @@ public: * Minor helper for creating a message root */ template > -inline HeapMessageRoot heapMessageRoot() { +inline heap_message_root new_heap_message_root() { own> root = heap>(); - return HeapMessageRoot{std::move(root)}; + return heap_message_root{std::move(root)}; } } // namespace saw diff --git a/source/forstio/message_container.h b/source/forstio/message_container.h index b2ea2b5..191052a 100644 --- a/source/forstio/message_container.h +++ b/source/forstio/message_container.h @@ -10,16 +10,17 @@ template class message_container; template > class message; -template struct MessageParameterPackType; +template struct message_parameter_pack_type; -template struct MessageParameterPackType<0, TN, T...> { +template +struct message_parameter_pack_type<0, TN, T...> { using Type = TN; }; template -struct MessageParameterPackType { +struct message_parameter_pack_type { static_assert(sizeof...(T) > 0, "Exhausted parameters"); - using Type = typename MessageParameterPackType::Type; + using Type = typename message_parameter_pack_type::Type; }; template struct MessageParameterPackIndex; @@ -40,31 +41,31 @@ struct MessageParameterPackIndex { * This is the workaround */ template -struct MessageParameterKeyPackIndexHelper { +struct message_parameter_key_pack_index_helper { static constexpr size_t Value = (V == Key0) ? (0u) - : (1u + MessageParameterKeyPackIndexHelper::Value); + : (1u + message_parameter_key_pack_index_helper::Value); }; template -struct MessageParameterKeyPackIndexHelper { +struct message_parameter_key_pack_index_helper { static constexpr size_t Value = (V == Key0) ? (0u) : (1u); }; template -struct MessageParameterKeyPackIndex { +struct message_parameter_key_pack_index { static constexpr size_t Value = - MessageParameterKeyPackIndexHelper::Value; + message_parameter_key_pack_index_helper::Value; static_assert(Value < sizeof...(Keys), "Provided StringLiteral doesn't exist in searched list"); }; -template struct SchemaIsArray { +template struct schema_is_array { constexpr static bool Value = false; }; -template struct SchemaIsArray> { +template struct schema_is_array> { constexpr static bool Value = true; }; @@ -78,7 +79,7 @@ public: using SchemaType = schema::Struct...>; template - using ElementType = typename MessageParameterPackType< + using ElementType = typename message_parameter_pack_type< i, message>...>::Type; template ElementType &get() { return std::get(values_); } @@ -97,12 +98,13 @@ public: using SchemaType = schema::Union...>; template - using ElementType = typename MessageParameterPackType< + using ElementType = typename message_parameter_pack_type< i, message>...>::Type; template ElementType &get() { if (i != value_.index()) { - using MessageIV = typename MessageParameterPackType::Type; + using MessageIV = + typename message_parameter_pack_type::Type; value_ = message>{}; } return std::get(value_); @@ -146,7 +148,7 @@ public: using SchemaType = schema::Tuple; template - using ElementType = typename MessageParameterPackType< + using ElementType = typename message_parameter_pack_type< i, message>...>::Type; template ElementType &get() { return std::get(values_); } diff --git a/source/forstio/proto_kel.h b/source/forstio/proto_kel.h index 83b0aac..511cf91 100644 --- a/source/forstio/proto_kel.h +++ b/source/forstio/proto_kel.h @@ -5,37 +5,37 @@ #include "stream_endian.h" namespace saw { -class ProtoKelCodec { +class proto_kel_codec { public: using UnionIdT = uint32_t; using ArrayLengthT = uint64_t; using PacketLengthT = uint64_t; private: - struct ReadContext { + struct read_context { buffer &buffer; size_t offset = 0; }; - template friend struct ProtoKelEncodeImpl; + template friend struct proto_kel_encode_impl; - template friend struct ProtoKelDecodeImpl; + template friend struct proto_kel_decode_impl; public: - struct Limits { - ProtoKelCodec::PacketLengthT packet_size; + struct limits { + proto_kel_codec::PacketLengthT packet_size; - Limits() : packet_size{4096} {} - Limits(ProtoKelCodec::PacketLengthT ps) : packet_size{ps} {} + limits() : packet_size{4096} {} + limits(proto_kel_codec::PacketLengthT ps) : packet_size{ps} {} }; - struct Version { + struct version { size_t major; size_t minor; size_t security; }; - const Version version() const { return Version{0, 0, 0}; } + const version get_version() const { return version{0, 0, 0}; } template > error encode(typename message::reader reader, @@ -43,13 +43,13 @@ public: template > error decode(typename message::builder builder, - buffer &buffer, const Limits &limits = Limits{}); + buffer &buffer, const limits &lim = limits{}); }; -template struct ProtoKelEncodeImpl; +template struct proto_kel_encode_impl; template -struct ProtoKelEncodeImpl, Container>> { +struct proto_kel_encode_impl, Container>> { static error encode(typename message, Container>::reader data, buffer &buffer) { @@ -66,7 +66,7 @@ struct ProtoKelEncodeImpl, Container>> { }; template -struct ProtoKelEncodeImpl> { +struct proto_kel_encode_impl> { static error encode(typename message::reader data, buffer &buffer) { @@ -96,166 +96,170 @@ struct ProtoKelEncodeImpl> { }; template -struct ProtoKelEncodeImpl, Container>> { +struct proto_kel_encode_impl, Container>> { template static typename std::enable_if::type - encodeMembers(typename message, Container>::reader, - buffer &) { + encode_members(typename message, Container>::reader, + buffer &) { return no_error(); } template static typename std::enable_if<(i < sizeof...(T)), error>::type - encodeMembers(typename message, Container>::reader data, - buffer &buffer) { + encode_members( + typename message, Container>::reader data, + buffer &buffer) { error err = - ProtoKelEncodeImpl>:: + proto_kel_encode_impl>:: encode(data.template get(), buffer); if (err.failed()) { return err; } - return encodeMembers(data, buffer); + return encode_members(data, buffer); } static error encode(typename message, Container>::reader data, buffer &buffer) { - return encodeMembers<0>(data, buffer); + return encode_members<0>(data, buffer); } template static typename std::enable_if::type - sizeMembers(typename message, Container>::reader) { + size_members(typename message, Container>::reader) { return 0; } template static typename std::enable_if < - i::type sizeMembers( + i::type size_members( typename message, Container>::reader reader) { - return ProtoKelEncodeImpl>:: - size(reader.template get()) + - sizeMembers(reader); + return proto_kel_encode_impl>::size(reader.template get()) + + size_members(reader); } static size_t size(typename message, Container>::reader reader) { - return sizeMembers<0>(reader); + return size_members<0>(reader); } }; template -struct ProtoKelEncodeImpl< +struct proto_kel_encode_impl< message...>, Container>> { template static typename std::enable_if::type - encodeMembers(typename message...>, - Container>::reader, - buffer &) { + encode_members( + typename message...>, + Container>::reader, + buffer &) { return no_error(); } template static typename std::enable_if < - i::type encodeMembers( + i::type encode_members( typename message...>, Container>::reader data, buffer &buffer) { error err = - ProtoKelEncodeImpl>:: + proto_kel_encode_impl>:: encode(data.template get(), buffer); if (err.failed()) { return err; } - return encodeMembers(data, buffer); + return encode_members(data, buffer); } static error encode(typename message...>, Container>::reader data, buffer &buffer) { - return encodeMembers<0>(data, buffer); + return encode_members<0>(data, buffer); } template static typename std::enable_if::type - sizeMembers(typename message...>, - Container>::reader) { + size_members(typename message...>, + Container>::reader) { return 0; } template static typename std::enable_if < - i::type sizeMembers( + i::type size_members( typename message...>, Container>::reader reader) { - return ProtoKelEncodeImpl>:: - size(reader.template get()) + - sizeMembers(reader); + return proto_kel_encode_impl>::size(reader.template get()) + + size_members(reader); } static size_t size(typename message...>, Container>::reader reader) { - return sizeMembers<0>(reader); + return size_members<0>(reader); } }; template -struct ProtoKelEncodeImpl< +struct proto_kel_encode_impl< message...>, Container>> { template static typename std::enable_if::type - encodeMembers(typename message...>, - Container>::reader, - buffer &) { + encode_members(typename message...>, + Container>::reader, + buffer &) { return no_error(); } template static typename std::enable_if < - i::type encodeMembers( + i::type encode_members( typename message...>, Container>::reader reader, buffer &buffer) { if (reader.index() == i) { error err = - stream_value::encode(i, buffer); + stream_value::encode(i, buffer); if (err.failed()) { return err; } - return ProtoKelEncodeImpl>::encode(reader.template get(), buffer); + return proto_kel_encode_impl< + typename Container::template ElementType>:: + encode(reader.template get(), buffer); } - return encodeMembers(reader, buffer); + return encode_members(reader, buffer); } static error encode(typename message...>, Container>::reader reader, buffer &buffer) { - return encodeMembers<0>(reader, buffer); + return encode_members<0>(reader, buffer); } template static typename std::enable_if::type - sizeMembers(typename message...>, - Container>::reader) { + size_members(typename message...>, + Container>::reader) { return 0; } template static typename std::enable_if < - i::type sizeMembers( + i::type size_members( typename message...>, Container>::reader reader) { if (reader.index() == i) { - return ProtoKelEncodeImpl>::size(reader.template get()); + return proto_kel_encode_impl< + typename Container::template ElementType>:: + size(reader.template get()); } - return sizeMembers(reader); + return size_members(reader); } /* @@ -264,18 +268,18 @@ struct ProtoKelEncodeImpl< static size_t size(typename message...>, Container>::reader reader) { - return sizeof(ProtoKelCodec::UnionIdT) + sizeMembers<0>(reader); + return sizeof(proto_kel_codec::UnionIdT) + size_members<0>(reader); } }; template -struct ProtoKelEncodeImpl, Container>> { +struct proto_kel_encode_impl, Container>> { static error encode(typename message, Container>::reader data, buffer &buffer) { - ProtoKelCodec::ArrayLengthT array_length = data.size(); + proto_kel_codec::ArrayLengthT array_length = data.size(); { - error err = stream_value::encode( + error err = stream_value::encode( array_length, buffer); if (err.failed()) { return err; @@ -284,7 +288,7 @@ struct ProtoKelEncodeImpl, Container>> { for (size_t i = 0; i < array_length; ++i) { error err = - ProtoKelEncodeImpl::encode( + proto_kel_encode_impl::encode( data.get(i), buffer); if (err.failed()) { return err; @@ -298,10 +302,10 @@ struct ProtoKelEncodeImpl, Container>> { */ static size_t size(typename message, Container>::reader data) { - size_t members = sizeof(ProtoKelCodec::ArrayLengthT); + size_t members = sizeof(proto_kel_codec::ArrayLengthT); for (size_t i = 0; i < data.size(); ++i) { members += - ProtoKelEncodeImpl::size( + proto_kel_encode_impl::size( data.get(i)); } @@ -312,10 +316,10 @@ struct ProtoKelEncodeImpl, Container>> { /* * Decode Implementations */ -template struct ProtoKelDecodeImpl; +template struct proto_kel_decode_impl; template -struct ProtoKelDecodeImpl, Container>> { +struct proto_kel_decode_impl, Container>> { static error decode(typename message, Container>::builder data, buffer &buffer) { @@ -328,7 +332,7 @@ struct ProtoKelDecodeImpl, Container>> { }; template -struct ProtoKelDecodeImpl> { +struct proto_kel_decode_impl> { static error decode(typename message::builder data, buffer &buffer) { @@ -362,107 +366,108 @@ struct ProtoKelDecodeImpl> { }; template -struct ProtoKelDecodeImpl, Container>> { +struct proto_kel_decode_impl, Container>> { template static typename std::enable_if::type - decodeMembers(typename message, Container>::builder, - buffer &) { + decode_members(typename message, Container>::builder, + buffer &) { return no_error(); } template static typename std::enable_if < - i::type decodeMembers( + i::type decode_members( typename message, Container>::builder builder, buffer &buffer) { error err = - ProtoKelDecodeImpl>:: + proto_kel_decode_impl>:: decode(builder.template init(), buffer); if (err.failed()) { return err; } - return decodeMembers(builder, buffer); + return decode_members(builder, buffer); } static error decode(typename message, Container>::builder builder, buffer &buffer) { - return decodeMembers<0>(builder, buffer); + return decode_members<0>(builder, buffer); } }; template -struct ProtoKelDecodeImpl< +struct proto_kel_decode_impl< message...>, Container>> { template static typename std::enable_if::type - decodeMembers(typename message...>, - Container>::builder, - buffer &) { + decode_members( + typename message...>, + Container>::builder, + buffer &) { return no_error(); } template static typename std::enable_if < - i::type decodeMembers( + i::type decode_members( typename message...>, Container>::builder builder, buffer &buffer) { error err = - ProtoKelDecodeImpl>:: + proto_kel_decode_impl>:: decode(builder.template init(), buffer); if (err.failed()) { return err; } - return decodeMembers(builder, buffer); + return decode_members(builder, buffer); } static error decode(typename message...>, Container>::builder builder, buffer &buffer) { - return decodeMembers<0>(builder, buffer); + return decode_members<0>(builder, buffer); } }; template -struct ProtoKelDecodeImpl< +struct proto_kel_decode_impl< message...>, Container>> { template static typename std::enable_if::type - decodeMembers(typename message...>, - Container>::builder, - buffer &, ProtoKelCodec::UnionIdT) { + decode_members(typename message...>, + Container>::builder, + buffer &, proto_kel_codec::UnionIdT) { return no_error(); } template static typename std::enable_if < - i::type decodeMembers( + i::type decode_members( typename message...>, Container>::builder builder, - buffer &buffer, ProtoKelCodec::UnionIdT id) { + buffer &buffer, proto_kel_codec::UnionIdT id) { if (id == i) { error err = - ProtoKelDecodeImpl>::decode(builder.template init(), buffer); if (err.failed()) { return err; } } - return decodeMembers(builder, buffer, id); + return decode_members(builder, buffer, id); } static error decode(typename message...>, Container>::builder builder, buffer &buffer) { - ProtoKelCodec::UnionIdT id = 0; - error err = stream_value::decode(id, buffer); + proto_kel_codec::UnionIdT id = 0; + error err = stream_value::decode(id, buffer); if (err.failed()) { return err; } @@ -470,18 +475,18 @@ struct ProtoKelDecodeImpl< return critical_error("Union doesn't have this many id's"); } - return decodeMembers<0>(builder, buffer, id); + return decode_members<0>(builder, buffer, id); } }; template -struct ProtoKelDecodeImpl, Container>> { +struct proto_kel_decode_impl, Container>> { static error decode(typename message, Container>::builder data, buffer &buffer) { - ProtoKelCodec::ArrayLengthT array_length = 0; + proto_kel_codec::ArrayLengthT array_length = 0; { - error err = stream_value::decode( + error err = stream_value::decode( array_length, buffer); if (err.failed()) { return err; @@ -492,7 +497,7 @@ struct ProtoKelDecodeImpl, Container>> { for (size_t i = 0; i < array_length; ++i) { error err = - ProtoKelDecodeImpl::decode( + proto_kel_decode_impl::decode( data.init(i), buffer); if (err.failed()) { return err; @@ -503,30 +508,30 @@ struct ProtoKelDecodeImpl, Container>> { }; template -error ProtoKelCodec::encode(typename message::reader reader, - buffer &buffer) { +error proto_kel_codec::encode( + typename message::reader reader, buffer &buffer) { buffer_view view{buffer}; - ProtoKelCodec::PacketLengthT packet_length = - ProtoKelEncodeImpl>::size(reader); + proto_kel_codec::PacketLengthT packet_length = + proto_kel_encode_impl>::size(reader); // Check the size of the packet for the first // message length description - error err = view.write_require_length(packet_length + - sizeof(ProtoKelCodec::PacketLengthT)); + error err = view.write_require_length( + packet_length + sizeof(proto_kel_codec::PacketLengthT)); if (err.failed()) { return err; } { - error err = stream_value::encode( + error err = stream_value::encode( packet_length, view); if (err.failed()) { return err; } } { - error err = ProtoKelEncodeImpl>::encode( + error err = proto_kel_encode_impl>::encode( reader, view); if (err.failed()) { return err; @@ -538,14 +543,14 @@ error ProtoKelCodec::encode(typename message::reader reader, } template -error ProtoKelCodec::decode( +error proto_kel_codec::decode( typename message::builder builder, buffer &buffer, - const Limits &limits) { + const limits &limits) { buffer_view view{buffer}; - ProtoKelCodec::PacketLengthT packet_length = 0; + proto_kel_codec::PacketLengthT packet_length = 0; { - error err = stream_value::decode( + error err = stream_value::decode( packet_length, view); if (err.failed()) { return err; @@ -562,14 +567,14 @@ error ProtoKelCodec::decode( } { - error err = ProtoKelDecodeImpl>::decode( + error err = proto_kel_decode_impl>::decode( builder, view); if (err.failed()) { return err; } } { - if (ProtoKelEncodeImpl>::size( + if (proto_kel_encode_impl>::size( builder.as_reader()) != packet_length) { return critical_error("Bad packet format"); } diff --git a/source/forstio/schema.h b/source/forstio/schema.h index f2b3d18..d10092b 100644 --- a/source/forstio/schema.h +++ b/source/forstio/schema.h @@ -5,7 +5,7 @@ namespace saw { namespace schema { - +// NOLINTBEGIN template struct NamedMember {}; template struct Struct { @@ -72,5 +72,6 @@ template struct Interface { template struct Interface...> {}; +// NOLINTEND } // namespace schema } // namespace saw diff --git a/test/message.cpp b/test/message.cpp index 06192d8..3eb4709 100644 --- a/test/message.cpp +++ b/test/message.cpp @@ -16,7 +16,7 @@ using TestTuple = schema::Tuple; SAW_TEST("Message Tuple"){ std::string test_string_1 = "banana"; - auto root = saw::heapMessageRoot(); + auto root = saw::new_heap_message_root(); auto builder = root.build(); auto uint = builder.init<0>(); uint.set(10); @@ -36,7 +36,7 @@ SAW_TEST("Message Tuple nested"){ std::string test_string_1 = "banana"; std::string test_string_2 = "bat"; - auto root = saw::heapMessageRoot(); + auto root = saw::new_heap_message_root(); auto builder = root.build(); auto inner_list = builder.init<0>(); auto uint = inner_list.init<0>(); @@ -64,7 +64,7 @@ using TestStruct = schema::Struct< SAW_TEST("Message Struct"){ std::string test_string = "foo"; - auto root = saw::heapMessageRoot(); + auto root = saw::new_heap_message_root(); auto builder = root.build(); auto uint = builder.init<"test_uint">(); uint.set(23); @@ -103,7 +103,7 @@ void arrayCheck(saw::message::builder builder){ } SAW_TEST("Message Array"){ - auto root = saw::heapMessageRoot(); + auto root = saw::new_heap_message_root(); auto builder = root.build(3); @@ -115,7 +115,7 @@ using TestArrayStruct = schema::Struct< >; SAW_TEST("Message Array in Struct"){ - auto root = saw::heapMessageRoot(); + auto root = saw::new_heap_message_root(); auto builder = root.build(); diff --git a/test/proto_kel.cpp b/test/proto_kel.cpp index 83dc55f..6eb48c4 100644 --- a/test/proto_kel.cpp +++ b/test/proto_kel.cpp @@ -27,26 +27,26 @@ SAW_TEST("Primitive Encoding"){ using namespace saw; uint32_t value = 5; - auto root = heapMessageRoot(); + auto root = new_heap_message_root(); auto builder = root.build(); builder.set(value); ring_buffer temp_buffer; - ProtoKelCodec codec; + proto_kel_codec codec; error err = codec.encode(root.read(), temp_buffer); SAW_EXPECT(!err.failed(), err.message()); - SAW_EXPECT(temp_buffer.read_composite_length() == (sizeof(value)+sizeof(ProtoKelCodec::PacketLengthT)), "Bad Size: " + std::to_string(temp_buffer.read_composite_length())); - constexpr size_t pkt_shift = sizeof(ProtoKelCodec::PacketLengthT); + SAW_EXPECT(temp_buffer.read_composite_length() == (sizeof(value)+sizeof(proto_kel_codec::PacketLengthT)), "Bad Size: " + std::to_string(temp_buffer.read_composite_length())); + constexpr size_t pkt_shift = sizeof(proto_kel_codec::PacketLengthT); SAW_EXPECT(temp_buffer[pkt_shift] == 5 && temp_buffer[pkt_shift+1] == 0 && temp_buffer[pkt_shift+2] == 0 && temp_buffer[pkt_shift+3] == 0, "Wrong encoded values"); } SAW_TEST("List Encoding"){ using namespace saw; - auto root = heapMessageRoot(); + auto root = new_heap_message_root(); auto builder = root.build(); auto first = builder.init<0>(); @@ -55,7 +55,7 @@ SAW_TEST("List Encoding"){ second.set(43871); ring_buffer buffer; - ProtoKelCodec codec; + proto_kel_codec codec; error err = codec.encode(root.read(), buffer); @@ -67,7 +67,7 @@ SAW_TEST("List Encoding"){ SAW_TEST("Struct Encoding"){ using namespace saw; - auto root = heapMessageRoot(); + auto root = new_heap_message_root(); auto builder = root.build(); auto test_uint = builder.init<"test_uint">(); @@ -81,7 +81,7 @@ SAW_TEST("Struct Encoding"){ string_name.set("test_name"); ring_buffer buffer; - ProtoKelCodec codec; + proto_kel_codec codec; error err = codec.encode(builder.as_reader(), buffer); @@ -94,14 +94,14 @@ SAW_TEST("Struct Encoding"){ SAW_TEST("Union Encoding"){ using namespace saw; { - auto root = heapMessageRoot(); + auto root = new_heap_message_root(); auto builder = root.build(); auto test_uint = builder.init<"test_uint">(); test_uint.set(23); ring_buffer buffer; - ProtoKelCodec codec; + proto_kel_codec codec; error err = codec.encode(builder.as_reader(), buffer); @@ -111,14 +111,14 @@ SAW_TEST("Union Encoding"){ == buffer.to_hex(), "Not equal encoding:\n"+buffer.to_hex()); } { - auto root = heapMessageRoot(); + auto root = new_heap_message_root(); auto builder = root.build(); auto test_string = builder.init<"test_string">(); test_string.set("foo"); ring_buffer buffer; - ProtoKelCodec codec; + proto_kel_codec codec; error err = codec.encode(builder.as_reader(), buffer); @@ -136,9 +136,9 @@ SAW_TEST("Tuple Decoding"){ ring_buffer buffer; buffer.push(*buffer_raw, sizeof(buffer_raw)); - ProtoKelCodec codec; + proto_kel_codec codec; - auto root = heapMessageRoot(); + auto root = new_heap_message_root(); auto builder = root.build(); error err = codec.decode(builder, buffer); @@ -159,9 +159,9 @@ SAW_TEST("Struct Decoding"){ ring_buffer buffer; buffer.push(*buffer_raw, sizeof(buffer_raw)); - ProtoKelCodec codec; + proto_kel_codec codec; - auto root = heapMessageRoot(); + auto root = new_heap_message_root(); auto builder = root.build(); error err = codec.decode(builder, buffer); @@ -182,16 +182,16 @@ SAW_TEST("Union Decoding"){ ring_buffer buffer; buffer.push(*buffer_raw, sizeof(buffer_raw)); - ProtoKelCodec codec; + proto_kel_codec codec; - auto root = heapMessageRoot(); + auto root = new_heap_message_root(); auto builder = root.build(); auto reader = builder.as_reader(); error err = codec.decode(builder, buffer); SAW_EXPECT(!err.failed(), err.message()); - SAW_EXPECT(reader.hasAlternative<"test_string">(), "Wrong union value"); + SAW_EXPECT(reader.has_alternative<"test_string">(), "Wrong union value"); auto str_rd = reader.get<"test_string">(); SAW_EXPECT(str_rd.get() == "foo", "Wrong value: " + std::string{str_rd.get()}); } @@ -203,8 +203,8 @@ using TestArrayStruct = schema::Array< SAW_TEST("Array Encoding"){ using namespace saw; - ProtoKelCodec codec; - auto root = heapMessageRoot(); + proto_kel_codec codec; + auto root = new_heap_message_root(); auto builder = root.build(2); auto one = builder.init(0);