Skip to content

Commit 6195c55

Browse files
refactor: update score/mw/com includes and namespaces for local memory
Update #include paths and namespace references in score/mw/com sources to reflect that AtomicIndirector and related types are now accessed via concurrency::atomic:: rather than memory::shared:: following the in-tree copy of the score/memory library.
1 parent 504d871 commit 6195c55

19 files changed

Lines changed: 56 additions & 54 deletions

score/mw/com/impl/bindings/lola/application_id_pid_mapping.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,12 +142,12 @@ std::optional<pid_t> RegisterPid(score::containers::DynamicArray<ApplicationIdPi
142142

143143
/// Instantiate the method templates once for AtomicIndirectorReal (production use) and AtomicIndirectorMock (testing)
144144
/// Those are all instantiations we need, so we are able to put the template definitions into the .cpp file.
145-
template std::optional<pid_t> RegisterPid<memory::shared::AtomicIndirectorMock>(
145+
template std::optional<pid_t> RegisterPid<concurrency::atomic::AtomicIndirectorMock>(
146146
score::containers::DynamicArray<ApplicationIdPidMappingEntry>::iterator entries_begin,
147147
score::containers::DynamicArray<ApplicationIdPidMappingEntry>::iterator entries_end,
148148
const std::uint32_t application_id,
149149
const pid_t pid);
150-
template std::optional<pid_t> RegisterPid<memory::shared::AtomicIndirectorReal>(
150+
template std::optional<pid_t> RegisterPid<concurrency::atomic::AtomicIndirectorReal>(
151151
score::containers::DynamicArray<ApplicationIdPidMappingEntry>::iterator entries_begin,
152152
score::containers::DynamicArray<ApplicationIdPidMappingEntry>::iterator entries_end,
153153
const std::uint32_t application_id,

score/mw/com/impl/bindings/lola/application_id_pid_mapping.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
#include "score/mw/com/impl/bindings/lola/register_pid_fake.h"
1818

1919
#include "score/containers/dynamic_array.h"
20-
#include "score/memory/shared/atomic_indirector.h"
20+
#include "score/concurrency/atomic/atomic_indirector.h"
2121

2222
#include <sys/types.h>
2323
#include <cstdint>
@@ -38,7 +38,7 @@ namespace detail
3838
// Suppress "AUTOSAR C++14 M3-2-3" rule finding. This rule states: "A type, object or function that is used in multiple
3939
// translation units shall be declared in one and only one file.".
4040
// coverity[autosar_cpp14_m3_2_3_violation] This is false positive. Function is declared only once.
41-
template <template <class> class AtomicIndirectorType = memory::shared::AtomicIndirectorReal>
41+
template <template <class> class AtomicIndirectorType = concurrency::atomic::AtomicIndirectorReal>
4242
// coverity[autosar_cpp14_m3_2_3_violation] This is false positive. Function is declared only once.
4343
std::optional<pid_t> RegisterPid(score::containers::DynamicArray<ApplicationIdPidMappingEntry>::iterator entries_begin,
4444
score::containers::DynamicArray<ApplicationIdPidMappingEntry>::iterator entries_end,
@@ -111,7 +111,7 @@ class ApplicationIdPidMapping
111111
// element. Therefore, the provided assertions check this rule requirement, whether the iterators return a
112112
// result other than nullptr.
113113
// coverity[autosar_cpp14_a5_3_2_violation]
114-
return detail::RegisterPid<memory::shared::AtomicIndirectorReal>(
114+
return detail::RegisterPid<concurrency::atomic::AtomicIndirectorReal>(
115115
mapping_entries_.begin(), mapping_entries_.end(), application_id, pid);
116116
};
117117

score/mw/com/impl/bindings/lola/application_id_pid_mapping_test.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
********************************************************************************/
1313
#include "score/mw/com/impl/bindings/lola/application_id_pid_mapping.h"
1414

15-
#include "score/memory/shared/atomic_indirector.h"
16-
#include "score/memory/shared/atomic_mock.h"
15+
#include "score/concurrency/atomic/atomic_indirector.h"
16+
#include "score/concurrency/atomic/atomic_mock.h"
1717

1818
#include <gtest/gtest.h>
1919

@@ -71,15 +71,15 @@ TEST(ApplicationIdPidMapping, RegisterMaxRetryFailure)
7171
}
7272
}
7373

74-
memory::shared::AtomicMock<ApplicationIdPidMappingEntry::key_type> atomic_mock{};
75-
memory::shared::AtomicIndirectorMock<ApplicationIdPidMappingEntry::key_type>::SetMockObject(&atomic_mock);
74+
concurrency::atomic::AtomicMock<ApplicationIdPidMappingEntry::key_type> atomic_mock{};
75+
concurrency::atomic::AtomicIndirectorMock<ApplicationIdPidMappingEntry::key_type>::SetMockObject(&atomic_mock);
7676

7777
const std::size_t kMaxRetries{50};
7878
// Given the operation to update the mapping entry fails kMaxRetries times
7979
EXPECT_CALL(atomic_mock, compare_exchange_weak(_, _, _)).Times(kMaxRetries).WillRepeatedly(Return(false));
8080

8181
// when trying to register a new application_id 42 (not among the registered application_ids)
82-
auto result = lola::detail::RegisterPid<memory::shared::AtomicIndirectorMock>(
82+
auto result = lola::detail::RegisterPid<concurrency::atomic::AtomicIndirectorMock>(
8383
mapping_entries.begin(), mapping_entries.end(), 42, 142);
8484
// expect, that an empty optional is returned.
8585
EXPECT_FALSE(result.has_value());

score/mw/com/impl/bindings/lola/event_data_control.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ auto EventDataControlImpl<AtomicIndirectorType>::ResetPerformanceCounters() -> v
449449
num_ref_retries.store(0U);
450450
}
451451

452-
template class EventDataControlImpl<memory::shared::AtomicIndirectorReal>;
453-
template class EventDataControlImpl<memory::shared::AtomicIndirectorMock>;
452+
template class EventDataControlImpl<concurrency::atomic::AtomicIndirectorReal>;
453+
template class EventDataControlImpl<concurrency::atomic::AtomicIndirectorMock>;
454454

455455
} // namespace score::mw::com::impl::lola::detail_event_data_control

score/mw/com/impl/bindings/lola/event_data_control.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
#include "score/memory/shared/memory_resource_proxy.h"
2424
#include "score/memory/shared/polymorphic_offset_ptr_allocator.h"
2525

26-
#include "score/memory/shared/atomic_indirector.h"
26+
#include "score/concurrency/atomic/atomic_indirector.h"
2727

2828
#include "score/containers/dynamic_array.h"
2929

@@ -65,7 +65,7 @@ namespace detail_event_data_control
6565
/// a process).
6666
///
6767
/// It is one of the corner stone elements of our LoLa IPC for Events!
68-
template <template <class> class AtomicIndirectorType = memory::shared::AtomicIndirectorReal>
68+
template <template <class> class AtomicIndirectorType = concurrency::atomic::AtomicIndirectorReal>
6969
class EventDataControlImpl final
7070
{
7171
// Suppress "AUTOSAR C++14 A11-3-1", The rule declares: "Friend declarations shall not be used".

score/mw/com/impl/bindings/lola/event_data_control_composite.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ EventSlotStatus::EventTimeStamp EventDataControlComposite<AtomicIndirectorType>:
342342
return latest_time_stamp;
343343
}
344344

345-
template class EventDataControlComposite<memory::shared::AtomicIndirectorReal>;
346-
template class EventDataControlComposite<memory::shared::AtomicIndirectorMock>;
345+
template class EventDataControlComposite<concurrency::atomic::AtomicIndirectorReal>;
346+
template class EventDataControlComposite<concurrency::atomic::AtomicIndirectorMock>;
347347

348348
} // namespace score::mw::com::impl::lola

score/mw/com/impl/bindings/lola/event_data_control_composite.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
#include "score/mw/com/impl/bindings/lola/event_data_control.h"
1919
#include "score/mw/com/impl/bindings/lola/event_slot_status.h"
2020

21-
#include "score/memory/shared/atomic_indirector.h"
21+
#include "score/concurrency/atomic/atomic_indirector.h"
2222

2323
#include <optional>
2424
#include <tuple>
@@ -36,7 +36,7 @@ class EventDataControlCompositeAttorney;
3636
/// whole codebase, we implemented this composite which takes care of setting the status correctly in all underlying
3737
/// control structures. Please be aware that the control structures will live in different shared memory segments, thus
3838
/// it is not possible to store them by value, but rather as pointer.
39-
template <template <class> class AtomicIndirectorType = memory::shared::AtomicIndirectorReal>
39+
template <template <class> class AtomicIndirectorType = concurrency::atomic::AtomicIndirectorReal>
4040
class EventDataControlComposite
4141
{
4242
// Suppress "AUTOSAR C++14 A11-3-1", The rule declares: "Friend declarations shall not be used".

score/mw/com/impl/bindings/lola/event_data_control_composite_test.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
#include "score/mw/com/impl/bindings/lola/transaction_log_set.h"
1717
#include "score/mw/com/impl/instance_specifier.h"
1818

19-
#include "score/memory/shared/atomic_indirector.h"
20-
#include "score/memory/shared/atomic_mock.h"
19+
#include "score/concurrency/atomic/atomic_indirector.h"
20+
#include "score/concurrency/atomic/atomic_mock.h"
2121
#include "score/memory/shared/new_delete_delegate_resource.h"
2222

2323
#include <score/assert.hpp>
@@ -104,12 +104,12 @@ class EventDataControlCompositeFixture : public ::testing::Test
104104
{
105105
SCORE_LANGUAGE_FUTURECPP_ASSERT(qm_ != nullptr);
106106

107-
atomic_mock_ = std::make_unique<memory::shared::AtomicMock<EventSlotStatus::value_type>>();
108-
memory::shared::AtomicIndirectorMock<EventSlotStatus::value_type>::SetMockObject(atomic_mock_.get());
107+
atomic_mock_ = std::make_unique<concurrency::atomic::AtomicMock<EventSlotStatus::value_type>>();
108+
concurrency::atomic::AtomicIndirectorMock<EventSlotStatus::value_type>::SetMockObject(atomic_mock_.get());
109109

110110
auto* const asil_control = asil_ != nullptr ? asil_.get() : nullptr;
111-
unit_mock_ =
112-
std::make_unique<EventDataControlComposite<memory::shared::AtomicIndirectorMock>>(qm_.get(), asil_control);
111+
unit_mock_ = std::make_unique<EventDataControlComposite<concurrency::atomic::AtomicIndirectorMock>>(
112+
qm_.get(), asil_control);
113113

114114
return *this;
115115
}
@@ -160,8 +160,8 @@ class EventDataControlCompositeFixture : public ::testing::Test
160160
std::unique_ptr<EventDataControl> qm_{nullptr};
161161
std::unique_ptr<EventDataControlComposite<>> unit_{nullptr};
162162

163-
std::unique_ptr<memory::shared::AtomicMock<EventSlotStatus::value_type>> atomic_mock_{nullptr};
164-
std::unique_ptr<EventDataControlComposite<memory::shared::AtomicIndirectorMock>> unit_mock_{nullptr};
163+
std::unique_ptr<concurrency::atomic::AtomicMock<EventSlotStatus::value_type>> atomic_mock_{nullptr};
164+
std::unique_ptr<EventDataControlComposite<concurrency::atomic::AtomicIndirectorMock>> unit_mock_{nullptr};
165165

166166
std::unique_ptr<TransactionLogSet::TransactionLogIndex> transaction_log_index_qm_{nullptr};
167167
std::unique_ptr<TransactionLogSet::TransactionLogIndex> transaction_log_index_asil_{nullptr};

score/mw/com/impl/bindings/lola/event_data_control_test.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
#include "score/mw/com/impl/bindings/lola/test_doubles/fake_memory_resource.h"
1818
#include "score/mw/com/impl/instance_specifier.h"
1919

20-
#include "score/memory/shared/atomic_indirector.h"
21-
#include "score/memory/shared/atomic_mock.h"
20+
#include "score/concurrency/atomic/atomic_indirector.h"
21+
#include "score/concurrency/atomic/atomic_mock.h"
2222

2323
#include <score/utility.hpp>
2424

@@ -88,7 +88,7 @@ class EventDataControlFixture : public ::testing::Test
8888

8989
void TearDown() override
9090
{
91-
memory::shared::AtomicIndirectorMock<EventSlotStatus::value_type>::SetMockObject(nullptr);
91+
concurrency::atomic::AtomicIndirectorMock<EventSlotStatus::value_type>::SetMockObject(nullptr);
9292
}
9393

9494
EventDataControlFixture& GivenARealEventDataControl(
@@ -104,12 +104,12 @@ class EventDataControlFixture : public ::testing::Test
104104
const SlotIndexType max_slots,
105105
const LolaEventInstanceDeployment::SubscriberCountType max_subscribers)
106106
{
107-
atomic_mock_ = std::make_unique<memory::shared::AtomicMock<EventSlotStatus::value_type>>();
108-
memory::shared::AtomicIndirectorMock<EventSlotStatus::value_type>::SetMockObject(atomic_mock_.get());
107+
atomic_mock_ = std::make_unique<concurrency::atomic::AtomicMock<EventSlotStatus::value_type>>();
108+
concurrency::atomic::AtomicIndirectorMock<EventSlotStatus::value_type>::SetMockObject(atomic_mock_.get());
109109

110-
unit_mock_ =
111-
std::make_unique<detail_event_data_control::EventDataControlImpl<memory::shared::AtomicIndirectorMock>>(
112-
max_slots, memory_, max_subscribers);
110+
unit_mock_ = std::make_unique<
111+
detail_event_data_control::EventDataControlImpl<concurrency::atomic::AtomicIndirectorMock>>(
112+
max_slots, memory_, max_subscribers);
113113

114114
return *this;
115115
}
@@ -124,9 +124,9 @@ class EventDataControlFixture : public ::testing::Test
124124
}
125125

126126
FakeMemoryResource memory_{};
127-
std::unique_ptr<memory::shared::AtomicMock<EventSlotStatus::value_type>> atomic_mock_{nullptr};
128-
std::unique_ptr<detail_event_data_control::EventDataControlImpl<memory::shared::AtomicIndirectorMock>> unit_mock_{
129-
nullptr};
127+
std::unique_ptr<concurrency::atomic::AtomicMock<EventSlotStatus::value_type>> atomic_mock_{nullptr};
128+
std::unique_ptr<detail_event_data_control::EventDataControlImpl<concurrency::atomic::AtomicIndirectorMock>>
129+
unit_mock_{nullptr};
130130
std::unique_ptr<EventDataControl> unit_{nullptr};
131131
};
132132

score/mw/com/impl/bindings/lola/event_subscription_control.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,8 @@ auto EventSubscriptionControlImpl<AtomicIndirectorType>::Unsubscribe(SlotNumberT
164164
std::terminate();
165165
}
166166

167-
template class EventSubscriptionControlImpl<memory::shared::AtomicIndirectorReal>;
168-
template class EventSubscriptionControlImpl<memory::shared::AtomicIndirectorMock>;
167+
template class EventSubscriptionControlImpl<concurrency::atomic::AtomicIndirectorReal>;
168+
template class EventSubscriptionControlImpl<concurrency::atomic::AtomicIndirectorMock>;
169169

170170
} // namespace detail_event_subscription_control
171171

0 commit comments

Comments
 (0)