Skip to content

Commit

Permalink
fix build issue #verification #docs #sonar
Browse files Browse the repository at this point in the history
  • Loading branch information
serges147 committed Jun 18, 2024
1 parent eafbcc4 commit f62818f
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 22 deletions.
27 changes: 13 additions & 14 deletions include/libcyphal/transport/can/can_transport_impl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@ class TransportImpl final : private TransportDelegate, public ICanTransport //
payload.size(),
payload.data());

opt_any_error = tryHandleTransientCanardResult<TransientErrorReport::CanardTxPush>(result, media);
opt_any_error = tryHandleTransientCanardResult<TransientErrorReport::CanardTxPush>(media, result);
if (opt_any_error.has_value())
{
// The handler (if any) just said that it's NOT fine to continue with pushing to other media TX queues,
Expand Down Expand Up @@ -392,9 +392,9 @@ class TransportImpl final : private TransportDelegate, public ICanTransport //
// MARK: Privates:

template <typename Report>
CETL_NODISCARD cetl::optional<AnyError> tryHandleTransientMediaError(MediaError&& media_error, const Media& media)
CETL_NODISCARD cetl::optional<AnyError> tryHandleTransientMediaError(const Media& media, MediaError&& error)
{
AnyError any_error = common::detail::anyErrorFromVariant(std::move(media_error));
AnyError any_error = common::detail::anyErrorFromVariant(std::move(error));
if (!transient_error_handler_)
{
return any_error;
Expand All @@ -405,8 +405,8 @@ class TransportImpl final : private TransportDelegate, public ICanTransport //
}

template <typename Report>
CETL_NODISCARD cetl::optional<AnyError> tryHandleTransientCanardResult(const std::int32_t result,
const Media& media)
CETL_NODISCARD cetl::optional<AnyError> tryHandleTransientCanardResult(const Media& media,
const std::int32_t result)
{
cetl::optional<AnyError> opt_any_error = optAnyErrorFromCanard(result);
if (opt_any_error.has_value() && transient_error_handler_)
Expand Down Expand Up @@ -491,9 +491,9 @@ class TransportImpl final : private TransportDelegate, public ICanTransport //
std::array<cetl::byte, CANARD_MTU_MAX> payload{};

Expected<cetl::optional<RxMetadata>, MediaError> pop_result = media.interface().pop(payload);
if (auto* media_error = cetl::get_if<MediaError>(&pop_result))
if (auto* error = cetl::get_if<MediaError>(&pop_result))
{
return tryHandleTransientMediaError<TransientErrorReport::MediaPop>(std::move(*media_error), media);
return tryHandleTransientMediaError<TransientErrorReport::MediaPop>(media, std::move(*error));
}
const auto* const opt_rx_meta = cetl::get_if<cetl::optional<RxMetadata>>(&pop_result);
if ((opt_rx_meta == nullptr) || !opt_rx_meta->has_value())
Expand All @@ -517,7 +517,7 @@ class TransportImpl final : private TransportDelegate, public ICanTransport //
&out_transfer,
&out_subscription);
cetl::optional<AnyError> opt_any_error =
tryHandleTransientCanardResult<TransientErrorReport::CanardRxAccept>(result, media);
tryHandleTransientCanardResult<TransientErrorReport::CanardRxAccept>(media, result);
if (!opt_any_error.has_value() && (result > 0))
{
CETL_DEBUG_ASSERT(out_subscription != nullptr, "Expected subscription.");
Expand Down Expand Up @@ -585,14 +585,14 @@ class TransportImpl final : private TransportDelegate, public ICanTransport //
// Note that media not being ready/able to push a frame just yet (aka temporary)
// is not reported as an error (see `is_pushed` below).
//
if (auto* media_error = cetl::get_if<MediaError>(&maybe_pushed))
if (auto* error = cetl::get_if<MediaError>(&maybe_pushed))
{
// Release problematic frame from the TX queue, so that other frames in TX queue have their chance.
// Otherwise, we would be stuck in a run loop trying to push the same frame.
popAndFreeCanardTxQueueItem();

cetl::optional<AnyError> opt_any_error =
tryHandleTransientMediaError<TransientErrorReport::MediaPush>(std::move(*media_error), media);
tryHandleTransientMediaError<TransientErrorReport::MediaPush>(media, std::move(*error));
if (!opt_any_error.has_value())
{
// The handler (if any) just said that it's fine to continue with pushing other frames
Expand Down Expand Up @@ -653,14 +653,13 @@ class TransportImpl final : private TransportDelegate, public ICanTransport //
bool was_error = false;
for (const Media& media : media_array_)
{
cetl::optional<MediaError> media_error = media.interface().setFilters({filters.data(), filters.size()});
if (media_error.has_value())
cetl::optional<MediaError> error = media.interface().setFilters({filters.data(), filters.size()});
if (error.has_value())
{
was_error = true;

cetl::optional<AnyError> opt_any_error =
tryHandleTransientMediaError<TransientErrorReport::MediaConfig>(std::move(media_error.value()),
media);
tryHandleTransientMediaError<TransientErrorReport::MediaConfig>(media, std::move(error.value()));
if (opt_any_error.has_value())
{
// The handler (if any) just said that it's NOT fine to continue with configuring other media,
Expand Down
4 changes: 2 additions & 2 deletions include/libcyphal/transport/common/tools.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ namespace detail
/// @brief Converts a compatible (aka subset) error variant to transport's `AnyError` one.
///
template <typename ErrorVariant>
CETL_NODISCARD static AnyError anyErrorFromVariant(ErrorVariant&& other_error_var)
CETL_NODISCARD static AnyError anyErrorFromVariant(ErrorVariant&& error_var)
{
return cetl::visit([](auto&& error) -> AnyError { return std::forward<decltype(error)>(error); },
std::forward<ErrorVariant>(other_error_var));
std::forward<ErrorVariant>(error_var));
}

} // namespace detail
Expand Down
12 changes: 6 additions & 6 deletions include/libcyphal/transport/udp/udp_transport_impl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -390,7 +390,7 @@ class TransportImpl final : private TransportDelegate, public IUdpTransport //
payload_,
nullptr);

return self_.tryHandleTransientUdpardResult<TransientErrorReport::UdpardTxPublish>(result, media_);
return self_.tryHandleTransientUdpardResult<TransientErrorReport::UdpardTxPublish>(media_, result);
}

cetl::optional<AnyError> operator()(const AnyUdpardTxMetadata::Request& tx_metadata) const
Expand All @@ -404,7 +404,7 @@ class TransportImpl final : private TransportDelegate, public IUdpTransport //
payload_,
nullptr);

return self_.tryHandleTransientUdpardResult<TransientErrorReport::UdpardTxRequest>(result, media_);
return self_.tryHandleTransientUdpardResult<TransientErrorReport::UdpardTxRequest>(media_, result);
}

cetl::optional<AnyError> operator()(const AnyUdpardTxMetadata::Respond& tx_metadata) const
Expand All @@ -418,7 +418,7 @@ class TransportImpl final : private TransportDelegate, public IUdpTransport //
payload_,
nullptr);

return self_.tryHandleTransientUdpardResult<TransientErrorReport::UdpardTxRespond>(result, media_);
return self_.tryHandleTransientUdpardResult<TransientErrorReport::UdpardTxRespond>(media_, result);
}

private:
Expand All @@ -429,7 +429,7 @@ class TransportImpl final : private TransportDelegate, public IUdpTransport //
}; // TxTransferHandler

template <typename Report, typename ErrorVariant>
CETL_NODISCARD cetl::optional<AnyError> tryHandleTransientMediaError(Media& media, ErrorVariant&& error_var)
CETL_NODISCARD cetl::optional<AnyError> tryHandleTransientMediaError(const Media& media, ErrorVariant&& error_var)
{
AnyError any_error = common::detail::anyErrorFromVariant(std::forward<ErrorVariant>(error_var));
if (!transient_error_handler_)
Expand All @@ -442,8 +442,8 @@ class TransportImpl final : private TransportDelegate, public IUdpTransport //
}

template <typename Report>
CETL_NODISCARD cetl::optional<AnyError> tryHandleTransientUdpardResult(const std::int32_t result,
Media& media) const
CETL_NODISCARD cetl::optional<AnyError> tryHandleTransientUdpardResult(Media& media,
const std::int32_t result) const
{
cetl::optional<AnyError> opt_any_error = optAnyErrorFromUdpard(result);
if (opt_any_error.has_value() && transient_error_handler_)
Expand Down

0 comments on commit f62818f

Please sign in to comment.