Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
cc17ca2
common: monitoring: provide runtime id in average monitoring
mykola-kobets-epam Jun 11, 2026
f1a2213
cm: launcher: consider balancing indicator in reserve runtime resources
mykola-kobets-epam Jun 11, 2026
5320f65
cm: launcher: don't slice max threshold percent
mykola-kobets-epam Jun 11, 2026
c1336f6
cm: launcher: launcher should keep status info for paused nodes as well
mykola-kobets-epam Jun 12, 2026
4491aee
cm: launcher: add UID pool for the same instance ident
mykola-kobets-epam Jun 12, 2026
2bb6333
cm: config: increase alerts cache size to 64
al1img Jun 17, 2026
049943f
cm: launcher: fix static allocator size in instance manager
al1img Jun 17, 2026
25eada0
sm: imagemanager: fix static allocator size
al1img Jun 17, 2026
468fee5
sm: imagemanager: postpone removing orphans till all item processed
al1img Jun 17, 2026
964accf
sm: launcher: fix static allocator size
al1img Jun 17, 2026
92a1281
cm: launcher: fix instance status
mykola-kobets-epam Jun 16, 2026
ecf5323
spaceallocator: fix mAllocationCount leak in ResizeSpace
Jun 18, 2026
901de8c
imagemanager: fix stale cancel flag blocking new download after cance…
Jun 22, 2026
5a69313
cm: launcher: instance status update should not add/rm new instances
mykola-kobets-epam Jun 18, 2026
d98d865
common: clang format fix
mykola-kobets-epam Jun 25, 2026
0d24946
cm: launcher: separate sm info loading from scheduling
mykola-kobets-epam Jun 17, 2026
8fbbfe9
cm: launcher: don't return error if restore instance from storage failed
mykola-kobets-epam Jun 17, 2026
5c4bfb9
sm: imagemanager: remove checking mInProgressBlobs for outdated items
al1img Jun 23, 2026
acbf31c
sm: imagemanager: move install layers to separate functions
al1img Jun 23, 2026
b675bf0
sm: imagemanager: track installing blobs/layers for orphan removal
al1img Jun 24, 2026
a7dd8f1
Revert "sm: imagemanager: postpone removing orphans till all item pro…
al1img Jun 24, 2026
2d7d774
sm: imagemanager: tests: fix empty digest in RemoveOutdatedItems test
al1img Jun 24, 2026
75d1cff
sm: imagemanager: tests: test orphan removal during active install
al1img Jun 24, 2026
2f1b261
sm: imagemanager: fix premature blob install lock release
al1img Jun 25, 2026
d5b05b6
cm: launcher: fix lint warning
al1img Jun 25, 2026
b7c4feb
sm: networkmanager: pass instance subnet to firewall
Jun 25, 2026
3a23e26
cm: updatemanager: store instance statuses in flat pointer-based array
al1img Jun 26, 2026
cf64d3e
cm: launcher: remove cache when allowed number of instances exceeded
mykola-kobets-epam Jun 25, 2026
6c94e9b
sm: networkmanager: clear only physical networks on teardown
Jun 30, 2026
31a5b90
sm: networkmanager: create vlan enslaved to bridge in one netlink op
Jun 30, 2026
6fb9073
sm: networkmanager: add combined veth/instance-config interface methods
Jun 30, 2026
63c2459
sm: launcher: stop all instances on close including inactive
al1img Jul 1, 2026
8a56008
cm: updatemanager: clear instance statuses array on clearing unit status
al1img Jul 2, 2026
ff89a64
cm: launcher: remove extra space in instance manager log
al1img Jul 2, 2026
68daa8e
sm: launcher: add info log on start and stop instances
al1img Jul 2, 2026
10d9c5a
sm: launcher: parallelize instance start/stop via thread pool
al1img Jul 2, 2026
62705ff
sm: networkmanager: reduce stack usage in AddInstanceToNetwork
al1img Jul 5, 2026
5043b97
cm: launcher: fix env var status lost to assert side effect
al1img Jul 8, 2026
689715a
sm: networkmanager: drop duplicate cMaxNumHosts constant
al1img Jul 8, 2026
f16113f
common: crypto: fix trailing % and simplify DecodeToPKCS11ID logic
mykola-kobets-epam Jun 26, 2026
89181df
common: pkcs11: FindCertificateByKeyID check for error fix
mykola-kobets-epam Jun 26, 2026
d1f583c
common: pkcs11: don't return certificate object if DERToX509Cert fails
mykola-kobets-epam Jun 26, 2026
1b3b8c3
common: iam: add traces to print crypto algorithms
mykola-kobets-epam Jun 30, 2026
779a012
sm: launcher: fix instance data invalidation on remove
al1img Jul 9, 2026
74c2425
sm: networkmanager: return resolv/hosts data instead of writing files
Jul 3, 2026
b5948b3
sm: networkmanager: cover resolv/hosts getters in tests
Jul 6, 2026
312e7bf
sm: launcher: start/stop instance network on instance start/stop
al1img Jul 8, 2026
5f0b5a5
sm: launcher: run instance network start/stop as pool tasks
al1img Jul 11, 2026
466039a
common: wait for callbacks in Timer::Stop
mykola-kobets-epam Jul 8, 2026
98c372e
cm: common: specify stop mode for Timer::Stop
mykola-kobets-epam Jul 9, 2026
80c65fb
cm: common: sm: fix lint warnings
mykola-kobets-epam Jul 13, 2026
91ba541
sm: launcher: skip loading data for non-service instances
al1img Jul 12, 2026
1404ddc
sm: launcher: remove instance state checks in RemoveInstances
al1img Jul 13, 2026
768d023
sm: networkmanager: size resolv/hosts allocator for concurrency
al1img Jul 13, 2026
bebd073
sm: networkmanager: guard concurrent last-instance network teardown
Jul 13, 2026
477d873
ci: update badges to point to develop branch results
VasylSamoilov Jul 14, 2026
60e1a4d
cm: unitconfig: handle absent state on node info change
Jul 8, 2026
5ca3edb
common: timer: use default NoWait param in Timer::Stop
mykola-kobets-epam Jul 14, 2026
d8582c7
common: timer: set 5 ms tolerance for timer unit tests
mykola-kobets-epam Jul 14, 2026
08ddca8
ci: simplify README badges to develop branch only
al1img Jul 17, 2026
cbdbcc5
sm: launcher: tolerate already-exists/not-found errors
al1img Jul 17, 2026
2e08ecd
ci: allow unsafe checkout of fork PR head in build-test
al1img Jul 22, 2026
b769dad
cm: launcher: double the amount of gid-s uid-s for instance removal
mykola-kobets-epam Jul 27, 2026
ea68141
cm: launcher: fix crash in cm::launcher
mykola-kobets-epam Jul 27, 2026
1b8775c
cm: launcher: release id pool even storage RemoveInstance failed
mykola-kobets-epam Jul 27, 2026
49215e4
cm: launcher: move override env vars implementation to a dedicated class
mykola-kobets-epam Jul 16, 2026
fe9a50b
cm: launcher: fix unit tests
mykola-kobets-epam Jul 16, 2026
d58a081
cm: launcher: add override env var accessor
mykola-kobets-epam Jul 16, 2026
7af20f6
cm: launcher: send override env vars statuses
mykola-kobets-epam Jul 18, 2026
23a1a05
sm: launcher: implement InitInstances
al1img Jul 29, 2026
030c73b
sm: networkmanager: add link and netns existence queries
Jul 30, 2026
fbb8c59
sm: networkmanager: adopt existing bridge and vlan links
Jul 30, 2026
1a8dae3
sm: networkmanager: keep running instances across SM restart
Jul 30, 2026
09ff827
sm: networkmanager: restore DNS handle before cleaning leftovers
Jul 30, 2026
28ae87b
sm: networkmanager: reap orphan firewall artifacts on start
Jul 30, 2026
20eb0a8
sm: networkmanager: restore traffic accounting for adopted instances
Jul 31, 2026
703379d
sm: networkmanager: reap instance veth via namespace teardown, not sy…
Jul 2, 2026
f17c783
sm: networkmanager: skip bandwidth clear when no shaping was applied
Jul 2, 2026
e86a000
sm: networkmanager: update tests for conditional bandwidth clear
Jul 22, 2026
001167c
sm: networkmanager: add storage transaction interface
Jul 22, 2026
a7b0ee8
sm: networkmanager: add firewall and traffic batch interface
Jul 22, 2026
7708f44
sm: networkmanager: add batch interface to network manager
Jul 22, 2026
a101f66
sm: networkmanager: orchestrate network batch flush
Jul 22, 2026
9f7e5df
sm: networkmanager: fall back to per-instance apply on batch flush fa…
Jul 22, 2026
20818fc
sm: launcher: wrap network start phase in batch and fail unapplied in…
Jul 22, 2026
e3a5fbb
sm: launcher: wrap network stop phases in batch
Jul 22, 2026
50dc4a4
sm: networkmanager: test batch flush success, revert and per-instance…
Jul 22, 2026
d372f2d
sm: launcher: expect network batch calls and cover start flush failure
Jul 22, 2026
9ae3821
sm: networkmanager: add AbortBatch to firewall and traffic monitor
Jul 23, 2026
ff13fb8
sm: networkmanager: recover each backend on batch flush failure
Jul 24, 2026
50d2dd3
sm: networkmanager: adopt DNS server for running instances on reconcile
Aug 3, 2026
9208a0a
sm: networkmanager: test DNS server adoption for running instances
Aug 3, 2026
a901be2
common: monitoring: decrease memory usage of monitoring
mlohvynenko Aug 3, 2026
26708dd
memory: check allocation before constructing objects
al1img Jul 30, 2026
af4d389
tools: check MakeUnique/MakeShared allocation failures everywhere
al1img Jul 30, 2026
b6857b7
tools: replace static allocator with AllocatorItf/HeapAllocator
al1img Jul 30, 2026
37b8124
common: migrate to injected AllocatorItf
al1img Jul 30, 2026
a632154
cm: migrate to injected AllocatorItf
al1img Jul 30, 2026
0ca2bbd
iam: migrate to injected AllocatorItf
al1img Jul 30, 2026
d38ad2d
sm: migrate to injected AllocatorItf
al1img Jul 30, 2026
75b27dc
sm: networkmanager: fix mInstanceNetworkInfos and mBatchEntries capacity
al1img Jul 31, 2026
9ca5544
common: tools: remove unmatched suppression: templateRecursion
al1img Aug 3, 2026
7bf0bb8
sm: launcher: fix missed FinishLaunch on early return
al1img Aug 3, 2026
29f7a64
common: iam: tests: suppress unusedStructMember for mAllocator
al1img Aug 3, 2026
cd8899c
tools: make SharedPtr control block ref count thread safe
al1img Aug 3, 2026
4d11643
common: pkcs11: close session on SessionContext alloc failure
al1img Aug 3, 2026
d67f872
common: crypto: extend Certificate class with CA attributes
mykola-kobets-epam Aug 13, 2026
cec9824
common: crypto: implement ValidateCACert
mykola-kobets-epam Aug 13, 2026
698cf38
common: crypto: parse additional attributes in crypto providers
mykola-kobets-epam Aug 13, 2026
67d1fb6
crypto: pkcs11: add verification for root / interm certificates
mykola-kobets-epam Aug 13, 2026
b286ed3
iam: add verification for CA certificates
mykola-kobets-epam Aug 13, 2026
fb64cb6
common: crypto: add unit tests to check CA, keyUsage, version attributes
mykola-kobets-epam Aug 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
fetch-depth: 0

Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/build-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,12 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
ref: ${{github.event.pull_request.head.ref}}
repository: ${{github.event.pull_request.head.repo.full_name}}
fetch-depth: 0
allow-unsafe-pr-checkout: true

- name: Install build wrapper
uses: SonarSource/sonarqube-scan-action/install-build-wrapper@v7
Expand All @@ -54,6 +55,7 @@ jobs:
./build.sh coverage

- name: Upload codecov report
if: github.event_name == 'push'
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/check-format.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
name: Formatting Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: Install dependencies
run: |
python -m pip install --upgrade pip
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v7

- name: Log in to github container registry
uses: docker/login-action@v3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
fetch-depth: 0

Expand Down
13 changes: 10 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
<!-- markdownlint-disable-next-line MD041 -->
[![ci](https://github.com/aosedge/aos_core_lib_cpp/actions/workflows/build_test.yaml/badge.svg)](https://github.com/aosedge/aos_core_lib_cpp/actions/workflows/build_test.yaml)
[![codecov](https://codecov.io/gh/aosedge/aos_core_lib_cpp/graph/badge.svg?token=kg8h7ATd9S)](https://codecov.io/gh/aosedge/aos_core_lib_cpp)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=aosedge_aos_core_lib_cpp&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=aosedge_aos_core_lib_cpp)
[![ci][ci-dev]][ci-dev-link]
[![coverage][cov-dev]][cov-dev-link]
[![Quality Gate][qg-dev]][qg-dev-link]

[ci-dev]: https://github.com/aosedge/aos_core_lib_cpp/actions/workflows/build-test.yaml/badge.svg?branch=develop
[ci-dev-link]: https://github.com/aosedge/aos_core_lib_cpp/actions/workflows/build-test.yaml?query=branch%3Adevelop
[cov-dev]: https://sonarcloud.io/api/project_badges/measure?project=aosedge_aos_core_lib_cpp&metric=coverage&branch=develop
[cov-dev-link]: https://sonarcloud.io/summary/new_code?id=aosedge_aos_core_lib_cpp&branch=develop
[qg-dev]: https://sonarcloud.io/api/project_badges/measure?project=aosedge_aos_core_lib_cpp&metric=alert_status&branch=develop
[qg-dev-link]: https://sonarcloud.io/summary/new_code?id=aosedge_aos_core_lib_cpp&branch=develop

# Aos core cpp libraries

Expand Down
21 changes: 21 additions & 0 deletions codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
codecov:
branch: main

coverage:
status:
project:
default:
target: auto
threshold: 1%
informational: true
patch:
default:
target: 80%
informational: true

ignore:
- "**/tests/**"

branches:
- main
- develop
28 changes: 21 additions & 7 deletions src/core/cm/alerts/alerts.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,12 @@ class SetTimestamp : public StaticVisitor<void> {
* Public
**********************************************************************************************************************/

Error Alerts::Init(
const alerts::Config& config, cm::alerts::SenderItf& sender, cloudconnection::CloudConnectionItf& cloudConnection)
Error Alerts::Init(AllocatorItf& allocator, const alerts::Config& config, cm::alerts::SenderItf& sender,
cloudconnection::CloudConnectionItf& cloudConnection)
{
LOG_DBG() << "Init alerts" << Log::Field("sendPeriod", config.mSendPeriod);

mAllocator = &allocator;
mConfig = config;
mSender = &sender;
mCloudConnection = &cloudConnection;
Expand Down Expand Up @@ -102,7 +103,7 @@ Error Alerts::Stop()
err = AOS_ERROR_WRAP(unsubscribeErr);
}

if (auto stopErr = mSendTimer.Stop(); !stopErr.IsNone()) {
if (auto stopErr = mSendTimer.Stop(Timer::StopMode::WaitForCallbacks); !stopErr.IsNone()) {
LOG_ERR() << "Failed to stop alerts send timer" << Log::Field(stopErr);

if (err.IsNone()) {
Expand Down Expand Up @@ -186,8 +187,8 @@ Error Alerts::UnsubscribeListener(AlertsListenerItf& listener)

size_t removed = 0;

for (auto& [tag, listeners] : mListeners) {
removed += listeners.Remove(&listener);
for (auto& item : mListeners) {
removed += item.mSecond.Remove(&listener);
}

return removed > 0 ? ErrorEnum::eNone : ErrorEnum::eNotFound;
Expand Down Expand Up @@ -242,6 +243,9 @@ Error Alerts::SendAlerts()

while (!mAlerts.IsEmpty()) {
auto package = CreatePackage();
if (!package) {
return AOS_ERROR_WRAP(ErrorEnum::eNoMemory);
}

LOG_INF() << "Send alerts" << Log::Field("alertsCount", package->mItems.Size());

Expand All @@ -257,7 +261,12 @@ Error Alerts::SendAlerts()

bool Alerts::IsDuplicated(const AlertVariant& alert)
{
auto alertCopy = MakeUnique<AlertVariant>(&mAllocator, alert);
auto alertCopy = MakeUnique<AlertVariant>(mAllocator, alert);
if (!alertCopy) {
LOG_ERR() << "Can't allocate alert copy" << Log::Field(ErrorEnum::eNoMemory);

return false;
}

return mAlerts.FindIf([&alertCopy](const AlertVariant& item) {
alertCopy->ApplyVisitor(SetTimestamp(item.ApplyVisitor(GetTimestamp())));
Expand All @@ -268,7 +277,12 @@ bool Alerts::IsDuplicated(const AlertVariant& alert)

UniquePtr<aos::Alerts> Alerts::CreatePackage()
{
auto package = MakeUnique<aos::Alerts>(&mAllocator);
auto package = MakeUnique<aos::Alerts>(mAllocator);
if (!package) {
LOG_ERR() << "Can't allocate alerts package" << Log::Field(ErrorEnum::eNoMemory);

return package;
}

const auto count = Min<size_t>(cAlertItemsCount, mAlerts.Size());

Expand Down
6 changes: 3 additions & 3 deletions src/core/cm/alerts/alerts.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,13 @@ class Alerts : public ReceiverItf,
/**
* Initializes alerts.
*
* @param allocator allocator to use for temporary objects.
* @param config configuration object.
* @param sender alerts sender object.
* @param cloudConnection cloud connection.
* @return Error.
*/
Error Init(const alerts::Config& config, cm::alerts::SenderItf& sender,
Error Init(AllocatorItf& allocator, const alerts::Config& config, cm::alerts::SenderItf& sender,
cloudconnection::CloudConnectionItf& cloudConnection);

/**
Expand Down Expand Up @@ -96,7 +97,6 @@ class Alerts : public ReceiverItf,
Error UnsubscribeListener(AlertsListenerItf& listener) override;

private:
static constexpr auto cAllocatorSize = sizeof(AlertVariant) + sizeof(aos::Alerts);
static constexpr auto cListenersMaxCount = 4;
static constexpr auto cAlertTagsCount = static_cast<size_t>(AlertTagEnum::eNumAlertTags);

Expand All @@ -111,7 +111,7 @@ class Alerts : public ReceiverItf,
void ShrinkCache(size_t count);
void NotifyListeners(const AlertVariant& alert);

StaticAllocator<cAllocatorSize> mAllocator;
AllocatorItf* mAllocator {};
alerts::Config mConfig;
cm::alerts::SenderItf* mSender {};
cloudconnection::CloudConnectionItf* mCloudConnection {};
Expand Down
21 changes: 13 additions & 8 deletions src/core/cm/alerts/tests/alerts.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
#include <core/common/tests/mocks/cloudconnectionmock.hpp>
#include <core/common/tests/utils/log.hpp>
#include <core/common/tests/utils/utils.hpp>
#include <core/common/tools/heapallocator.hpp>

#include <core/cm/alerts/alerts.hpp>

Expand Down Expand Up @@ -125,6 +126,10 @@ class AlertsTest : public Test {
protected:
void SetUp() override { tests::utils::InitLog(); }

// mAllocator must be declared (and therefore destroyed) after any member that allocates from it, since
// members are destroyed in reverse declaration order.
HeapAllocator mAllocator;

alerts::Config mConfig {Time::cSeconds * 1};
SenderStub mCommunication;
cloudconnection::CloudConnectionMock mCloudConnection;
Expand Down Expand Up @@ -159,7 +164,7 @@ TEST_F(AlertsTest, DuplicatesAreSkipped)
return ErrorEnum::eNone;
}));

auto err = mAlerts->Init(mConfig, mCommunication, mCloudConnection);
auto err = mAlerts->Init(mAllocator, mConfig, mCommunication, mCloudConnection);
ASSERT_TRUE(err.IsNone()) << tests::utils::ErrorToStr(err);

err = mAlerts->Start();
Expand Down Expand Up @@ -198,16 +203,16 @@ TEST_F(AlertsTest, AlertIsSkippedIfBufferIsFull)

std::string message;

auto err = mAlerts->Init(mAllocator, mConfig, mCommunication, mCloudConnection);
ASSERT_TRUE(err.IsNone()) << tests::utils::ErrorToStr(err);

for (size_t i = 0; i < cAlertsCacheSize; ++i) {
auto alert = CreateCoreAlert(cTime, "node1", std::to_string(i));

auto err = mAlerts->OnAlertReceived(*alert);
err = mAlerts->OnAlertReceived(*alert);
EXPECT_TRUE(err.IsNone()) << tests::utils::ErrorToStr(err);
}

auto err = mAlerts->Init(mConfig, mCommunication, mCloudConnection);
ASSERT_TRUE(err.IsNone()) << tests::utils::ErrorToStr(err);

err = mAlerts->OnAlertReceived(*CreateCoreAlert(cTime, "node1", "skipped alert"));
EXPECT_TRUE(err.IsNone()) << tests::utils::ErrorToStr(err);

Expand Down Expand Up @@ -264,7 +269,7 @@ TEST_F(AlertsTest, PackagesAreSent)

mConfig.mSendPeriod = Time::cSeconds * 3;

auto err = mAlerts->Init(mConfig, mCommunication, mCloudConnection);
auto err = mAlerts->Init(mAllocator, mConfig, mCommunication, mCloudConnection);
ASSERT_TRUE(err.IsNone()) << tests::utils::ErrorToStr(err);

err = mAlerts->Start();
Expand Down Expand Up @@ -311,7 +316,7 @@ TEST_F(AlertsTest, PackagesAreSentOnReconnect)

std::vector<aos::Alerts> receivedPackages;

auto err = mAlerts->Init(mConfig, mCommunication, mCloudConnection);
auto err = mAlerts->Init(mAllocator, mConfig, mCommunication, mCloudConnection);
ASSERT_TRUE(err.IsNone()) << tests::utils::ErrorToStr(err);

err = mAlerts->Start();
Expand Down Expand Up @@ -353,7 +358,7 @@ TEST_F(AlertsTest, ListenersAreNotified)
AlertTagEnum::eCoreAlert,
};

auto err = mAlerts->Init(mConfig, mCommunication, mCloudConnection);
auto err = mAlerts->Init(mAllocator, mConfig, mCommunication, mCloudConnection);
ASSERT_TRUE(err.IsNone()) << tests::utils::ErrorToStr(err);

err = mAlerts->SubscribeListener(
Expand Down
2 changes: 1 addition & 1 deletion src/core/cm/config.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
* Alerts cache size.
*/
#ifndef AOS_CONFIG_CM_ALERTS_CACHE_SIZE
#define AOS_CONFIG_CM_ALERTS_CACHE_SIZE 32
#define AOS_CONFIG_CM_ALERTS_CACHE_SIZE 64
#endif

/**
Expand Down
Loading
Loading