From 1d7d2e87bfd253ee4dd576ced1425798b0e54394 Mon Sep 17 00:00:00 2001 From: Pawel Pyszko Date: Thu, 2 Jul 2026 11:28:31 +0200 Subject: [PATCH 01/26] mw::log: Add tracking ticket to missing transitive dependencies GIT_ORIGIN_SPP_REV_ID: 243bfaba861fbab5b7a7ea9b6af0bba5b4cdadda --- score/datarouter/BUILD | 22 +-- .../doc/design/uml/context-details.png | Bin 0 -> 139306 bytes .../doc/design/uml/context-details.puml | 135 +++++++++++++++++ .../datarouter/doc/design/uml/context-ecu.png | Bin 0 -> 28799 bytes .../doc/design/uml/context-ecu.puml | 23 +++ .../doc/design/uml/context-highlevel.png | Bin 0 -> 60677 bytes .../doc/design/uml/context-highlevel.puml | 52 +++++++ .../doc/design/uml/context-sw-units.png | Bin 0 -> 77136 bytes .../doc/design/uml/context-sw-units.puml | 71 +++++++++ .../datarouter/doc/design/uml/detail-ipc.png | Bin 0 -> 58907 bytes .../datarouter/doc/design/uml/detail-ipc.puml | 32 ++++ .../uml/dlt_message_filtering_backend.png | Bin 0 -> 76547 bytes .../uml/dlt_message_filtering_backend.puml | 50 ++++++ .../uml/dlt_message_filtering_frontend.png | Bin 0 -> 79404 bytes .../uml/dlt_message_filtering_frontend.puml | 47 ++++++ .../file_transfer_feature_class_diagram.png | Bin 0 -> 165873 bytes .../file_transfer_feature_class_diagram.puml | 143 ++++++++++++++++++ .../doc/design/uml/ipc_status_quo.puml | 129 ++++++++++++++++ .../doc/design/uml/package-ara-log.png | Bin 0 -> 329484 bytes .../doc/design/uml/package-ara-log.puml | 106 +++++++++++++ .../doc/design/uml/package-datarouter.png | Bin 0 -> 70495 bytes .../doc/design/uml/package-datarouter.puml | 38 +++++ .../uml/persistent-cleanup-cls-dgm.puml | 43 ++++++ .../uml/persistent-cleanup-seq-dgm.puml | 130 ++++++++++++++++ .../design/uml/persistent_logging_class.puml | 17 +++ .../uml/persistent_logging_sequence.puml | 98 ++++++++++++ .../datarouter/doc/design/uml/seq-ara-log.png | Bin 0 -> 48905 bytes .../doc/design/uml/seq-ara-log.puml | 60 ++++++++ score/datarouter/doc/design/uml/seq-trace.png | Bin 0 -> 99705 bytes .../datarouter/doc/design/uml/seq-trace.puml | 46 ++++++ .../doc/design/uml/seq-tracing-startup.png | Bin 0 -> 22132 bytes .../doc/design/uml/seq-tracing-startup.puml | 23 +++ .../doc/design/uml/seq_kvs_threads.png | Bin 0 -> 53485 bytes .../uml/seq_kvs_threads_sequence_diagram.puml | 70 +++++++++ .../ut/ut_logging/test_unix_domain_common.cpp | 24 +-- .../test/utils/data_router_test_utils.h | 2 +- ...router_message_client_identifiers_test.cpp | 24 +-- 37 files changed, 1349 insertions(+), 36 deletions(-) create mode 100644 score/datarouter/doc/design/uml/context-details.png create mode 100644 score/datarouter/doc/design/uml/context-details.puml create mode 100644 score/datarouter/doc/design/uml/context-ecu.png create mode 100644 score/datarouter/doc/design/uml/context-ecu.puml create mode 100644 score/datarouter/doc/design/uml/context-highlevel.png create mode 100644 score/datarouter/doc/design/uml/context-highlevel.puml create mode 100644 score/datarouter/doc/design/uml/context-sw-units.png create mode 100644 score/datarouter/doc/design/uml/context-sw-units.puml create mode 100644 score/datarouter/doc/design/uml/detail-ipc.png create mode 100644 score/datarouter/doc/design/uml/detail-ipc.puml create mode 100644 score/datarouter/doc/design/uml/dlt_message_filtering_backend.png create mode 100644 score/datarouter/doc/design/uml/dlt_message_filtering_backend.puml create mode 100644 score/datarouter/doc/design/uml/dlt_message_filtering_frontend.png create mode 100644 score/datarouter/doc/design/uml/dlt_message_filtering_frontend.puml create mode 100644 score/datarouter/doc/design/uml/file_transfer_feature_class_diagram.png create mode 100644 score/datarouter/doc/design/uml/file_transfer_feature_class_diagram.puml create mode 100644 score/datarouter/doc/design/uml/ipc_status_quo.puml create mode 100644 score/datarouter/doc/design/uml/package-ara-log.png create mode 100644 score/datarouter/doc/design/uml/package-ara-log.puml create mode 100644 score/datarouter/doc/design/uml/package-datarouter.png create mode 100644 score/datarouter/doc/design/uml/package-datarouter.puml create mode 100644 score/datarouter/doc/design/uml/persistent-cleanup-cls-dgm.puml create mode 100644 score/datarouter/doc/design/uml/persistent-cleanup-seq-dgm.puml create mode 100644 score/datarouter/doc/design/uml/persistent_logging_class.puml create mode 100644 score/datarouter/doc/design/uml/persistent_logging_sequence.puml create mode 100644 score/datarouter/doc/design/uml/seq-ara-log.png create mode 100644 score/datarouter/doc/design/uml/seq-ara-log.puml create mode 100644 score/datarouter/doc/design/uml/seq-trace.png create mode 100644 score/datarouter/doc/design/uml/seq-trace.puml create mode 100644 score/datarouter/doc/design/uml/seq-tracing-startup.png create mode 100644 score/datarouter/doc/design/uml/seq-tracing-startup.puml create mode 100644 score/datarouter/doc/design/uml/seq_kvs_threads.png create mode 100644 score/datarouter/doc/design/uml/seq_kvs_threads_sequence_diagram.puml diff --git a/score/datarouter/BUILD b/score/datarouter/BUILD index 8747689d..cc90b047 100644 --- a/score/datarouter/BUILD +++ b/score/datarouter/BUILD @@ -208,8 +208,8 @@ cc_library( ":datarouter_types", ":dltprotocol", ":logparser_interface", + "//score/mw/log", "//score/mw/log/detail/data_router/shared_memory:reader", - "@score_baselibs//score/mw/log", "@score_baselibs//score/mw/log/configuration:nvconfig", "@score_baselibs//score/static_reflection_with_serialization/serialization", ], @@ -383,7 +383,7 @@ cc_library( strip_include_prefix = "src/applications", visibility = ["//score/datarouter/test:__subpackages__"], deps = [ - "@score_baselibs//score/mw/log", + "//score/mw/log", ], ) @@ -400,7 +400,7 @@ cc_library( "@score_logging//score/datarouter:__subpackages__", ], deps = [ - "@score_baselibs//score/mw/log", + "//score/mw/log", ], ) @@ -420,10 +420,10 @@ cc_library( ":logparser_factory_interface", ":message_passing_server", ":unixdomain_server", + "//score/mw/log", "//score/mw/log/detail/data_router/shared_memory:reader", "@score_baselibs//score/concurrency:synchronized", "@score_baselibs//score/language/futurecpp", - "@score_baselibs//score/mw/log", ], ) @@ -444,8 +444,8 @@ cc_library( ":logparser_factory_interface", ":message_passing_server", ":unixdomain_mock", + "//score/mw/log", "@score_baselibs//score/concurrency:synchronized", - "@score_baselibs//score/mw/log", ], ) @@ -467,8 +467,8 @@ cc_library( ":logparser_testing", ":message_passing_server", ":unixdomain_mock", + "//score/mw/log", "@score_baselibs//score/concurrency:synchronized", - "@score_baselibs//score/mw/log", ], ) @@ -627,8 +627,8 @@ cc_library( ":unixdomain_server", "//score/datarouter/network:vlan", "//score/datarouter/src/persistent_logging/persistent_logging_stub:sysedr_stub", + "//score/mw/log", "@score_baselibs//score/language/futurecpp", - "@score_baselibs//score/mw/log", "@score_baselibs//score/mw/log/configuration:nvconfig", "@score_baselibs//score/os:socket", "@score_baselibs//score/os:stat", @@ -656,7 +656,7 @@ cc_library( ], deps = [ ":dltserver_common", - "@score_baselibs//score/mw/log", + "//score/mw/log", "@score_baselibs//score/mw/log/configuration:nvconfig", "@score_baselibs//score/os:socket", "@score_baselibs//score/os:stat", @@ -716,8 +716,8 @@ cc_library( ":logchannel_utility", ":socketserver_config_helpers", "//score/datarouter/src/persistency:interface", + "//score/mw/log", "@rapidjson", - "@score_baselibs//score/mw/log", ], ) @@ -866,7 +866,7 @@ cc_library( visibility = ["//score/datarouter/test:__subpackages__"], deps = [ ":datarouter_options", - "@score_baselibs//score/mw/log", + "//score/mw/log", ] + deps, ) for (name, deps, test_only) in [ @@ -1109,7 +1109,7 @@ cc_library( "@score_baselibs//score/os:stdio", "@score_baselibs//score/os/utils:path", "@score_baselibs//score/os/utils:thread", - "@score_baselibs//score/mw/log", + "//score/mw/log", "@score_baselibs//score/mw/log/configuration:nvconfig", "//score/datarouter/dlt_filetransfer_trigger_lib:filetransfer_message_types", "//score/datarouter/src/persistent_logging/persistent_logging_stub:sysedr_stub", diff --git a/score/datarouter/doc/design/uml/context-details.png b/score/datarouter/doc/design/uml/context-details.png new file mode 100644 index 0000000000000000000000000000000000000000..e57e01c382cebf42e49554300e176cc183980a51 GIT binary patch literal 139306 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 literal 0 HcmV?d00001 diff --git a/score/datarouter/doc/design/uml/context-details.puml b/score/datarouter/doc/design/uml/context-details.puml new file mode 100644 index 00000000..d556a9a4 --- /dev/null +++ b/score/datarouter/doc/design/uml/context-details.puml @@ -0,0 +1,135 @@ +@startuml + +skinparam component { + backgroundColor<> Aquamarine + backgroundColor<> DarkCyan + fontColor<> White +} + +skinparam queue { + backgroundColor<> Aquamarine +} + +frame { + node AdaptiveApplication { + component ApplicationLogic + interface "mw::log" as aralog1 + component "mw::log implementation" <> as aralog1_impl + component rapidjson <> as rj1 + + aralog1 - aralog1_impl + ApplicationLogic --> aralog1 : verbose + ApplicationLogic --> aralog1 : non-verbose + aralog1_impl .> rj1 : use + } + + queue Ringbuffer1 <> as RB1 + database "AdaptiveApplication/logging.json" as cfg1 + rj1 -> cfg1 +} + + +frame { + node SystemApplication { + component SystemApplicationLogic + interface "mw::log" as aralog2 + component "mw::log implementation" <> as aralog2_impl + component rapidjson <> as rj2 + + aralog2 - aralog2_impl + SystemApplicationLogic --> aralog2 : verbose + aralog2_impl .> rj2 : use + } + + queue Ringbuffer2 <> as RB2 + database "SystemApplication/logging.json" as cfg2 + rj2 -> cfg2 +} + +note right of RB1 + Shared memory + allocated by AdaptiveApplication +end note + +aralog1_impl ..> RB1 : own +aralog2_impl ..> RB2 : own +aralog1_impl --> RB1 : write +aralog2_impl --> RB2 : write + +database "MessageIDs" as type_id + +node "Datarouter"{ + + component [Source Session 1] <> as sourcesession1 + component [Source Session 2] <> as sourcesession2 + + + component "NonVerboseHandler" as nvh { + component "Filter" as nvfilter + component "Pack" as nvpack + + type_id <.. nvfilter + type_id <.. nvpack + nvfilter --> nvpack + } + + RB1 <-- sourcesession1 : read + RB2 <-- sourcesession2 : read + + component "VerboseHandler" as vh { + component "Pack" as vpack + component "Filter" as vfilter + + vfilter --> vpack + } + + component "DLT Output" as dlt_out { + component "Dispatch" as Demux + component "Traffic shaping queues" as out { + queue "High Priority DLT" as dlt1 + queue "Low Priority DLT" as dlt2 + queue "Raw data" as dlt3 + } + Demux -> dlt1 + Demux -> dlt2 + Demux -> dlt3 + } + + component "Type T Handler" as type_handler { + } +} + +queue "Subscriber Buffer" as sub_rb +note right of sub_rb + Shared memory + allocated by Datarouter +end note + + +node TypeXSubscriber as type_subscriber { +} + +type_forwarder ==> sub_rb +sub_rb ==> type_subscriber + +frame "UDP ports" { + boundary HighPriorityMessages as udp_1 + boundary LowPriorityMessages as udp_2 + boundary RawData as udp_3 +} + +sourcesession1 ~~> vfilter: +sourcesession2 ~~> vfilter: +sourcesession1 ..> nvfilter: * +sourcesession2 ..> nvfilter: * +sourcesession1 --> type_handler: +sourcesession2 --> type_handler: + +vpack -> Demux +nvpack -> Demux + +dlt1 -> udp_1 +dlt2 -> udp_2 +dlt3 -> udp_3 + +@enduml diff --git a/score/datarouter/doc/design/uml/context-ecu.png b/score/datarouter/doc/design/uml/context-ecu.png new file mode 100644 index 0000000000000000000000000000000000000000..73df3ed7eaba04f2ab39c55bf21dea2ee14a3158 GIT binary patch literal 28799 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≀%TJBjYF#FINS+FaF&k-!n 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 literal 0 HcmV?d00001 diff --git a/score/datarouter/doc/design/uml/context-ecu.puml b/score/datarouter/doc/design/uml/context-ecu.puml new file mode 100644 index 00000000..32d56df3 --- /dev/null +++ b/score/datarouter/doc/design/uml/context-ecu.puml @@ -0,0 +1,23 @@ +@startuml +title Logging context in Safe-Posix-Platform (SPP) +frame SPP { + + frame "Adaptive AUTOSAR CPU" { + node Application1 + node Application2 + node SystemApplication + node "Logging framework" as DataRouter + boundary "UDP multicast" as UDP + + Application1 ..> DataRouter : LOG() + Application2 ..> DataRouter : TRACE() + SystemApplication ..> DataRouter : LOG() + DataRouter ..> UDP: DLT + } +} + +node Logger + +UDP ==> Logger + +@enduml diff --git a/score/datarouter/doc/design/uml/context-highlevel.png b/score/datarouter/doc/design/uml/context-highlevel.png new file mode 100644 index 0000000000000000000000000000000000000000..8c9f38beea7af013919472046f5063eb9ecd1822 GIT binary patch literal 60677 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 literal 0 HcmV?d00001 diff --git a/score/datarouter/doc/design/uml/context-highlevel.puml b/score/datarouter/doc/design/uml/context-highlevel.puml new file mode 100644 index 00000000..4d57073e --- /dev/null +++ b/score/datarouter/doc/design/uml/context-highlevel.puml @@ -0,0 +1,52 @@ +@startuml + +title Implementation approach + +frame "Adaptive AUTOSAR ECU" { + node AdaptiveApplication { + component ApplicationLogic + interface "mw::log" as aralog1 + component "mw::log implementation" as aralog1_impl + + aralog1 - aralog1_impl + ApplicationLogic --> aralog1 : verbose + ApplicationLogic --> aralog1 : non-verbose + + } + note right of AdaptiveApplication + EV Application, + e.g., RoadModel + end note + + + + node SystemApplication { + component SystemApplicationLogic + interface "mw::log" as aralog2 + component "mw::log implementation" as aralog2_impl + + aralog2 - aralog2_impl + SystemApplicationLogic --> aralog2 : verbose + } + note right of SystemApplication + e.g. SOME/IP daemon, + ABAC component, etc. + end note + + + node Datarouter { + } + note right of Datarouter + central logging daemon + end note +} + +boundary "UDP Multicast" as udp + +aralog1_impl --> Datarouter : write +aralog2_impl --> Datarouter : write + +Datarouter --> udp: "send DLT messages:" + + +@enduml diff --git a/score/datarouter/doc/design/uml/context-sw-units.png b/score/datarouter/doc/design/uml/context-sw-units.png new file mode 100644 index 0000000000000000000000000000000000000000..b87698f3746ec19ce6d7905b8980a11b094f4575 GIT binary patch literal 77136 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 literal 0 HcmV?d00001 diff --git a/score/datarouter/doc/design/uml/context-sw-units.puml b/score/datarouter/doc/design/uml/context-sw-units.puml new file mode 100644 index 00000000..e5bb643d --- /dev/null +++ b/score/datarouter/doc/design/uml/context-sw-units.puml @@ -0,0 +1,71 @@ +@startuml + +frame ApplicationProcess { + node AdaptiveApplication { + component ApplicationLogic + interface "ara::log" <> as aralog + component "ara::log implementation" as a1 { + component LogManager + component Logger + component LogStream + } + component "score::mw::log" { + component log_entry + component "logging_serializer" as serializer + component logger { + component SharedMemoryWriter + } + + component MessagePassingClient + SharedMemoryWriter ..> MessagePassingClient : notify + + interface TRACE <> + + TRACE -> log_entry + log_entry --> serializer : TryWriteIntoSharedMemory() + serializer --> SharedMemoryWriter : AllocAndWrite() + log_entry --> logger : instance() + + } + + component "Configuration" { + component "score::mw::log::detail::Configuration" as LogConfig + component "JSON Parser\n(rapidjson)" as ConfigReader + } + + component rapidjson + ConfigReader ..> LogConfig + ConfigReader -- rapidjson + + aralog -> LogManager + + LogManager ~> Logger + Logger ~> LogStream + + aralog -> LogStream + + LogStream -> TRACE + ApplicationLogic --> aralog : verbose + ApplicationLogic --> TRACE : non-verbose + a1 ..> "score::mw::log" : use + } + + queue "Shared Memory Buffer" as RB +} + +node "Datarouter"{ + component MessagePassingServer + component "Source Session" as session { + component SharedMemoryReader + } + + MessagePassingServer ...> session +} + +MessagePassingClient ..> MessagePassingServer: connect +MessagePassingClient -> session: ping + +SharedMemoryWriter .> RB : write +RB <. SharedMemoryReader : read + +@enduml diff --git a/score/datarouter/doc/design/uml/detail-ipc.png b/score/datarouter/doc/design/uml/detail-ipc.png new file mode 100644 index 0000000000000000000000000000000000000000..cea9dd60663574b3589b554aa53883d9d3ccca3d GIT binary patch literal 58907 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 yu=yaCK< msg_server : connect() +config_client -> UnixDomainServer : connect() + +app .> RB1 : create() +app -> RB1 : write() + +RB1 <- sourcesession : read() +msg_server ..> sourcesession: create() + +@enduml diff --git a/score/datarouter/doc/design/uml/dlt_message_filtering_backend.png b/score/datarouter/doc/design/uml/dlt_message_filtering_backend.png new file mode 100644 index 0000000000000000000000000000000000000000..0c2a45e45a632c0d67a655b4a9f66b029516090a GIT binary patch literal 76547 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⁢q+JZ!Sz%VQy6;6O*ur2&WC9j7s2U;u`n0GYn&Qw<%iP7qi)Z zleAGjaiSR+T643Bl09D6ltoe_;%zl2636`(7WXUx^>Mmh zJ%=HYg>jN^!o~Z{Nr^-h{Q$b#x*AD-$cablM5mn z#?fTxYa3|XDtBAnr_$E4IKgt>Wg@uy3+%TOG2FMWQ1)RY%srIiEop!G%)M`f2MyAq zPqQ^-RM=5b8ND6`e=o=*M!y)4s~JNvDEYfuEd3YlWnM~0ys0v7C1~U}N7|FI1qn^& zS*dtawpOADBx#LI+=w&jfX|h5l|vj77jS65oKF^Ny2acQN!SuHGUISf+QA+X5n&K5 zn}hclSV*>#jW6PNsI=9)@48_Dhc&UxY+Sz^zUNYO-iAo;%_u7_0ZH1}r(vn)bN?VEYFR{p|I ONje$^>i5+SUi@FSopVqC literal 0 HcmV?d00001 diff --git a/score/datarouter/doc/design/uml/dlt_message_filtering_backend.puml b/score/datarouter/doc/design/uml/dlt_message_filtering_backend.puml new file mode 100644 index 00000000..a65da374 --- /dev/null +++ b/score/datarouter/doc/design/uml/dlt_message_filtering_backend.puml @@ -0,0 +1,50 @@ +@startuml +title log message filtering based on log_level (Datarouter - Backend) + +start + +NOTE: This Flow diagram excludes the sequence for filtering DLT logs based on diagnostic job requests + +:log_level_threshold = kVerbose (Default; hardcoded in socketserver_config.h); +:log_level = kInfo (Default; hardcoded); + + if (Parse class-id.json file (message ID table) success) then (yes) + note left + The class-id.json file is an output of the dlt_create_fibex generator + containing unique message ids mapped to app_id, ctx_id and log_level pairs + for message Types that needs to be traced out + end note + :Register message based on NvMsgDescriptor (message_id, app_id, ctx_id, log_level); + NOTE: class-id.json + :log_level = log_level for app_id ctx_id pair; + note left + The log_level is picked based on the inputs for the dlt_fibex_defenition + generator for the respective Type that needs to be traced. + E.g.: *_fibex.cpp + end note + else (no) + endif + +if (log-channels.json file found?) then (yes) +else (no) + stop +endif + +: Parse log-channels.json; +NOTE: log-channels.json + +if (message thresholds set in log-channels.json?) then (yes) + :log_level_threshold = message_threshold (log_level) for the respective ctx_id; +else (no) + endif + +if (log_level > logLevel_threshold) then (yes) + :Drop the log message + (Will NOT copy the DLT message + to io-pkt buffers); +else (no) + :Copy the DLT message to io-pkt buffers; +endif + +stop +@enduml diff --git a/score/datarouter/doc/design/uml/dlt_message_filtering_frontend.png b/score/datarouter/doc/design/uml/dlt_message_filtering_frontend.png new file mode 100644 index 0000000000000000000000000000000000000000..0a40244bc0d42d1febaedcf99e5ee3b672bc8d32 GIT binary patch literal 79404 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

O07(@3CwEA@Wu@psXcLP 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

RtO()ApOZPzoU^&QG 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 E4*``fO#lD@ literal 0 HcmV?d00001 diff --git a/score/datarouter/doc/design/uml/dlt_message_filtering_frontend.puml b/score/datarouter/doc/design/uml/dlt_message_filtering_frontend.puml new file mode 100644 index 00000000..44a667c3 --- /dev/null +++ b/score/datarouter/doc/design/uml/dlt_message_filtering_frontend.puml @@ -0,0 +1,47 @@ +@startuml +title log message filtering based on log_level (client - Frontend) + +start + +if (logging.json file is found) then (yes) + NOTE: logging.json + :log_level is updated; +else (no) + if (ecu_logging_config.json is found) then (yes) + :log_level is updated; + else (no) + :log_level = kWarn (default; hardcoded); + endif + NOTE: ecu_logging_config.json (fallback if logging.json is NOT found) +endif + +if (Logging) then (Verbose logging) + :log_level_threshold = kWarn (Default); + :log_level_threshold = log_level based on logging.json OR + if extracted ContextConfigs (ctx_id and log_level pairs); +else (Non-Verbose logging) + :log_level_threshold = kVerbose (default); + if (class-id.json file (message table) is found) then (yes) + NOTE: class-id.json + :Parse class-id.json file (message-ID table); + :Register type based on NvMsgDescriptor (message_id, app_id, ctx_id, log_level); + if (context configs specified in the logging.json file?) then (yes) + NOTE: logging.json + :log_level_threshold = log_level for the respective ctx_id; + else (no) + endif + else (no) + endif +endif + +if (log_level > logLevel_threshold) then (yes) + :Drop the log message + - Will NOT write the message into logging buffers; +else (no) + :Write the log message into logging buffers; +endif + +NOTE: logging buffers are maintained in shared_memory (shared between client and datarouter) + +stop +@enduml diff --git a/score/datarouter/doc/design/uml/file_transfer_feature_class_diagram.png b/score/datarouter/doc/design/uml/file_transfer_feature_class_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..c3a22b7840c7fa27b02ab7153a99464b2f6f113c GIT binary patch literal 165873 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≷y-9Y7=ijMWK^ZRjK|OrKnS zSdHc8Iv(g3p$nhac${D+{bBj#V18eBw^^B#^YS#L7E)FSKj3BHfRJVw7$O!I7eTmO zZYSfK_44my0V=AfkUcAPeUxXdJT^K$ITXnzZzN;tI+}Ypzw*({EYu+|r1xskqr<}j z0s`TZ4tzDbsj^$^!3~ANqM~8vIhvcB`L#2RXL`#q2oIL0Ss}#q_O|BQ4ZT$g+_`I4 z;1TKT1_l@3Hf-Oq1N#k1!8#DmD+znZXWMlAmDz9F75yx>`yl{ug-vyu^g_4*psQbC zAiucyN?P$|YmQYcpiz4IGzc`-g|4n{`1@NvK0YqX(;haWlR#o>F;d#t7|=v8l9G~= zSOw6l#)gNNS5^SJq+M1&<>p4nu_ypo4-Rr1JBD_dmnU%|# zS5UcJS8m5WhV=L3=96ubZOT&bVrm$&;sr1QH+5fh_xBsuHjR#smJZ%Q|7>n* zI>y1l=0$tpz{dJ|478-_p0f8BV-w=zE!)2c3Jcqf{EAm#Yxwr<-Ip)m|Ls*(Rc&o+ zSjSkzD3S3RNr0k$O%E@q#%tu~=L0uT%cJ%KNnvMnLc~0K);lti@&5fR)Uw=MhNw5* zg-}pUA3j_Kk4--Vm9A`dpayjnP&gzy+68(mknZ#6&w&iu{{D?~<8(X5&Tg310u%%? zkREZ@uiC^f@J(VOsSaqRBFo*ollyNJbF#C4(gEPbrDcl9$fK4b9Ha-{a)utWdps_wM*+E-F)aWaQ$j zWL(Jx^wf%pkM|@xnwl1X9ocDa*S!+QRX}vCJ`D{caEn6e1K0ub%--lHfTIOYWlxqtt=EVEYc{UI#5l z`>eHl4cQxed&lf`VK1GSJ!9{tp)!f$4No`;{GlAJswG}JWaO?*NE z@NfCB$n)S}$c0C_x!ZpI%0va3>8o^ba4<7AzGrVg1K8o!S>%$OnE1tZ;5*7nQc@B? zAg_Lb7*t45Ibi16;F|9>H8Z0`MdXaS?E4dsdPoM3Qrc78SG!;1nJWhHRQ$v$W%J6{ z2fml+LW}ty1Toq54|`ZKIdj!EJ@fSi(pt#2Y@?Fr)=XIjNd;39T^4Mis8!l+$WFR< zZ&^&@wvzhk(I)Qjz*^H&Us9zRj@-&|rj)O;+vthm{-hDbylyvJ5+}Wb{_s-nbqHIi zO7%6kXt~I?5!|&Quy#_HkZ!l{Q5OX-1vM1DB;z}jmnB6)$$I6=tc2h~!PG%Y zRQPTC0@id>k1A~%_%@o=$Ml3i)_KhFrDoT<6sF5Wd%HdBApx`xkd`l7T&Ynyr!}ux zd^+j>M{gsk|ANi4lvm$;raiZB-~PbtpCHuc3DO2pZBt>H=xcoX^odM`f<(0P${B5k z*o~H>$N#BCMa+%f;|lWfHv#vE@(4lTfnw{tx_erX7TvFrd&^x!B}Zo&5_aO16P?FP z1lXY@+w~}??3Hz1hV<#-Ky;3}$6j9~Uv|X8&-6)&h5lW~~aWPN?zv^M;Psp(@XTYGy@;n1KU zZO9uih+e-o1aZZt!o_1*D)}>(mz4!Wu$gQZN0r6!U?W5Q-o0xV-hsZyDj;AD(E$X2 zmdslvz7>W?WTa39$_O+~h!`ey32ABdx)(AnRO8f#@8v-flOL||KLmnu`|e$EZv9-_ z0ZbJ-83zjs3kOFwsvq~YkKfA6FGQX^4lT5;&8fnVL0?}V9ts3}{Bqz&NU7)#u(5)I zgUc4n3${m`S5sD=URuHen}$GxQiP2UM42uEtr$&BUsH2%VuI<=p{SUcBaDn-f|x6q z8P(vZ5R1_}oLA?M1J)`lbMf%(ll&Ny6u>MS^Xe7Pv11{@!FITR)Usc{G=w6?hlT*n zE7z;hi*$2sz2#VL-MXcqsE9@&)QJKC{hpeNN*xBl;^O3rf0na0s-=vK3@#oolvcDs zEdda)#>PeRMWs$Ny&Gj=H|s91T)#{PPD&ileo)HP$o6 zK1i8}M=xK#Y-Tp}>;Sjx*2dCATh7qn;6Yki-GT=hg@rDY?YX!>Kfz+g&qLX88GZrZ zccRr}G2T{Esze*See$}x`cD*VtXH6BEE^w%H{eIHu?DubvzW|;i?J9v=cP$KNL;0* z@~o_^`}YUm{+%HBOrFudqTmrq3uIJCDWFZ*j=z5W!qNZ^%ASQoMJ;b@YpZoBDm+}w zW%V8?5LN^LERZZ*OMDI%%N{ba$KKw80Z)&GV62Rd`{BMOUipAe2vSxc#ZNo)?0r?@ zk4W50gwJSGs-di0Ra*KeIQa6lYobCzF9bQF)w&9u9Bgfc@cAJjR~;R5Aqm!SR?nJ1 zph!wiPP_j3LwdS(O(-u0112kq9lrkh^{bwq9`Lpv{=kq0Kmp&wXvcQ=^=)o#jSLHO=qlQ}^8P*&&qbz&c_&7aJ* z{HNVe$tT9ec|bf+W}ls&ZfR?4{_}@y?_RhUY+hBywvLYC@}!cfRrU2`}1eIlIzy@u{g|Oz(>qG-&${4oe^q&NKO^Nm(za=?wfg3xMT* z(BZTXA4Wwu=fcjiP@w}96c)DO)!LeV0KI}*UP?-;h5RM{#->N10X76IKta;_+sgbO zr(*m@rkBQeRH@)P1eS}u6J%^JT+#wNs+TI6-Oi&RmOndyWrx|4zV=p~3m5b$Cnpdr zjFQsqrIN9b_Sv(?q@)hB!hWj%@#6>mepY}nTeNomiM*j~d3kw&7gBrx>-aZze?_dl zx#?+a^Wo9a-u`|bKECXX3=A6ioO+8-PGVvrFri6JC~!0l=}t!f#ij#Z-rfLxBljfy z6}h2RiMxq|q@|(xkd$??E05(C^=F~d(Xh-!Q8b=N2saw-t+Vg^^VkQVoXpBO2(Sgs*PvkRm0$W zYimM=L#f65LNvt}egiGLw6W_42Tfshqh@U?P2{G+DepUd0o&knM#gO`t1SqYJ_@~m zQgt9ygXm!B@X{WYN5|-^4E#MZ53!qsgv9GP99NGWBoNGD-a6@>zI@qkqV+R0tDKx1 zgKUckzzx(W&FPGG1Fg%Kjf{+hac>amTwFFDKi(}XD+`f2?Fb9h0%%TP^Im)QR~ZX= z$Z37Cj`Q_ZRa8{8vzzZH zX!C?cyvufFcA)GDWqxjMD)eL>o%|t*YiataDJjOam++AiuImrFK5soOwcVO^UuY2Y zh-(hm*R|!3Q9_;hfksVe>nwIF&d6x^_3K53SA2CTW+Hq_cQ;|5Dxwf*kPqH3-vCd- z25m$UZv3s8U3e=*oWzzB8Ylru2*qEh)- z<^TO$;;j!1pQKNTibBwCZE8Be>a`)u&&oOzeKrn75#fly>ZP>UrKN^I71j5@F*w3P zLPS>c_pf+5QC4`EJ;FFGs&W1LvkmioQQs?_Gv01tAS-ogw?msr$69rFcfVmL55#y6 z^bPDDcCYLQF6d=LiX3S6E39QVmDzux=d9|Jd_4Nr@*#$$3#KfI&q zOT{F+xox$#>tgCDDFZ>NLX$Qj%KIMVU0q)h_Llc~_UyyQkBDn9%DOt&N6}~{jCB>c zIDLJzOMy)g{TJ#68{19%?|&Q=dj|(P8k$~g8D8F|hK8iXL@aL-io-B+TXOB*hlgun zX#*{uWB(PFFi`pJTYHg96x#Xi+bh_ow|6_)+kf`-EW=oz;O2(plb-JxA(#oGwy@rg z`8XY?F5|jRfB109$B#rI2(=qL2J;8@yVzmkF3xKt7n;2bvIXi0EQKp47D~PMO3OMc z=I?}#in4(l2C;&n9&_nGDtc#uBiNh(dM)}xZhn4paxyl~#mJLMsj1{+RS1@RZBO!u zjb&a_1U(B43tJlb%}M4x3&lRhU}w!Fy(I-GAb<&Q<0+$xeHcZet7Vx?B@cNsR>FR? zx7-)f1u84VLpk)(>BZS(4~Nx{bTnqM{Y& zQ8aoFUu}vyOZJO2&gRkE(qDI#A~!@slH%fS0I}djl#ZsS6H`-7B1XF!8;#A)xmj5= zklcY5p#R1CD^S@~2{<@5OVt)RiF{SvVq>;Y9xp;uYOyczFx0d*p#YAP^v&)9DblZSd2+TFbpu z@+cZuzd}MnEoR`ErL#T4t;arn{tQNW;mVbJSYL&%<*1RxTboY$`bRYBG7D;ktEQnA z462d)QjWIQueV}B1soPH&HRl-8IOL! zGK@R8`sVeNR64269D4!WOD=-B$#2E9j*TYRY;Kh*BN>5~;iE9FVOXEEiD(hp!El%M z7)lvT6;f8Ah+18`MM1sdYc1jIG<)(XX(ZRQu3vvRKYR&#B6iZzqi5Rn^eW1z zA*i-(x8Sm%YauOM)Gmo6g}!d+e?ZZnvB~^8v>&hM08*z8OsW>a>t($MB>+7by`!rx)vF7DKUYqO$jA`GB19;%vhB^Lh&GYPxzZ-?ZQx;uW>?7;@X0F3 zn0W4^%53gx|Do8+OX2LKt+h2ySUm?Ud4ea_>-r~=n z7vPif>lfUzv?R`Rm#5L(B9N<*(OU={HTf>a!BB#Id`=S$E>klzZZ0mvB{?9hPubav zhewn3c5AgBeDLsLrr*!8C-qoLySN4tN4s9u{`Z&QACg?^aHi>)iajaZKn%b{YuY zP`in^?(W^rrOWjId-v8ZvH{Kf4$!Lyjd}wGVfO_|oAPb&GAQjoojP zlECq1I}4qF$%p`!KshzNTl!Ne_Ot%NjHGw`k3ZKOdiwi`8=>M%|7tg0LqqTJ!AtJ^21S0) zo{g?4oRbw?{pqr$e&%$&jEFT812de^>sh8hU?8tfCX0px6f!U=2|~LtZO^EjC7q75 zc>WeVEer16%&(FX_XYzFXyPm^-Db2PizRPzbN_a9L@T}p-;9=Wd?CkT(UN{zU40tk zi#Bi#*y{G{p#MpP&kZV)`3b@Zzzd!YbWY^w=tHyjz)u9b2L%BKG7}1c<1~9_G0WDPS(xryBwkVTzU^-+dLDxM=D1j-S=MM1J z1SCMnpP1eAZqajL_IrJkOKPSgswd>=Wv+uB49;PSPrSCI|u zDk&*J5>Zmp365(+Ljw=_Nf^zTsY#&3$qq@0=(=`gkJHGHwYIK8(ZpLY`ZsS!QPIJt<5ibJ@~u$LB46c%(8MI1rzloR2Mo+e0OL;_ZEdoO}4*DvUw2ats<4 zB7{cmgsuxQQc(1aKp$b;qH1*nefV%kUq1%h*6z|%s_RA0D=25pDcW|RALw8)k`4g_ zc1F$xg^Pz6Tov0lymyv9&A&(SIR3_#l_sG?^f)hXd7d2op+f-ssQ>=VvPW1IID#`| zZsEqj*$|tlt*wQ@BQEYFd(KP54w75ahY!FoMz^C%3igtDmuB+5jou!l{B2ZR(L4YG z=FL>`bP?bJ`v}b?Pw<5A)f2ragQ23LCWD(8{*Z*41st z2#*jooqP55(7Zf(4Ss^~^%dj^Q3F zRfa5>zTg)x5Fvi#>6vkeXLkh9BFvw}OK-umVZmaZp%kX1rKP=p|Nh;(`GpB+m+86i zj0R6hkg_^Ct!;j47#SWW%CcJ*MFXtW=^mwh!L8oC`|04aDsg;#6N0wrx=c(L*l9AhXKYcBCYG59$53gSi}N0~|aK@_~TxxNBxNEgim&O3aOt<^F9f=r^wTDGInyW3YS zRz}ajU}|8%TO_(Nhfjf&S3C0^oKjw1f5#qhQiu$23MzjUL;8Najg8v%f@f@eW~K(b zVG~werQL;)7RV?m5wo|pvAMyMl9(6{2p^C{B@gEt(Z64R{+Mp&&mybz`0-=*~H>xo(}jd$%<-X#P0Nqi15Xg5p4xelP?9%>6wo3HS^0V&ajlU>}24%`mkP=~EA^TI|@@tPU9P#6q6S|`@ZY9s%qj?laQ3SB$OOBUq z^UR}~e*>SMle4m}j)GNzg$mUjg3#kDdM!D`LkpE}h$+VkdN2l3zGH5biF;4;W3*6v zVVlycwu~LOgBT8%qQGv5q7zM$uzt_ax2i=IaZf~u!b7A41eh7-<@NPl5r7$QGcy3m zK~xi>JmN_c^_QE7`!NmL6_j(GoG>j!NG+??1;fY&hdp> zzO}h=Pl9Pm48O|t;Gl06Jw_EaYr$-~$l_)PrCb++F$*(&O8*JU5(u)pYR($_A^C?T zcSCcQfWtVOu_zelf;oDkdzBc4P4{(D6R(>Gtn~YjA00(5lJbdYA*?464;&u?zF-hG z?S2*5LDfxj$grxet_YnO40)PjHVY8W2p0A~qiVVg&_d7^#zaV180hec#TSl??8BUx z>-8Z}V{vBMLKhn3V3y=Z2-_Win?{es%Yw|yr!SA0(CaZDo+#Y#lkjyC-i+%qmh>d!IP)LYMd@pgu z5K7?38NNfxpD1#{B%Yxlez$wyXlc+SN_D`~rzMiRVk|5zffnFHG0VF8IRG{jb~LxQ z@3SK--rwkb^g4(za17S_48^0YW2&LZ`alkm2%Gw_?GneEr(pfoyTNea};*5WF3{SU+TEpJHbRG~*;j zsc|)w^PhLWcEFMrciSuo3TjY(AjN|3yT9f;95H-P!b1*sd?+y~N!)2MB{H%Vy34M<2V2$GH+XKbR@6}vWTD5wQIDLx(A~SR|BB_0SUunD3y?PWL?+4 zAo(*odZ(a|_{JS1n49OZvHVAmdOAGosqN}=`~LDcTb z*>M>K`vH7H9HGIAsQnQwc}-1CO+jJj6w3~Ucnxq4#AGpQB_(ir;I6^YZI^m54Gv*L zjNp^pFjA+ZaKku)9DI{3fBO2}J1++>4@pdZYAP>gY?%*<4`S%t^}gEo_XI+_ z`}S?;6z$PE=%Ns3XVhlMi90%gP_ooJI9MSO;vSR)oRE=0O1~NHo7xVC#wAi#0MmH@BCJtT*~mA@O9`#h%{Y zS>Q~N1yxm4SKflY^o+u|ue;9fy7QRv!`w;7UCWV&B5miobZrVHt~z~)^5yOvfpJaR zuD!g0rCW#Ipn!~CZG@-8bL#I%b}B0mgGnO=|MQML0g$hwP^$65Cr#~*3azTL%A*{| zWlXXsYrKX6_|!Pd*sRZ!66iI~V-E+EEOu{}_V5S_Qn&u@R)x;__b5X6O9%wz4D32)le?zR}eD;fh5mKMRgKh$8vck_Xu5uNWm}!`69PQ3A!i z;Anb$xT>IW>P)7JZA*>$`Gjj9)BJ};7>gIjg-fZ#(L5To6RiNjFsYk&Lz$fTCPClM{j;ylJG zg@Y9E^TFOG7xXM@@%vH!;2MdZI(6sPEd&f%yik7mb-$Ek4(3copN9J+E6cp*2ttcf ze6oFy`=<8oDG9WN%?ySDxvao5T@V>APKYn?J+K`#0sDX<5#a)Lje_mdY4iBw?5wTe zahr;oNXl5!osVjF{?)&BkeO30P93&LjV*$vSV4n===`+>>;eMM<>SFAIz zy<=_;ko`F`6Gjw@8RTse$|FSTa{jy@i~v;noSY>H;ZO~bUk49_+(|=A`wnS3Dhanu zsSuSyz<1;`fqo+*{^H<)v9U4C8pOvS1009b0`V5oC5;d5{{41qi$3xL z`tn8W|2EHY{rSxo{RXtse{f!ieEH%<@5F>Oazy(%)z~>Xal$l9syPE~Mf@Bn?a_CS z9+l=emw~d8p{MR{!kJd&hw5L6<4_pTOI6cIz=t zsMZj_ksU)Yg_uUvoqfzP>u!hxYhrsNDhXE%8fbe8yrMb7{?V^X?!3XBdEHE zf?{%Xv=v+re?U}m(a1^wJExa{5c)?%Xs1;I?f2q<41D~FRuMRGQ1%h?LU~4S7^Ea# zZ0$LC4fL$V3v(phW;m()w&9j_(Xafcx~6KFVT$X=zuREWv~Td93M*ObMW&AQXxo=9nsm@iQ)FE zylu!-1DcU^=zymhUBu#lLDLy7efib zVJOHr)bhAxgS`G{2c+SmfQZgP7(}+Ib?m}3G#SKs5R8Dz0EI~v=Rrf!kyMnG56ikD zi}*G%@#%REg#0be!)d~LP1VUkkH!m`IV>YU3xPTpp;2DsS|%n^6BCiBIu5PBwe?|t zRS*uCKn{m*)1y-#;<}*qKV9t`D?h`7QBe?Dqc=tOx(nZCX8f=4_&0*#UU;zZ-hMSV zS4vj>eDgLbcthc-M#g`$08)F+^|{_FWG|%q%G~d9DBeLD*HzFgq^auTCSg@qu+0zN z=?QErkpA{|3q!-#Z{GZ>{0_zn_pYVD5z%^EoXUMWZqz+E2oFvyS`CWzeQRq&*BZot zJ3C{rh?L)fUD4pkXZ1xP*2}+d-inS+US#^saSt8PxJEvpV|u?e}nZwUP|X4HV{hzJi%r?eW^+x z2Z>Q3WZX6n6VYU7T)9>7R8v{l9U13R{TB}$X`4c>yiYVbdt;?7b1lei7s+I~$WgR* zZU8B6z}IMG#t_XD4Gs$Wn`h6B1Jb6Z9G%*asZd*`+Z<%qg*R{1Zd?qBrLU2Fd9_oL zE^M>8<}FF!&EG^euuf&|)-&Az4XCC@5Cw^v}!8)KUt z&&bI9)rMGXajq#%D5vQ^9NzGjN70`y%F)su&nHjJkZT7w>#qFW-2B8*9LSrLc&hcx zB^<58PWu;R8-It#8^oO6iY6l7Gt?v`O6ZzkMvGk8U;iF&?;u4Ay^f&=B7J|qR_q&! zB7}X*6d(^_72zf+%j)Zk5gWpKm}to;gG3j_*ho%a+e0WTK`EXNAP^1#%8TK!k^~&H zp0X!syWk71#9|K%BU;w26J5dAcg$>x!YPyyY&Z!=XZn~tCQj>#9mX8lt%_--cP_mZasd)785q)4#P5r_u- z-Cbtjwt*_<^^g3OftOia)Yf){;fN9PM8!D2nwwF3|xzC?PPEjo0%12rcnlsXR^L{vlZ)#%F zWRCEB9*k;8{4FglAXAWz@LYxLsTt&i(TNd9X7a@Hm%`QacTouIco z5|EQd&d6|5QwN~{;Q-B2iN_9?%7ot|SgMGNLlTd|K?i@uF_GN_L**bGfyPO(f5h{- zzck2Cvw@f4JDfmZsMWaxl28%IjE)&x4fNoWcAhN=LCYspFOUrU@L}~515v!YBO(#4 z#zM8)siLo66nhT61LE9Mgpf?gFkiU0`hLJ5K)VY@-6i9^~EDX;D=2)IrE$feK*wtzjhgEB4`Waux3VnzlQ?k zVvhFNjU(f*xc=SyP;`1SG&*Q653CvFNO=v4bT3?hum2$-!4%z5*7&?y2EWXy5`c!L zCJ{-={Os)efI*~jK%{tL0r3cBT->(gR|4Oghd+0QmrcYu~@}FH71n7H^FC!@qNPCouXezHLBEbq)d_ix+l!@kyi; zii$d$n? zKRJRhPF6>k$qmQ$M94D-G664T9I9Sk?vB3MeSflD8|UL5+%_~cynWlp=m^9FkJo(0 zMv&YdC=t53SKTtH^4T}$QnWI9-v>|?;*V0E@mT0ikPf5$F{reU#OkPY8+6F&LQ!% z6u5&R$%q5nEc5Hkowx~EcnMyzORr^dz1ep=kamKNv$f+1j(mj$2kRizff#8zX-|Vox67<(GRQG%nY^y z5hEfE`{oTq3>rE*lrZ8$AO0u1!KsiZSCch=#7O5SCMx6EF0j7wIDwNVuYgYE=B}XL z_;qZ|*6_nv!p=ny6Wt3TAcy~^xN&O2xSE-faTQ*TmlqND{Le@g%2w-qmf^*Btx(7_T?g9mkNb10gbfBj0x_!uAcJ_em|;6X{T&o-x}CC z5LZX~`++tOP*J^xzv0rW%ZEs^3vyW~ikNu>1jI0Z+S(Dy?8s5O|DH z5)1!fGw8Z5&d$b6yXey(T}`#;;#mpv&jt>>r$3rhU@eA4fhFwf>Pn0+wRd&#Z}MiJ z5|l^I32YdA(k@rmf-?IA9<6kEv97VX*#R{G#ZFXE5W_>+S&DN+M`WBqSTGs*N5>+W zJc^2Ba8#PcXZg_sE#4!6U;;-lQdGz_n_F5U5t5pm?ECcT@YvYc#Kc)rJf8;vXdKsV zv{VMM5PL9fi2M(5gSYptqOGf=Dh6z1-j6O^P+<$gls}QO!I|qbPbiQh#N((y6w&d) z-igf5!~H4_?uhPi>=E0~%*;PVRU(!U7uSHvSYNim0i|8Lyc;ZEeKo|YOEM~XBlQU zoo6E4mi;DS8P~Dw6yM^Y$%}s{33q$iKt0ABKz{G8ZJ2OFEOlp81Pm7eaG6&cyzg=GV-0()CCMT?b|41*?qH~?cx=8b(^ z7A-;`6wvm26Py*eXjO0w00%cv(U8PZI#TkDpLZxM)TnKC|4IGUFHn~L(P^k^IDkxm3o>9WVEsDal&)@0g45;^PfEc;6Qe8v#{Oq zG_vta?bg#KLFJO$Roe3Glk@W>Bk<&_Y9O|X?G%)hSQ;Z^WBJgQw6wJFa0e70lHI%0 zcdF&N-9WMgQBQ1Pet&4XMc5e-mWV=RQLf^q`zh~trX ziOS3GD|te`Hnjb*X%V>=GlP3z1MHjjpFde-*w5Z{F+LsAPi1;c`1ca+VS?4RKT4b7 zP%4qnD0|3hwIc?qvfwI;wvy|IlSP>&vi8H}$&(Qv2>_?( z_Ot}Tv?fpu00bA_DO$C+@`>AeA2S|}fdZXLvC}ym#|9zZnJ|GG6dWM)W*eibkbV#- zC1ai2E^aqiB|$d*70-&(gQuSI7IsRG(CqhD-B(NIN@scyBHJI!Pv?F~^jQaaVL^dn za+1Rh=y4b=D|H|xL0MV1#=g^}pR= zg5XCdyFR@`9w(4(`gMo&&c9grd)!?s|7pw?R;G~k6(<0B2 zChH4ua)5!FYim;wGlRs;dJlnJP7m3N9j18FH#H@T@4+f%^f$e8r?sO4CzhbJ z{urfhXnB(ey39DHH)a0ecF>4;`hFu|3P|qJ>2Y)*^0H zjzt}1>dSVlEOZ4b9|bhJX*?*$-~WJB7XUpXt0>jrbg%~?bGa2Vixc_|*P3rEvheRD z?DLi5P@N(kEkg-L5d*u;X#COHDRb)7eMlXk)M>wXkXBhe3;vE-yusRqdzcHpx7;V_!(z}XL>v{Mhjfvp$2zHa z03W(FdMBFI!s4QeF84U~QO~bm;Nz@r9mvD%or-#l`9p?NzX%LS@(*C*6RFU+IM(|I zv4NzHTzs>E(-;s3@!-B2P9PW(#?Xue4rABm#ky@q{4g!cR5Khm6rjJHa30EN_uNX0 z?*oq=N0JtNG?SE(1b#X=aCE#V>IRC((%h#i9DG6 zB_1*$kHarl5P^z}M4!cF(C@>U$Z{Ncco`CcXLMY@a)lUf^HkXhpR%sU`kPKD@v%s( zQ8<_e0)0wI=tF9%h@fE5#|HpD|EKfq9piW!E9v<)F)dA0SQsL$nE*Y1VK(+9G*sf9 z1y_U5h16xmN;y8FLU)ro5~vcd@+mDY?(2Xpx&~x=zy@qMW(du{Jhx91KWb`f>dBC| z)sETHjLFT7H3R1vZ`4WVw*l+E%ZH5pL)=Q2a1>Wr}lh z=xRQJ(flvQ-aIVFz1{!6OGuI=32BxPB_s){RAe3_jWS1>mLd%_NKpxylT3?9hJ-Xn z2^khLHIXDVq0;nwUD@l|Ydzon$FE}_$9~pY4flQBpW!^;(+N!_q#n7{(k@aUb zV^+t0-1iIv7(BZF}~5<2n7+2{=*zy z@fR+j%p-k5?rYEBEDlb$g3ErUF$XcX96B`7UUK|kXe$cFD|?*1G?GKq{2Z@w$E%F@ z63E~WG4|zRdbrGAtWT%4s_>1(LZEl<~U@3+`UWd9QAV`=}4q|Tlt2Y&*{ zQXJ)nxZ37AqMT3cri2Y1PK>SeiCd9o=5t z_HNesK?f6g^Ha_sQo^YQV7k%HWwhgIM}jfjYWI79r*?YB&Twm2NIFkYVLi!k!Y z;lmQ*=?J)ptOE=LL{^#O+^X4|VA4-ze)>f)Zq|O*#*@Q4Zo{ zh#)11m*kH@@Kp|JSbBpUTtIdzGK1f*zu7Q`V4-}3&=#>bZ`~ROS)H7WN&Hr7YMVpb zua_Jm==T=c*m%I6(o+F?L+hdE0Q__$0=xvr&#spE0Ap zrY53c%q80!!;Fj;&6wdv?ay`r33U73TS4S6`0`=9`Bw#m$yJVN2SXOAVfWtOf$!&4!4HSF%lPnb5hg>G z4xnd)`3M2p{we#XOZ6~?vayK8Mzsc!Hjj_9r0CkpIh!_(3NY=Vi#cT(&XqN5fLD;a zo{Wt}zKzNFXmoT{X{mta^z1pu*7nGuL&37NQsEwUkl@Y~KTSQaNSG1O@*^Q{BW&?t|n{Qdye5?q_X|gxme9NKNr(eIV9vW~8#)?e z<7k*Pee&dp@o(MBcRCyeVuVn;VxyxKc?fhjHg?Y3xg$x+f}>UlIn8qa@}(K(k#3ui zIFKu2z62Ri&M&DN*+oM9z^7teb)*!l@CIQEK_lm#b8`%5kdV~( z?VG)g%|Y&Of*O<8fx_WQ^?wXZ1E!O8WZNWq2{w#m3@x>5cV)F5>1- zbz%dC)m~7NnQ$-SzbmA>gv@TY6Kuy(^P>WP1U7%YQS`XYetB>-BKk1F0PygkuHCI` z=nh63%8Cr>#1;nWeVb@+sDK@z&(@|+zS5f%TK`(u&@=Jk&*xFPLov)MC@NwZ<9GIz zlRF8sj(!9=^PQkH+%;Qo_QQ0~ROog@? zTEdHmHrh~w^8zxFqG0vPmGnNa@edz@5P#aZW#h*0n~Szto}SI?>aJw?7_-WuL!S6< zDgU@-1XnYlXR=Ss_U)#tR-L!f?5m`db)Ya~28xDl|J#-K~wR zNpgB#yf~2S;+(G=bUWv1P^544d+Ydo>QY`-t_#Q-?!n6!E>vQ~Ccqbd-C@90`5WA& zXxP~V_`4+oO!+odStRSgK-oTfsB^n?>xL@wIY|l$&H+$xKi~EcsSfeKq4cn`s6kKf z&{W0YzpE6ILxdhYbU}5ptVl0~c%Y~Q2TE0_&S>pa1V8Um~qtO3m7=8tszgy~~oMEoJ+9P(8Z*f3#+U6MTs_FKt_ntASZLLiMqrKECwfSz}b$6lAPzAl1 z73x-x;{y;0OA?zZj| znlHnhy?m84!T4`2z^X<&`UoB|Iq94;;G_kQbW<8K&=mStBPl5P{CSt`ulm%sH7p~7 z===BIeQ|8<;Iq0H(R|sS_pq`#Lb-#tBkSc36e;_TSLsnY+1fT;h)v_4mUM6k{teQ#We)s zq*#HY5!xWpxief%)$8lruoqHOCqM~L)#ASjG1ZjGZ{HfDy7}^I!U5M-(B&;CZ{&hU zqAlZQLP*8QL(xSk+tkpY*tc(Kg*Bv@!RS#b>ptZ4;J%5E_u+sCqG)@s(#A8T_|Z|g z0L;ebCAEx;h!cuG19L`)2;rFX@Zls$k`-{wSOx8p#V9a_dxP*eM@LmtEB3E(G1qKh zP*6x!@b2Af2!xZAV3l)k5C8d`PG-h2qkxMULD4Dnry#`pr!2ktik^WLD7U~CR60L@ z#+*5k50~A$cTY%51Zv=~XJuI_4bat%zkGQnS}fZozbMbyX6a^(N}$p!xwi5dDJmN3 z>Kqs7(N>N;%&$a*t1y+8n{-m3Nl02^ddC?XML$Q2ne zil5o~$Ih>+?`XO+a_f9AAEIUH;Ddth@pOeB&tTeH`ZJ>^1 ziQe(7I};h%^ML%%{}*Do+m}m?x(6`43HROZ-O~tIf%W28;~4`{0Ii@MVKK9IE@#ik z9x>Q|CXa)@3h;5>tXY1typ^Ya{Y5WSg!?}>79C(eA%3)MTlfA({`1leC_Z5U>6r=N z=Q#{`vC%@3l$C$i6>};sX!baN^=chI%?ApdLuGb4&l>U5Kg+B%-4Mg(?_3H(2ryP` zaB~3J@tT_ErK>RT^a##En5G<7kERWpPubW*4+GyXZ65O6!M&`h%)pik#C>_LV69e~ zK;D>e6Kvw3pdf3A8R2naEH+k@3F5u?gv=(xhBOplXQ~?d1sY(AaQp+1WGVMig@*PQ zx+(h^m~rpi8E49Cnj{$`*dZ2PkxZcQxqOl;fy(IeDfj zOdN!mfUroK89Zu7SQ37OH2wO8I2bbERD7VvIb>XRcI0~bEWi57!@i-paRUUd>sDfK zUb?E}6~@3dnU3{-Kkd)fV7aE<(HKfshROn@^uKZv%GJ^`=x@YdQjM3- z3yPcOFN@*e$qF{3rW{bro^(eNZR5_K?X2d1U8n!xVDl-{rV+52bN@c@8ila{j?nyb z*VVkAV!YW!Pmv-X)l_>P?&N_1rDuJRVxU4{(Fs9B)cj`lyQ#jBXp@@=Px2L>$3HfC zzT2ecjMD39KYS=b2Euzm1_LNNxHycJO|3t~`s=#9-Ea0BU*$w+5h=g&T!lI5uka0rnprH-;NP z3;wg-Nbt9~bFI4H&k4i#9@)hNMUujtVpI(}4p9Ob)e#r^3`0kM;u0b@rb$!Lw%1-cm8BL-iia zTD?F1>1lmgrce?2@zs^jv<@cA=44r>$Q1qutLG4kVAJ6S2KaYOB+2ssn<7Z1)%%SQVCK;Y{;>Wg>J|-I$>?oAUva_$ zj?)wckIE~rLkxnC3EdCGF^UmRbiiU$GqV~q6gdCnF5-|va<_~d_YOocFE3=O)(A!E zFD4D&Up91#%KK4Q_lzu$tFJ(uAQUq{|7vI;7~pr&5|~%E-tZ_tPo2T?2fBq1M4p43 zi?{=@Iiq9VgycZhq?}dhAS&LJ)*Rs0y-*{p3z-9b*8Vw6JUUM$yL3pU|=eaEk;B)^y@XiJP_OW+wXVCnx%n*wH5Tb8PoHk@)$rwNeqcy9k?IDj2XKVy0$bBUmvFhz}|zYQgk#7PmjO+_b zZ|mxi_%C39nV~Nn0D2b%|PazX>1_yEIldvrR#Uxy=$Sf=H!zV1rkBA8HjB2 z%TwEK(UNdDq)*soe)7pUT~XmxJ{gp;*YDgBmgFJ7`W$^GPmDY0-!pXL(FbpPlYFYO z|KY=P)=HPZA~)b9ikV4Wy7f!JaOzr~v3G6mK-L^Om$%nfv-juw`1nvcf(Q_`#9d>h zDoZ404{W&Ysgkqi&UJBhRZ>>=CNY*}N5jmiJ}hc0eHL<4>Q&O-=Tf*=&cx8YUV(~0F;!u8&Viccj^$ol@$w_&tL>Z zJ4n-ay+nUy&%8G10*`m#Jo@7p77$CUCjBwvJiK@-aG4p8tepcGb@r81J%x}_^oTV5 zxMu$kIDwEw!TrA89RthdcSKXYDI{Q`vrNn39Qt(7^3Wh&0O zLzT*h0DUB%#5}?OIj)%UahcU%UEVE+hNa}tMb{+NkPHUKPkH;_2&#I7HUm@8Oy!ly zcd1nltiZ&*dXki0Fuot5isyXsSy@i?kuaA7lxn=(tw+v zbH&3WsbN8Bh)(xDpCvavX^ZbObh=kS8AT75FP5peIO%xFw1R|jT8Hn?bXYbzD?=)J zq3yv3`s2bky4%|9BR8ultXqx*@8x4<3Tf{ex{)SwGRLqSpb^qYp$zj#&Bh6b1~(i%t)x z#J|*e*Ec%<>`ZMoxsuFs&^*efG_wqah5w;)Julw+v@}GA8{KJJBD4^Yre$)PD0v{< zhQ#2C4P&jpy!UCfJMLLLclCxh4?IVVQ%}CO@p`WusSDySwUn$3H#P5bHS1W_4V{v2 z%#XM68PW3hXFN_5xY@?0CffFXl@8i;mhtci|0?KN9RDRuB89+c@ZkGTpRPxuYO^16 zuX9V+ty{JP9vzFcbQ4JokywLPw#(~pw06F?ap@a&|b9|`tSFVN(uYF;0|enz8@rj&O6_VE^OWhAp0mQJS) zMTWk#|C6AK9Sc?|05$mdtLb&u&ZJKRfNH>xqGKyMAqH zlHcDeA-+@RPHl;8-)pYDmm3=TCshg4GH@Y@Ra$J9HCq2c;Kvfjx!5<5xW--L|2Va+ z#f^3w;Up14aknv-Z`o1w3jhVj8y#Zckm_X*Q%({rShFCi9h{ZO5x2CXB?esPiyl}r zz~tk%1@EF=;(~l!FS(tpsGM%_*i5p=P6^{d=8_Q~thVX?3Uc+&c6OTcMwkLZP#;f` z!-rlN)d*{YPs%g~n0zH*h9D~^);_xR`&sM?S6_WW-Op^l(y$K$j#paGn4>!UXtYHv zwK3=~@t8_z`8X)I+~I?DvB;pj{Ct))t~o-;;u#n ziiB+Fcx~;!$XP>{kd7y&l~%fe%h`hr+zLadO_8Ph>C-1y04VoBJ_7dSW&9h+^_o8@@P8!$x|yF8AG!CkrK(t9JpbH-F-Bv6`rC!!0+gIuD3{~ z1EU>k80;8+QP7SYZhkW1ROOh>rJBc_th?96(H2z#@X=Lf)j}kZt$36CEv`=v$sF{N z)XtJI`Qw|uut0^uD+k);O|6yjsYZr|stIasa&?`orp_t;`gQ2=qirB)=IVmKn589m z^|AHT6$HZ9Jse$>bo(~WE#hy*)UK_4XB4NIQUg1*kUAKBDR(rQ8EkO3q{k1M=;M>h zF~Hr13KC#G5rPtvW=u?vUcIuN6R3=s-Z60aRX?yS_(eMS@B3sp7bq8>ntdun!M3yl zbm*SS{0{U7U%dj#PwYsx3ceko9P)ff9saD8uk zpODgAYpoD6Z~lCNZecF~Hbtd2FZD0bJToX<`B4#t`ROUNa)+|wW<2fL_W@}pY9qlh zbaa(wZ`tw-55wiJsV!gKp4Kp1<1$7#ut)#NXD(0fA}JwIw2YQ;a8McVB>r=6->xhD z4|O|rb|bk-RU-zO^T8dMsqLQ~fxscz=h@k5`Kf<6eGYAtxf5-W_ocSNdb8WxLv;a5 z?~RZ#wc1cB@nr~*n(pY0`9V}^{xj#y>1i;Ac2+%r1Frj=SpD;FooFqlxa3PsMh=$upPHAW4Xe{oEn+?}cZnd{w4cr%$+4 zyJ(L01y_gawHlSWaAr&Gmsu87{&H&o@NxFxBINbq9mSQ;wqpR&fy%>n${ z;QBLw=F2UaKXmsUJY%xOki@`Ik+}@h`t|+U4328aAl!m940s|jZ)L5IQ)}wI2Pk%^ zo*vUaQJ{>{)Ra(((bsf6y!~$l&G?#Y-8IGy5uffnrSstZzn&IY^bfT>aENulj)e%z zGm;g_?(G|9d<(!46fWCm)AaVZ&c)YPJ(s**tuJRLUNcD3{=%s02;Z8V_-`8vD;%Pq zzm99JI&7=^>sNel``eo@G)K<(vEWkMqDj+wsf~QxR=Uyjr-M(9$7ZKwso;`k^@yGS z=pB0abkt!Dl83YudkXhwDnXNT=l<0sy>&5vVMzcum6g>_ikRYUgrl0J%i9LVWA0n$PiBc}EMQ`+w-I z9V=>69d}gd_`u`D{Tx5crC5|vdF@3uMt!d;!%m(tI-zLoQV|8We(Ilp;9oDFp-LM;daB5nKruGFdU zzy2+->{7X4&$K>6#~-<{vCmXM9h82^cA%3D0Vn<7l{h{jf6fwQy{a;5b zB@C^7^(=AH>J&{TL^(Wv7vEB!ePq0HVL?*2S9_HoP53af;VE(tcU(rBd;S&FrPfrG z_IPBEtM` zm_C95I@>}^-Jjc)BjAK+AGc=2A^jgY>4H;XVQ0z0Avuiq%vA68yb_r-tG))@5$3sJ zhlK0)PJMTSJM7-iBw;yIs|5=fjMpo_t02f3_C_PFfBoR4_BS*|juL1G_*y*d2B1S~ zssqRQvl$ciZ<=Xh5O^%GbMk5w0B&SM(l#b13SI_V+bTdnh?E9tfn{pv$#wdFsjSRg z77>0h&D7HJEJI+_=GxkhUEGwpKixt#Q&zvzpMuLRObaun=9pwS~ymyV^ zF#|+Prj(zKHqveJUvpt-qg+ucW4+L=?b;>PX$MoY%fEfwBYTT7j2%X{O><`V399}m zW^f6^5+Mx%4r}~gF(+>Azf|F&)4*bRz<(pPW!BcE?QzmO!@|P$>`~4h(jl!Wy}S;N znkK0sDb0A4{`<;GR04wscK&mWVo%MFfA%TfXeA$hmo6POc%69ly1hwfA>|l+W^rNN7YpyJw~!!>0|{9%N!-4-@cY!H zHyTGZj98q@RT13W-7NMA9eT?FCs?2AMlXL^gQ2CX=ZO{XP?x*o@$+_r%9FITH`nSv z*Z*aG=i#)0vleijFuaKZH&(u{$C}5fGYu%;m{HNGyK&mV>^tA*34r8^dnKK6aL@o# zj`u2xK6Y#k41Gz-I%Kq9lCWN!w}kH@Xd5$jY@LU3zkUKo>9srZpPjaAKB}Iqe#|cZ zrx)m6J1TO+@3&Io?U02N0e;H!GT7%(=(BLvf`Q$zNG%YVyKc@(=O)f>rnqg<}4nzz-!dY1vex3 zbAViM(GadsTmxHs1)J|Z#}Gox*e9~4@=~W!$DcmkafndgJDu%R*fHtKm5HjdXQmz! zmV`$ar_l}tLtm}gneOO#s0b@2MF0ZV%h!V;Ne@n4#zpGt8t38p+fn2{6Z|RMQlKQ= z4XN$j-Df&~+?Kqq;!L1z=A4sKB9*;rO-(=B-A&qK#&~kvfCCm3`Fxp=;F?+$epzj< zz+e)mdz^d7KFT6?x7XGwnT4C#j>otzwX{05v`rhGu{)G)vxp!HD#n)=ZGrFtv(^?w zwVpY9`gHcPt38By4NP$!Tb(@9Ajjnj$eV!6X!dXH$o~~2-o3xH!JDfWX$F_ml9sNJ zFjyJ5dTAT+vZOFb!;O!P@oDMG(^ZAY8v0#AYK`>td|Orzdtx`4>-V4HqtdogTU48# zo=cZ4b5;S}!#4zHh?Og_GT3i{T4ZkQw#lOK0b{!TIFNLwz##biuBrvIXA=!b-U@Ce zmMmj|*8TAZt83?;J(rk1h#+tFC8P(W+clxTE!CKguwnF?*Bc2Mrhiy`Wx%>j06?b2 zI5!qS`9~B?8@Nrw`nxW2Y+@x~08kAxyk_#d_ZpWI6PM{9qD2+Jg17IgWSo+UZiM#CZc=V?Z z5l4<-qzm!!FX#NPIgf}yS9gZjjKzzOlB?)mCMMG8msh`!s2x5t4vvoE6JbQ-G8-Kc zhKm$&hQ~Qx87Ml1GH0@LS}Pr8&=8%qp+$4(JFm!;WOjc4TY4=rrEigl${VV!-EMK> z3Tx|7YuX1;qvQDJ1BELsO;OAPn9kX=vC;k=mK|WO;P&g+}f^sY(cL}VTs@b&+(P}FmtI;)vC954hl+(6w~%3!7;qkJFHAQ7bVZ>e!J|k`1*lrG z{-%=5K=LF0EmKy@c(liHmtUY?T!& zv{RT19(UtLRAvdP!V!w0e}mi~2f|-9zE9m{Ibw%2_P9O5%&)d zirkUcEGy)q+z|c#Pc0QRPsmq@r$SsWL4vS)< z)AZOUmwP!{wse*lZ@T7B%R$lk8HroJ&3pW;P0`t_BqIQB4_^H?GOd37mW<9odszPE zix+xBUJzD2qH^B;248+pnnEg=?kIiZzT|k7QP7)sb4fqH^6Cp8IzQl4AHX4MKIduu z;jC0eo<0>Ol><7vt?1NAt&PkjEQ6WJL|Xq#&m<%f9X@>DIe`d-W-t**Qi#9Jo_=D& z3ioHD1P%W>xZ(03+k+Q=U(2oe{=Gp*|LGV;5_AAef)Nl01`a>;fX@sTpLiz7DF2!N z1#JYD2Y{Ba`#AGdFncB>5d0*V-~M5XqB4vMpG*;f3`Rf5aXQAMTGccMQJtEmtR$+-%90Yb zCxV!sVn^tq103b2y=^XP4CIVm)<#^cd)3tu??TfkV1?>t;t_j^&pM zh7bIYDoHN5G$L7DXK=ghNi${2^yw*#4xT$#UcsGD7#52PEM%UTiB{6$OQZ-ySn*)8 zyzSCoy?G-{v!W|4Jthnv`5z*<<@5!)C0ud83j(fgWbFJ&q~c$keB6jahCQz z)Fc1k3t%vs2d~?HqqE=zw7Jt=<;Qq0&4fCPv!sSKHWjrok$nMw)KL#F-m|AqWt5F~ zZtAzUp{fKt4cZu(4Uubq&+A+NB~8-p7M5R*cZ4IK=bfFEvUi_ zw@|15kF5G*4;jBvJ7sS{VgcIpF#Ww)Ok+^Q1X0~`J&>HB@v@`iHR)GH!f5HOp@cpK zjeBsn?Hf@`%LseLHzwD%6${ahZ7{Igvah@U7I%B_jF_y#1}gcQI%N)PWM@%tjpe5) z&Z*!e)%;AV@rEo2?wO1$R+?be`giNSY`wR4N_kgU2sm**Ha7Ep4R1pL!Tuqa-rjOc z_Yvw%Vor>W-!du{s~9(QX8(0m1~zROII`4w8-#yyICtU%XTYv9AG}uPk|;udR}i;u z-)7?26p&QDSn>6qzc}<#+FF~05w&?`d&2Mh%|ELkgJDKAV>bDv%+MqwuYdocvXTPI zD=YleDa!)KfiP#xxD8yb;=ACitJ9;~tz8o@j@)**VF5=0GMulKl}+FWp{;Ee1vlIr zP*tK|!}ljN3gn^0RReJ!ntBHF^YP=#0j7OwZRA>@d7RpX@d{!0ATcwmLI6)Ej~uWq zesXgNP|WXo%3(_iZ3kH=>o#m?0!g#{B-O>DcS$dw1)|tbNLRV1xDK{@&Jq>&){1Pr z+d*1PaV#a#_)wX*UgO(XM)aUpWXuoX&P{Yo7l$eVmtLIeZO0AtqQ^F0R5eHyYQm`W zgdwPCVi}0Kw7;Zi$!mTjtK8=h!1vbUKR#X$jb9;_hO`yQdT6eh-U&%pVB>J2Q6+3ynM-m9sVzyVX+cgf=W>-p#PvS& zuCphY3U!lddA4<_O7Je1&vKnzn|PudjqGlXXh3gbQT7@J87BoG7Sf+6m3AcK7^WF|)Vh#$Dj(W<9T)WhoeO;8LdW~kl>IagcM#Vz2@ zHuFjPt0^y_ z1<;n9?I0ig#Uj7tdC=KY8d{S+0++(PLpIICNJ zykyOA+n_RH0fLFqJd*q&c$3-Hj%;+4LkP*JDX;$RLFUB(CspFRT7v;CB;sJh12 zbCt^pp6u}9vxL?&k=C@ zr%^%jHF@%^nKQ%J;sa#9=V`)nkzU_>k5kDt-T9x5r5Ka$XdYGlFFR|by_T1hpp-_J z#5uqdzHp(dn!K{|_;zu;Au9RB*%AFZJ4%y$NTi9=)mOj*RljV+{fa|$Qw;g89Kl=y zYqs?IuWxT2y!%>KHfmQyveB0y?UeFy4@_jLB9@-uk;TTE3EC7n@r6#|_nN8bOo0sjwR8p=n}WnxpRgY6~$|Y*(N^7&4szb*2TS!T%jJx20cCzFeZ|0+MdB} z8?I2Uny3<6%At|^yko~=yG1A(kctJEGQ<3+;qXzTdiC2ulN_WIP0A}{U{FDj8xPz} z=KPn!JN?v0O^0G#S5*1ddpP{`zwdnUE=kIBxP z{7hiv#vyj$6XaE;Oca#{_Oq&=-os`8O`iu`r$XK@kw=v#qJ|EUxk~Ft4imi>f@=P| z>CCRbe0yy3CC&P7KL^R?S{{(tX8JrMm3OdIhzgOOR-mZEnqYbiQYS3b|7D%f@aM5- zIVS*h1j+tWKZ$s<6^CyZi42nAiQxg)&g#6rW9QBxVZE3y!WhW5#`0*yA^>ug|1h=+ z-06S(tiZ)2UPAfHsC}<4F^hW>NIC@EpToR)z5bocFhFL3z5TH9SwoGDlTV&hH!x7B z>ZvnJRC$GP#tJHnva(59k$t4^qHYF8t^1D-vs>_nn)>>CeUU#G)pXt7ZM86C;-4Of z|GQ`49A|7VHu*ILm(?araA@v~R<%)}5gFFSl4mn>3Bx`(BsfpP?jMy$7&3D%TPn^* zv;UQiJ!BbrwPwxk7Fk9Js;yIqZ5ln4@$)ZV_HL8RhchTn<-*`sWYsf>H+|Jd$56?Z zF>5+an`AxtcI=JOAC@mmne*Vn%iTQ6J$ukLZeiDZd#CV^=3>y=%(HjV?_mnqLpm^* zJM|g~L{B^1%(}NrEg@kAuOGQR3B*`{i7aIS|0Y-=%2?S4N3B-)BaZAS+#+1o%a<j^u7lJV{vv97e?7<^Pmc;ix_gCAJsz>h+ z8~(cIH^a&*X{yOY^-gm8PAJL;Ou2bYdEV;%yE>l`yJ;>{c0On5xtS5xyLQ%`lj@b# zAz|=~&vX7CR}+j2nUZdb~e)bOMqXf=O=C6e1rD}hkfM88}9MPE3VOAP!bD_ z7c-1q=PUH;6>OK?x#ODveG;0wkL{}VsV6#vpFIMrOdfyQ`2CMRhpZA4-5sL6F;zh& zlvH@et4N5*uMYe$V!lEMqvLj2#9|gOZ&ICv+)rH>^8-gS*KJhZq{N-mKG1>)+Xyob zodGMye-u|gVQc3wu{t`6Rt}7LvVyW-WI`G%Nk+Sf0d$%2O2DRK!voHt*k|)-&L}S{ zyUumTAqiAI4rD=peS&yK=a`clUIuRU9{2Y8&O%wWQw9iJDQWQud%fkJi;7r z%WhYd+WuH-=)u~hfkP= z=+o8;tbvk{N?)zqPHjUrDKUi0=)C@66*H4~4VJ5?u{{9EWiTo~6WPQ~gh@n?+q!JU z3alo0(Wv3qtQor7g4a)w+TOEfXOid*0{s1jXnuFYgmYO^O#ZW3|LwJV?8mH2lQy0| z^xZk8$chyTKc2$$yuDU|nYSD+Aw^b`UUEQ+hOyMO@x6y(6OvtdG08++dxsKgW~0Or(dZs;HvO z6gZ`8=av5LdOaNTNQ;oj5=R@V`-PASsKVx|(9voMgVy4lA2||4?XSCcm*t3OR5%2MJ=X8bc@ES&ZM1BE1}>`SFE zV^g&@fS9>Sua_@Q?kTxl)DT`by};E#zqZ9}ZflRUFAtXFEjO-mi4!Kr`E}?VKJaXG z(1g|o?AKBu*_^lUl0Cr;TQADoxOOdhYyG8a!LCA^i7l$o!;w}WK=~sB0TRW!Pj)Tr zvN&~SC#=sAYVxuY+mxWj1(8tdfC1b|-CqgFOHS$+#J)~I>YqL(alU;xvwXw9)> zcA%Kyo9IDmJ(8bfcbFKB!8|D^Cnx{U(VS!#LGK`qrk_n+6I*Rp>@F;o?sLa@?a}E6 zm<%3xJTBJvgwwj|%euRd^>^#_{cLH}(24fe!_KHCp6@6UDp#l(^h6S7LoQJ!YRx>T%!vK^VB+ZBejvFa?SWDB$Hs44G-(o}-x&$d!zS?u`Kkc< zkJ}<2V9K2PUSanD-Vt=7ZAEGQDnH*1;!5~a97D7r?u`+2lMz9d8P-jYUma>`X<%DLZXq5BKJw8;UYI;^C{3CWfOLrmj(Q2gqkEI5+2bH=#godN zygEVQoQiwhU~%#o6@SF&ACTgf+n$cz{?)V(qYn=#O%R(H-FMRKjU&ani;5RK-?=tw z@zjZ~^FsLBv|n0b!hig5#nyGueK(4YE{g{mRu8}UkByVlUu#MU9^&cMKcgaa2*6SXId{-g!h zNy1UlUq7fZBHQc3mj?j5fRv=OvLa0q1tN}RM|-K_)KQAVr$RV{Pu$SDbx{1u`AHbh zn9Bn&4H(6Gfz=U-XsU9a#?d`N*wu21A+Hox3PaEj9$ew(7N+y!1b#D@N(Qv3i9})d zh?)VkCW((iHJ`e`G)A?TJyFEhuE{TaF5acX!sn(OWLr+U3|hHo!lFNxiF~Q})}IE} zWAJ!q(NUfsRosMirT*0`n{qUQR3*1m@gQIMt}Zu?9`8MGRO;upv#wFmC$w%^Zyeq+ zcizz7wfbk`5MRIE&=s)8m_%}%^M~wS-2`kB09gmy857=({@VZ+NuXVj$28cvZG5Q*E0Ix!JVN? z8eeX2j8K!@GQw#{wFXiKeCQ0Z4KM{C^SV~&y^52h+E?DKSb>XaZZ+~PVq#)wFR zf`Z5olnFAMzrK^%Mfssd_a71LD9&t z*n@QI+$ltT3IkxB6S(kKtT^Ygp$)8*EIg5ju7xO%l3=SeJfT6}l}aI$UL{*b zKK{gt!;p6ah>=E4cR@ zZd?m&me+V6PH(HgrN+wts$cz8c2c3Ez8$pnY8 zSIr@NtfGSDhFaJ%W+uH2%(G~wt?g|vW`sL1I8dhsUI7HS25|}Vw`L{TF)$CP68wfM zRAH?vKRsuTS9 zb`m8)bTOHPR3h+1U?8r>NqHav>e-6Yxbk`(KL-t$?#Oa5x3uiq71uXvU_TQfCfh|n zVmECk<@^+@Hq+`c`Vte{iVCJVNl!Gj(V723Eyo1wz>Xbe$Y*HCMIz3soQ4bvUT%Wi zsZt;e;9J}clmLh-77y!vNZ)PAk`XRq6a%I)K%PAn6j*OuvE0J7Rtwg9#S|#{lz26d zwhsUf;dsH*PK^~&6N2IAE4mbR4WJ#;IC2EhJ`9N)OtkRe!IV;XSy`ba!E~j?-@Xac z&@mdpf%h8}n(oM(r%tklX3>;;x?N}3FoWU4J!hz7EEj)ddBBek2Kz{dk9xl22O%rX z@$M+umrj3CvDb%$N^CvIV>6r+U=jJg=EswRM!Ocs_U=7;*Y(N?1Kr18`9c;-;|{IS z{wJRJbH?Kt8)^P{#TY zZc>$n!AEzG{wB+||0cFHT%gF8c{%P໮*|n>1RLTvM-il0?zqN$wiZZllfo5z& z*WkA^GzUERG<|UM3Sm^rseM5dM;IPK)lLaDq{!$8=XB#YiH)i2zMH2h_W-3koBN=q2I2EGR#pfRMg;DyRM=bErM$7?zHOLo zU-Qui_V343heb4yt|Rrj@D6TU)C?e10L%4kEg#PO+zH}H)5%!hKYI;hX}Mgj<`3Vu zC)-)AO{)JUu|eT(vDFt%R3&9(luNvPH#g^6_2%$^fJyw>AbF=IwnqmJGI+koI5Qrf z&7rGib0)2I6m7cP;QZ*b)e}2vB`Twg8!Qhl+}?Hy!n28q@yjnCJ7x^^r2H!aHxC^@ zzQ?6^bxqC0`LQjnO;!I@g>P8Do(l@U+AKa(d3mzWuEWGY)W`%aS-!lU{CqO1sqF}O zX2=OM8veX+p&nK3nKPyCNvOG)zP6c?^mjRAsUJ<)H$C%o0#Yap&DD9+s=&)0e9b8w&qlpRv`Yd;azR2A9!|TBy+EVFIe=1& z3sYc5+tkq2=gA}k7or`&)kxZTR3d41m)->=raB0%zmV9nRp$-*9t6$)n2m*|HkUJVsCeihkkWq?E zpj$r!`gS5;QAR#EHg>eO_PMiXEhkPa8Jc>&O`$wm-er99l)gdZnm$bU*~xnJ0~=pg z(qPClQHsjLi0T$mbof)$+1t12dfxTan#z8KQK!{^#REgO2V4rag2aJfJJ=N(6^_b1 z%Hw_sN?R=N%aN-Our{g5i4Nh1>1wy$eCK9mvR zTwGjNtD^_l*ZhhzZuNs`iCG;q7BzM zqkLfs3mhGx5(vjWyffLua2<|}7q~q*=msQ9xxgp?1>MMky_7s=;iO0ICp(Ew>}>g5)q9@9 z^y3B@OF$R76cKSfClAmicP}l~lmqFG#G7bwy>WyhG7#Do`Vcx^`dg-XaLR_4YatJ( zd_peIp+mYQ4T^-g6Pgs9dVIr^C&Sg%Gaf(ILnI1!G5svw1=n}C=22MZmv@(zMkfMv zOfWe-+yap={1+h$*uP3%4KTy_$*m=fR3eFvape%HDZ z`HLjCm&jM|{ml<0lpXY*3t_gQ0mxFXBQmr#`pLI}e{ z$UNnFVci5hp={xPjXy`ROxWi{>?X)yTf%D6+x8 zQ4!#;&mFiLGIwI%0Fmh5C7*fJi~Bh_SRwd6rWNnpy?fH@6J{?mmtBP}L8TFF8p8zI zh{KcGdsdec^|q0Hzfv5N0F>!{qxGHs;7db~=ywt6+4XlB-yC+?PP@yFbjegf^9on{ z9~=}q6EKJb8mgbVj}PnW>r*#X9^iJQ{Dl&rBRO)UUr=Vuvx?c?4sJ@>J$m-k_``MO z%0D9_sJv)hjf@UYIZY8$+vt@WKL@QvY^+9v6@#27ZP;+t#)CK4ho`urzS+GaciVEV zXgO#MDJ+U}sAf+tpB2FNkQ*x#kcNR*f* z0s*imKedFUUBEP`T;4KgpB=vC+0vfd^BwhwO8x%Vd>&N?d8tVaO5L`PpC&H)FtaUn zvlQoMwa;;jcXzffD46<+_P}QQENn)$wwR5(3GgV(-Rz9kv**t{{%_yUM(5ga=^bn? zF5+xJSe%oaOH*A%c69mro5Bq>b{5k@`|c*X*W{@w4iN$EWx$^^B?@D8=wW~;m?I*q zq@?5dNAApZhHu$rmpFUp%-NxtL-oZ;(pg08@5sK4byW?;u+h`=E%WFg!6K$)$#fP? zC6Ml>()j42!oo{u&IH2nY0JwEK8dBCVt8^JdYU(YJ%W8wzt%@9SLYJ(f(44b*7m5J zsr2nQSOCZ1Afbu`rKa9NcZcV@u5K(NOWoaA;Xqd+5qNS+iv6!X{1Un6oVuD<6M|>W zn}-=F%D$873EykOC^)L~G<0>rN4$|(@Jl~j2=P)It|(o*?^RyjYUo|vVO%kk7la<8%(#qCPs*J!yJYqx>lpP(3m}sh29ll(cGy+x;l!$!c)4Rsc^>_}{#g5t5 z+I;iC0fj3a8>8P+(wkeOE^tGR&+Sjbi*r?c~LaK}sin z^89EdVM8fqnwz~!mJcqg@2J@-Nl1Lii$R_`eRnG>Dw@PTp%CUk7%_4rc}QGBX5Pn6 z`3Gf|WLfh>cRDB7;1SAkBT#L3UK#6giQYkGJydKqyC0wV`n6HJmC9k(tO$^@t3sR+ za1fpTYzoym9-~i%83k~mViLqawSSYmtY$ZFoj-{jGN!#}6!{}rF|3(@4CadDxhF~~PMt=zQxZNKjK9QF9v5S0xOTENNQ z+uQ+%_%}jaerA6|ca!hh9N92d3FZNu#QaC#>`VcV5lj|fxitIWYg{1E|2Zb(o?O6g z)57^ii_JAVT;zN4;#VSTsR76eU=>hWNd>&-Y5_t4sGChA$P_6|vZTlWNtA?&F;0!x zIAA%HFJ#CJ`jK?&7SVYK`1$Pqdh@1Vfaya70EAlJdk?^;`Vt4?hi~7!xm1*77A#yy z%_j%Bf5>!-m)sv!s9P=9DoFv53#uQkq#`FV=FSti;5h1qn+iM|h?nGCX1ims`X#tzLTbX!c};wL(7!NzrBc1Oo$$<1+pF z^dWNQgWKU1-5k6d2kc0vYvu-iI^t4H;W`UtAd}7{#ng^D_1N;ot5?|OhZq&FltFd`%oD`Fgi((_dG}omiqr2a|_h5p2QIcW;kY4x^vpb2% zTXfGthwq`3m)&hT`En}UqsY-m?fXsNmH^rB^BsL+z7Qj--od(^le4PQUnbga(e2UL z2tROKRAJPcxkj=;=AU}PellZbfrCT$-oFCJ9|g7CInB(k9Wh8nYK0J#J1SzvSjACP zjWjP!23KKm2f6 z_l4ufj%~t3&cROQP9g~60n7QrQ0c^a{4w9&evhV8Ke^fE9Q|z#@4M3@Gu?uzwV*o> z9!zB*lv_%p#kGPr#~0-=R1bMsP9@q_0%Ib4 zUpW-sr`tO>_x$guw@d+S;W`Tc@lfs4oEMK@?VaUqC${6Av+G5jw!nc40ko_>cJ~L2 z2kfPxsGYA+7bDXh z@ljEZjHe=N_9O-T(2!RM*HPLmTzC`K6u21QWODLiorE}MjZ(z>;NLJa%|Hf!qKnA)mA{&m+!cF)AtK2x)3MUr z;8gtgt`qg^&mXznxaz6vG_Te9zF&1uFZkLTW%n6R>>c+K+)^2I;iPpO&~+GgXK?O= z)RT=xvQM842>IAsE5hpJplRH_J|y1L^5#yxmtiC(0zBgO0X0IFHR+1mXTcqww8GHH*<+XcJo_-NY5z%fy#tHaHX2?q1*?ief za^hpzk^AO)ZtIX!dEDFY@X1~7y=(Jp_<)ZaZJLtwJuf%i&AKw1P^_w=)KrEILRp}h zsjZF}IA!gM6(;KPd3&X=b}qAN z1%DS_1aiF36%{bNoFjn!_>d^NLlhJzo%}#A3;ro1Ev*{1*U7*MTyyNfDhZCiz}(Fl z9}G$!*Df0TeyNwN>2fH#0$TV^5grmTN2X> zw3|ymWo$Jp&H zNNJeXr>IDVpz4Z!tQpI3>jrZT(C9y0MpSRNh5Yw>g@yJbbr-WS$O!l}y}r>i>WJ>$ zmoJe5%$*_zD(RTM9R_*lnpF5UoMY$m^PCe%lPLUSoRt~^!6!H9U^4=;;JjEs+8ww} ztqeL!ZqMR?eT*I-?q$S?Iuw{9Uvfb==XQr-qFSkG6>pxoNow*Xg^@<&`>|V{tZmhOU)S$<4##nv$N3jHG^IUp65Qk;&=uCu^a~5He*+hBx!nvua)!?z z1@J@FL=UMHlKdyk<+Us`GSlrq5y^dq2H0Y8?EgD_LIhwUSOM}(31`=DD7YJ)vbOfv z88a>clyHw3zX3+#Oj7p$`tgIwO-9(5)UdKz!rTv|UZ^~KPK-^xDQCP?JK^0(`;-M1yd`l-s}XucySGvWBsT!fH6FP7}Vuw!kmjH zj|hG4-c{LFO$y{yVwTD7MT>sr_!s>A*+o;c{PX7#$fVxigRNyY<2M6kHQr5J6Bgky z(ie-OKVl4=)4FEfAL{HDR z<=+5qHZgMi(6tJwpR2Hrp7y*2SzFVH|i_VxkzY%H?__Vn>D&7cVCEx?BKy=%#Irv?2L$j9fp(M6c`A+M%KVn zl_n6Al}{BF(7!Agz-;~#MWz?j&_2Xopt6WL;Ffw$+B-5ja49> z%E-e^2z{Ysrw2l8P`m)V16>4sA;Xa3M2VL279VA&*$L?Ou^(iZSrAZ)!S4xz;eNfB zePjeglA?Z`^7T580z;(tZB>d?DKK&0q}DRH5S1`F^Xe zMuK=SK&DSN{`T$u?b{lw`y9lyAMlV5BW|_=Kq&T*5AN`PFb%MLc!CRvtfgT;rGM#X zh78fb2pV9R*9C0GoDA8F;Kix3eegesP24O%c%;d%D7Tg^T{`~To(>1kpZ`V@R&3jr zMl~={I@s*=xpU+CY5pzylO=BXuAC^Z+-K`MP%e7ZhOT3@!79UvBbH70m$Rx^GbDUkS(nQ#ph#{w#&Gw z-8Lnt&{($|Xw}lYDKnZMT$s{dNWX-XDZ)*3bToVkM(=nxK$zdSjaSEV zas&E+vWg0|<-c)V!WOJ!_$_)3oD+CR>`kB^I+|Zf{_WMXXXr0|rM|klH&8DC_qboB zDWjb>G7^{0Goy=Wf|DAcQ?<@3Bt;EeSS5pV%9SwC`K=g)PGxObSTFUJGVb;!c@TJ4i6k`WW-vKIS?9i=ZcP++;MtOERXmHu2#M?Zxws5 zQ7c{<5rv>*wY!Ll6>)HlwNT9ZA~SkTgt<9JlBW*O^+%jU5(`b5iSVOk|`4O;Vo6W}=X%Hwz3*{s#s$w0kg zS+DYBYisMHwx?+ zKM*e+aJ0GBq7K=1*UY9Yzrh6yYrcUJD5l)$k=mjcXxnCoo_9-&A?gS|2?MLXe|uZU z2W$}_2ra#b`lEt^E%8Y|Vs5pAPXJi!q^deWA9t}D+C#o$IvkqHl4~u6=#ElVN{MMt zq|pwhWqist6rP_B7~>N-f4YvdBc@JCMhj^dz0SG&o-g$;pAB{zP4qi=BhEP3 z22OrvF)43m4wY#v%&5(+Q2HZA!ZjEZ1c{gQB`K8!@OE!2uV(Mr@as#b$o#9vk2@2# zfC>Nr5IKR|Wjb)UMWT}MNMJxQl7A$ z_zr5<=g)tmn+A59dvS4FfI!r=YuBobW~`7&TMTlAsdMK1wP;b$p)HojnLNnFi#Mqg zbtcOqMGe-X)h;e^$cWVzdPCLm>r2;;jC{a=fesPQTYJj=(%&tVOev>(;?ivF4a=r{9(_~rZ?@3;T^UT(1HGk zBcpb2C1f}-n9^Rrul3dA$0h$WEa7o=I+E^KGr^Q~69BCX`0h%z;i*85&1l&X(sKCt zbvz7YVb?~WEV15?lsD2^R}l8wY!;!%fmpY!T&Z8K@2y6+*~R+A21(tGHZtZ*j&vGh zrP^Vb>p#a8NS`43a)O9J+Sx(Ha3}aj_Gz<)yyQEe7-S4aXH+txpe_Fjq_pky>GXG- zD)q81@2;GOUI4G~dyCIDc-9Ob37mrrL2xg|+)r`$!4w>>$kv#kbQ&h&^;1j)#bI~Ox$;n`7VE?rPy#`RRhr`T;_VHP=R9-f}~#~|UJ zghn7Q?=(@2p!df6=XTg-xJ{;yq+7MZ<(bP4Qb@HjtSp(ev-xwB~>3 zvg)ZC!!=Nl#tt6JD0yDqc)WsJoQ7lP*Wiz7sIG{dzC$RM`J=Mx6^Y~88Gy1R%Aapj zQ^jdE03|ewxZ5GP{MqNDj(PW1cLQ6Gt!Q6u3){WUh;&jR z<-LO+HbmSICoPD=6DfXDbZ;n?Zc-GUXP4<)R1_{8>4b*!Eu` z=<;QJ$3(QHE?%^$WNQl>rkj*`JvyS*oeY4 zUMHfHLOVDhBs=02zT|+%y>?ydYUwkMwiYNu{q=YjoRP?fyjp-wAOfI>=hekyR+KJu zb#QRVm7Ne15h%jtn=>wW>s3d)&%&Dn#4j>zJ^r@GS1i!&)r*p*pz%3H1FdPC{#RIR zE$^<%%I+*^>l^%rHNeQ+8KAqlb0gQBE%c)pcg&j)>%n)gICAF3mUX0F^z?tHsd z^1{ty&YT16DCf;8$jdX`RQU3xC;^$G_vHU1WJvbSzA&MRjqSlf&Xx@I(D_54vgO6w zy8#;``fPD8B1QE1^WD01DP(23vSg=)$N$Q=5ed1DPaMhWQXE;IJ$_7uOchI1!aI%9 zdcuUQm5(;}*YX&b^(!e@U$jPM5=VNwrMMb_6AS!;s|KM^6cg)VT(glme$)#lp5Isy z`A=CIeap9R192+qwTpJqizqK-&`h!~2gu&Ugysnalpu^eeB|)qt{NI%RIo%-aY4Krech7htw_qvSgae3ma;22vIp?|uKn>UP~m8C|dFEi<;egdW4+ zAibZA&+XlHa+UpL1R>;Br^4X(Rv*8w2Yf|%3upk7i)kD?n;HHF1ce%AU~1sN9TVaR z#i$mkpK$F*IGm?)Pts!?8J5M$xMl!rtynSe@MN_~Q4PdMzJ`byu!DxFMshbY11jbJ zRUA>uh>+O3cTUi>Yd+ctrYsGxKZURZ`u8c01=Rt(QL;bVdl0C<|M;<~rX-wK&HiA- z2(MX{&6-HLKqNO{Y6N9K;@oN6V$p%ItjrkEm?-x^;-&!#8jAJ;p6E?0hXQOO1Y!V8lx7f&Kfl%Y+t>wF}5HQCwj+$G*#|3D{9x zgxnJCoGA9N*90}?$qi(Q-o1OW0_si5e6li18jvGJC8gVWd5DiFZ={507Z&Q*X2Kff zf3Cu%5;B!C7O03&{p{7!U$~&Q*z)7*Yn(406fc5oq^V>TA8UV@ z|DRh^kF*r?0Qmc!D}T7l>Rzz6MOlh$n!#=M=s4rQcYWfIH*wXESq4y-BU0b&Bpe+GwP**&0`SP>O%orN`#KiUjyTfSaP)m+BGGf#dz2eOY$fYfk z`r*5NG8R=56#&H8r?dyfFl3Wv%o&*{~6=-x9IUd?LUtG zEdTjWkr64Jo5MTDT_M4|9pn2Pf$~sN*pw2E%X6EvYR>6GG;2QObNle zTwKvLM_m3IfvTdXdDq&}sCXD)@?5>zcIM0z>`u^_#MC-vQf?7wLTubs$85R0NT;u6 zda4Ka?(L;4A)w>RAqe(Iy? z2xZ4*6(lX~h@qmgMASR4Sh0iauww^tmO%n3!Fq>2wHbmILKW9}v`6_qdPSP%Th~=vQdcw8aQ58dh3DA}Lvc!-%i_#UO(B^MMk7b!5Ho10xa?R- zll?j<^DD-}eb6|e@#V^um?yeD25`pldlDT`Y4h2eLHff zSd;1UF;O4(eQIzi@Y;PE^CYW zV?SuIH)ZcJc6T$|o407>h!Jf^6#OC1QlD-xxpB!9Ap{TNt^Ri)kCyr@)oXs$0QmtS z3opxTn2#Y69E`5X4+*w_OTo!=%dr1(d-3;&knX-aZHxZjVu6+I8!Kg6Ny!Jxw`+&^ z1HK#3X#|9Q;V>!qzA>}@5VUpC7eAaYGF_lBwNF^o#obv%0RH@^tp>Z2_lP&Ux-!Dt7e&rv7?M82hDj`D@9N-q*&g0S073@Xf=A2`rmo zs{~i8$Js&H+fZmDUuW8ml8&25OHN^yR@k_?C>&4#yoQCeum>2P0Dp#eH|e%`M!-?A z6z=R_Hpkq#mE6&P6(M_U-4F)-Q=F=ce(l5wD4&}cRO(KzpgZOAgYiNT!-Rfb>%}5_ z)Z05#DZIqJ_EZl41rwkdKu^dNXogcFcNU@$GzzMOW6b5%YY}(Fv*&i*7dr-zC{Cz2 zxBeS2@U8uzM$(C0jW`7Ho{#~=cJr87WISUe00fA1aI#>Gn79G$gDT$9G1DoLi8szW zm{2m6!L(P7rKxDYC}pS%Se65H=wQV=6fBiz_n^^hEtsd{|BFb)_M;+`1;9{SZs94t{x57*3k)^5SOLB zxuVsd9*oKazer%90Kwh(nvmk?OSaUAy7RT70#O}h1_BW92)AK#t*k_yj&(Qpe2;Fz zQFO9Na{o-BJC~q>;qJF+5-w1-GRlDQEIEtN$U7!={xKR9`~ePne4t+aPr`jvZr*KB zM@bN#mX7z#hsjF`x&2)E4-j&4f6QXolSBK9T2U-&#NoP~*?3EZ+C$ry%G%v~= zir|3Q9wyouxCV)$5n2QKVzF&HZLs>ntO1=@EOB(yHk>6Leyh8&hu%Lr=OllB0q-bY zF4bPKt4ZJgB(w;tE9RFInaBm;=nnH0j5Pv%|Jv}r zN^|bp8ne=lf6VvZOq@a8@IM2&sdn|<&dpD*&Iphu-+*fnyIHapwa((<#x)ck6xj_F zeJBPXkV&cR=1B%>EPvcM9Bsv$uH{&v@hA%V1dVZKAQIy!iypjra_#Jp!9jmK2e{s3 zDd5Z5A=0Tlbn(xqZWlODmoCAK`AwQIVYR2H)#g+)WnI~F{U9xg|L>O|4~A>MzZ*w& zp19qQ_Kh3OOdbnF-S%6^`e?TBg~Z_5tqnJ~qy??g!NZB+IC(WddPCfAa&BwloG=c2 zyxS;I)$udHMmNghcs{*5Fvpbq)8Cb4LJ`P`I+FW$?y$y8S$DA5J?G_h9;fs!qV)4; zCVTYz_wO?B_xCQWFyEF2CyH3hXG;Fq?pWHfsu3Orap;~`XXD~JX=*l*oN>?nT*9Qi zb1Ukq917t@U0ca)w*^Z;elT|rTIcJp{TMadh(UsFhgi+(oTcR=&IYyryo5sk(zwsY6*FNwYw&E3gI&&5o-jpYFao>nu zJ#}@FOXcZWmu3?$^i(H`IEuSBZnrH!X)ZTBa`T!YKK_LRz0VrlQBHR&_@H>xP^jd4xuf@ zp=DqD`uQ2)dGKXfdyparw4egCoP}=W>vU= z+-KGh^R8@=qzC!$E>nK?)>hh=eRQvdFCFrd#u=drbSsvnnw>jeb9-S}`R4uoEGOy` zwpxg^|EOaJWqmZ5CZ}X)L?>$Ce0g2VZCe=%_dB|n!#qxXahEwnLt<$`Q__0Rge;H-K@By#tK~sQa=Z_t${Xb0`>)ZBE?{WFC zsh0b-=4CgPqUx~{`Hx1u{djK#I32nx+~G|#?mBPE6w#glg{hz4aK*ZW7K#2lmVjH@ zu78=dlp=#NXXWzcoyuly&gs!Az<<%@AWIR36qJ1YbAlFxy*hgYlOEG;CJL%|!u9s{ zty%t4hpik&Y(-@dU&)g_zCs4Y5_8{dd!Szl%mjx0A4>Ff@*e{mJGXlHT#kHeIXTof z?$^Sl1e9;Ye`*kEfgj3lc5GSs$@w<7Ac+fc(nBptkzzIcLg&am1U@V^dR&lg6;P#L z42A^z!~CxY3)M(5&IXl!+no2&qr{un_?5rjFlxrBW6^#aS**dY<%rz<@q;UqtqN9_jO7bwx$^;5YTjfw5VM-bEK` zOGbVg@!;o(E0)ne4=w5Z%OSm^Aeg0A8!z>$PO*|&5g4#y#MX+YT*??C00e!)@9#BF zoYQv^^H{`?pOy74S*=M_KDgR=DfQ~~QFeEsl$1(;{R9WiO>Cny$b|-HyK=y+GFnFH1U0i# zF5LQ?f~C@e1x37h_{-a)KlN7mw-$iy1{i=fX8~tWdqP=}XdgbVueH(<1QF!?)a0f(RmoFKDdVuI-C>Z2WU*Bc!*gu%vdc3hQ zz73KRWy{0VGm=y)Kp8;*hA5Ge&8xu{%0nf z3Myp6mT+rR*M9D>-zG;jxfUi?l`JiZL90YSfDi-%YFKMsWd(KUJ7}1}%X9Ot*XCM#X%N%`N|zmYXdj*u2IiDwn7NAq3us^ZZd8h`Si_zbew_cOv-OzW9wMI z4L6uEcR8T=Ao&5NF&GNoWle%w+AF$r$ zlkeF|+)7xs!LU8eGm=Bg9ubI0c=Jzi!DSCAqFe6CqfZfZRn$MgkT-p?zNsU7P)3kz zpp3SP8UCmA7CWpkzEa>JsCQbrRtc5Y6bD=ag#~-!Pn<^NMg`})NQ6g@?utg)~x5up5a9( zuFd4-Q8Kh|-=4o#aQ-%xoTUUZ%Db+rO<`NvutCVdDP&NrR&6ZweojN-keo6tpgO6I zuSOW>-Mi!9!3u-dbgx%<+#gre>kAOw@k;o$IF%$mzluJ_em}=>ZsQaL$&DYtRH0{D zCIycGd$A77RKk(TX%5Gf%*@)%tktqj6XKpdf6ne#d>p`R;$xt%^b*Y_BynV^zjvS& zucMpe*xEmEV(gKE!fcDRE>XtGMf|0ct$S}*337U$DV0rtIn?Z(|(PosR>ER5pc;Fu8_U%V_*SOOUD&Le7 z(%z0XR3eO0_i)TdrbtU2HJKD2HtFy^iS~`Gf)c4w_^sVJ4Xm z1?MF429OF%e_rjAR_wayEfHmu={lwW@+su_?!=fwukT?p7VQJ!M&ZtohFxQq6qB3*s8~|(T z_SLJKo;;Vcl)`$SM;D#!!GDLe2j3fRDkdu3US$XwU8RnMhOnl)2<##8`!6AkFW;WA zm!$5-6DDj_afmozlyTKf(`Uw1AucX*{< z!WBRQ&^72*)GBAs8gH5QOUJ+fPC-Oic|L4diaBxqJkr|Blx}psNHkNjrJApA_<4f$ ziSL8cTeXDk8&y?nQ`i-9ig|ntC7t(m*%K8NzICg{N6Spt=S4-nwLe_yj{FE;d^zpF5%B+p~ZF9eFuL zs2Q27PI4xKt3Hv0bQR)!#h13Oza zY#3PrVmP?7=`mU)RIu-e%5+YOGaZDtd;vjFLMW?jCi3vmnaV@+i;5T;or|*Z(oi$b zFu+mMjo?37>5=C)7#nnoAP&*4kaA9B!YV7@kuURIKy7g+i?*B`cA#AGW^zd`GwD{K-9g_eNv-CFHM*2?_Qf*D$lZIc|D;@t`*DZl|R5 z?CH}>wb4}Y`IGbaKKrs{`+)K%1YPFRYHDlKpFX1ir}~(tfu4YSlD!;HVR8 z(q|YEHU|xg*tQL`1S&Ff9v63k(9DGdB(@KCU|Al?{A&m1FFC`Hd=(`UPBG*kt{ex3 zuk2=)%S6=8o55+F5W}$#3P22r4`y*L=wJ}pqM4XQT%)GPpal{MqGO7&xDtf6?9ofn zRTyChg?Z$zUBnKygEc{}Lr)Yo`W#J%R2J8~FdjqEN!e7; zHFV1sJPz=s$GdgFysHV6w~Tbs>HNO(FK0r;!E-*?yP-6hxL0ojq>5QCV^LTTGKxR< zRdP&BF=QnFDKL)plzcHTPTnccsJG!h3+EVV@;2a!I`z8cp;Dz-J-8IAv^o@@ng=-n?8+oV$W*7 zK)q8Z@~%&O1{s;?!UtqYQ16~S#eYcx1Ha)0@G`loxQpJy0hJ{IJgS1zv_%-LAjWt! z#}SvsPoEeaXF3rgnNda8{Ffv)+CC@@)GL7(g|Pvy$_&Wi-?)=%DdE zL~srvuN~xNrQo|8jm;asW}li$NBA2zg_VM(g1E<^rYB$^Y!}~HqD^YEwKeOtD{)U8 z*L~?t99|Hn^T#VaU;rhFo*rqK@eZZ|mf;<2mdp5SlOIpDy&1tT$V)KHV4r zn3@{jw&Pd3=ww~&OL_#cbOWBK{@QW$R4Z0|gKVX`Uq!8DQnj3dRBzs6_uQavo=FQXV z-+!BOj}D0O61trTf%-OzkHl-M(wrMwG)T$JJjSO;>JB z@t5$Xjd~}!zo+yvG4TV?z&?(d0ni-q$bhv-op^UF2P3IA|ZQHnRjZ@G1L(wchtz+UKNSR85gPNgl zAz`)n=HOu70dzEb>79Gl*3|IQPucYgHmjZ4`mboU>a_1gbq$wAa;`yx*$7W4Q(_Lm zFi1JVnqN&EAE>8CytCgQU|~Fy1tegNub6B9_G;yh1L{{X`)MODk0tbsS+m+r2o@Bj zso=G6I&PGf!^6nD^vu$8H^(S6{I*-Y+Hly!z>tvMhK8#_rU<+IA}UJ$@MQ>h2yaLQ zjh}|76R4=nKrEPH0HUM(4Vnroy!;(&LyL)I8yB8Baf01ti3${@6a6M&kVCXcPCnQ) zV|B$H=64Z0`4LCO^yAk|4e3jl%#a)Ji!Dj#FI?cYdR8d#YZ@CG=mSXwOd46dkv?$f z5cTX*6f8hS{NFhpsejpt%rpXjVyE^=y`@%tb?UfrAFwQve(~@D1nsRW6y_|6+EQvc z=#e}r31f+CG(KgLDlE2h)c9nZLqeQaM)MN9Eb3pY=R~5dw6e7PYw6No-&QuY;Q`RF zb!o7`<*T{&I>YNM^{l==0=X%e zTju5QYP#(H%g+ue3~<@bZ}X9bAW~V*S%_KYq&29j<}$p@7+@kq^_s`CrlAw2YPj&k zoh(32j5<pP6>= z)vJa-&YnbwKwE7F&&bNaM`8CYGIQ>oHuoV@-_ZQ6LBHTU|5)V`vXv{`bF^|LeqH0IOADqFZRQ+P%yC>DI%G&# zWn3)r4#=712ayc_cbMn@3>*&c|d<*JE`Q1gK^^tEf~#r)dA>lmZLa1|-0EYku255CIRq zxGw2syOtCfHER^k?(L$@D1h>D83Wh`%S zjMThu|9)}#mHG1^bdP`)tW-LP2yX4UFmX3~!I;l)PiCfcq$-^;dv;&0zo&{rY<6{1 zw=Xl9I6;6xr7yRt=&q4W{o#g@rM%Iw=~T)A>YHPgwTbZ`zJ9&ONQsJyxSv&Vz>e|K zFKjid+SSnxW1{;G@PxDLK@uOUB&hv);ofg5ZPpG&R?fhKk`m?e2ZJH4P1{lL3Ui-p zRP+(l(@`kk`nZM9vU>#6(3N_9j#K@Vm2E_e2h6KvzD9T$n4;XBmSKH}kWn)O8kn}1 zM|J!z)f4i&(W90_2Zs_!6X!Y~S9tqEALCtKsXYyo%jc zJv}o68U_8#?R)pS-uKA7Dl5JgZ-Ns``woxZIIJkZKYs~>8Az|PU!6ih&w<2NiIwhy z?@kIINz_a@{Z?ONhs%D`l@N)yjAewJzJy&kDe)Wbxq7vxayU{U7OQD?>NI2i{N+qf zH%Nu4A_{)?yLQ~egk{UGBr`sVI%oC(7jM^1|4M;`+|CL^VEkPJANGP z6p`3T(#21xN{I#_IFLhCL^ON(rV&{HsT}zX0KBbJbbt#^nJdBX1R}=WHPa zNXq6k_aJql-=+!;0(=THCKi&r;VRd+Zj}SfB>l?s#mC}e+|zV`eE25o)(uU|43nu` zS$2VA)EdbNm8f{~Jd4tN5YfvTANC&`L!}Jz=&2&ne*gBZ0V-RLQg-BhP6hq*daFU# z$1d2?4&X=KmzD~ICxfpj7Y)Y9_#YSo2=w`-A5~j)Zn{@z39EtpEp6Rivlw0hPMz(XEp#OD%i8kB8dB&>fm~CL*N78VczAG) zSVh|L@zt`rzWw`~OWH^zK|w*ljm!=$B3o17Tw~0Zbzt<-)!$zCho50gv3GAZW#x?Q z?Bg`Nl&83KkUX&8;OTz+^a-qbb5M}YA)|=2u!|SPp{z4!P)jsd76+a>UUaM^etz0*MlA zm?D5Q|8_%mVA~w=P$+=wkXaHoemL;bk@>I$BT^n>c{K;!R?TCs}D+&+{b|6h;Dhfrum{XR~ z(gLKi)^|G}u=w3O#(&yF!7#dtupuS8^BB$!V@QSI{Tv}tB!;+@dl591Xn>H@Owwg` zpPoHCb?A`w;6Zd$RBtUUcfu*H8yNvhJVa{p!H(QDJU1fM(xnl*ci$i`%F+9C?s@%`YBCk}P3FK@Ed4kb$|nr; zG|G;lUeb=mkMf?zh>g{HX4ru(MMX+W%iT?iMA`|SE6N`~eQF0L^Y(3JRh6BsZI4}f zoP7F9%DdzGYsw1}8E@kdQn7)7v6SF7(~u{VHRphsw1%#27iu9dkz^Pv3pv}^<3OYK zmH(u|G^0Qyi5X^~^-PieY!3Mam%sU7a}wz}+RA=4H@aCWx2jg6jx0j!-$g?ol|%TBv;2BbF)lrcCm8)L*SUAP(e zq7-+%BkEImjag!;@Q16zV9wH$G*@COE?`VWkJh7U1O=AVJa(#U zT8rYYx&C^LS~fM*atD2Xer#Km=-*ysE~cJ-0yHSbrFppz9(;QH)_ zuy4spfeSXwpMRK&0+73P;^fhzQz4_MOlpyv1=)|4I*gwJHh z?9FiGd@i5`unPHL(U_f?wrLm$Kpwz;rL8KFI~M~O1_Gm5I9(U)NlVKgz z#d*l`Kx!`@C@ls-isBFBa$tT0rr0(E=Fsa=0*RiB4q=ShV*Lugb565Z{jyHKr?UNE1GO& zGwl7hhKGv-3y>_;6>m(=51THRN=}pJ?*6OroX77M*XvO2yh2tWlJoRH*eBR)SX?0S z^yu*p_=yY14;$%K)u(Z`o)30oN0XDHra2MC4qX?!F2J7zDA7<*2hH*eJN;hxl4 zL~ImJkDfk_lXY9P$Zp!SRp7z#yB_7_Y-V<&{%Bm>I4xyf8)|~ryih&>0^^MYC@Sxq z18EG`)0;8+&;J!&zIfGm@bK-#Em(sFt#VImbhKiB(7t^Rjadt&HfWErd|CZP2%7YlfhjHpu#)1T=&Ye=J{V8(@d*{y&1nfrA2Acz*gQXDJTMXa# z;Vcug#PFAXxh2cA)5azghry>h^#AQcS%F3>1bycs`1p+W0OHZqz5%+&=mP#_IUwK*FvTL9$Go}nuE_Tu76&x|Cmv~8wZjFr`$P#Z9ZC2sfg z@-~3nLR>+Q;rPHd7c4hwu}h*kq^g!a-8pQKSVaoz7nzs_g+i-~nM8upFxCx|2Qe3C zB5m-XLC~p>7$f3ra2oAVeQ+>1RQzi2OwKRe+RSrvXpO`oD!zUaMHeRU^z_k|q9Te= z@a~;REI)XFIY{2hJP2a^`;SH48bW&E{5*q60;xbOcYo!OJ&=7Y}EaW4W9=JTN z{#eG8z(#T3b(jJ*n{J1t>KfPaRbs8u*T(WKAMizo?;VpoxV@P;Sl_1)H;q*-Sq81; z+-1t12tv*YkO7|F+pezEoJ`+#2LTSBPD|QElLSD#m5I2O}TJkB^8>t z_o$*o?_Kyr1B!t-h@I@toe2P&ga{bSloE|S^k-ukHlbS1n7VBF^58am1pVgnG3+k+ zvm=07k(!EP+=xnyk!|>BMiZ>udY|G;?YB{qNQ}H|40`uINsV08e)~*rg+B!F^=E=2 zMNmK91#tm>&OuLnqp4m)Bdi%$b4N;8R9rQ7%9JVN$DgK-Id&|I0;cIr^U{_trNyFO zETMVUg7a-uVobTxaMt|zFfqmXbN1~${jXiU%H3i%7(nB=x`=zIPscmr@_kJ~#QkVg z8UNNO3Q+u;Gmj}30TCuV#kn?|6Ug-fkz)AfUDrE(3M zqLzXtU0rh!6(5kN~AfWk>cA05z}~J|z7!SE+cV%3E0CV~i_J zJ+leiibw%&lPRwuD2{||m68geAEY+`EG7v{NlB#ywkmm!z=wGwFrrGO_Y1)bH|(lD zasB#%!-3{Yw;l_P2&I868XFLS^uqh$UYFJ&b4>K3N2W0*B~4^QABEG^UOGD283sLy z?u={h+*tWSC%E(U_lliPDty0m<#Lqj?s5|^|B&ss{OSjitx}|AbY$soX(?RY+$fj1 zRPe@V&@nz=6+3CKOvyt^no1=p?V!tb%RfZEU-$BZnQ_+LtoR}GXD_|}<7B(wvf=06 zB(J$ZCg0J1Qv_S;HM#cN_phtW6zFey!%#7~(KWXqYR{gYMEQRGyfBuddvT#iq{XGW zQ~cXJq+OeSTWp3u%knM%_GMtB{i8=u3|$UD6(0{f7Vm#DqbRVxDJ(2!sEvUw+gdZ& z_f#E^sWF9;0*MTBuD2gP+%(>q|B2#_(1u!*zFBS(fpm7;7mqwTS3BQ+JiNEZ<{`s} z=>)C)^m%2QqRq)klcP27gs!vGJLf932RUPgKO5fdw{h0JTWf}B4{4}dIw|mTlGE)u{brAt zUGRyy)c$&UZpzMBy^=jmJeSioLm@ki+w`=$|Mv!EX5pbl7$tWHY*Zq#@R-BK!eP1c zb>6+hhus0ax3MOoB?)@VpO8>V>i?|YknbR;1d?KT z1%T|x)-4UTGxSF|8n*7Tvi|u;+aGm(IzpsD{q=w0k`%K#TJE5^z z$7$WTp=Q>$Cn{F8+SI}9X3v}U3#@xYaJ6^u+Er3fL2*{bTg4I}H`m_Ijuwr*?n{_b zM_IzbpyE&SYxc$Cw!4Y1?yfxMJV*L9rC`-btX4KlYPXN@51D`;5JlBafq*F)^7;cCl5-rWZA^0pAw_UrWn@CrG%UT%%y6gNA@l zh9IY+0!PFQ+N<^K1q&woT_gwrn_vu%yPeJC$vFe(VMs%NllZj>ri&(k`ec~B-*S2! z2Ngiz3mZMH7h867>e0O6M*Pb79itj=sl>hiwcyBlv>m3B?>~O9{;TBCkUbMz92%PQ zox*GsCED_F757%6>v8Q^!gr-CDoXbY{}4^XvgP+b*uEwdJb1|`x-Fir|_I>^8PH+p6bPG7u;P1P{aD4sq{ z1GOVp1z`{+>^EFy!KV?!CV(ctFDc1}2v^35W80Q3r9Kw{yO~cRlT02zK64;F8HWU| z0>W#aCv7PnebOmq6{rGR7c_6=!V$JCuLK26TzWx%){CZR^(x)Ncb>ah9rD0=O3>k# z!f9=xW{hojJJsj+t{+vWQx%@idUpTezRf;}-OVM) zMSyc0tSA?h%{cfxV~KY8=#N;{SnJyUara>n4fbWppw7PU`VJh({Ovd@_!}TvyR+vWmD%rK)U3or656bk$|Dyq;cI zLw)XmE>QLU(406YsxAbKCxZ$&VT?%WG{R>E-fGK&Gp7;kzz;6D9*c| zo9p;dt!4vh_sV&b)$_XrDW5sjZ;Y>(!dJ+&hB;Ahl+ALycC;C;#I)-6Ltj+|^$_Ha z1e;Z}jSn2$bv7yyQ&y; z@9aPA^Y6j=YuYx=kK4O_kNJ$Hz4lDVtJ|qJ(e8-uakKuz-njqTKYdAS`%jpFVH9Lf zryBe7!<54#FTvCRY<9mcf{0t*)oSz5!Tt!V>$w*XFBxVWWbY@afVrBSx*kggKKC~6 zY~g;6-LSTnu%huo>Evsp>1V$^l|syJ9mN-F<;p^ z_i&T4S;c}022U9I=-wezMOoS3Q_Eo=>R0w4+$ktnuUt0oT2}V*+V*uipPEM=+Nq-2 zsoK_VeUHZPr9oYL_h^+E)wc>0fzPO!Qw_`{>^sJVL(mo{q6rYhoJVRa+}zf#Sz|64 z?Ng_+v3NCdZv2p=_jNvb_AJhS7gugSjx`kFje$`96H0AK3>;h1l`B*iMvS=3{CM(Y z$?`X8_#ixd@k4xz-6LWj3x$A3RbZ;$f9ll5f!!l2 z=#{+ECqM%i;)mH-pu#Ws1E#wfiRN2$f@EgGBPvC9(je1>g#kpko}A2d7r3=E%XT_B zI5{z<`3RE;Ff-QujOBR&S7Y3YBjq}zS#)RQXGAn96a*+PSUbkNnolEvGD%*10Sp1T zb*^N=JUNH()+(Tq^T^{zd~H2`JeuuC3-4!SBrrY0&#N44~)mt?eQ}bXVr3$c-&a`(yzA&yy-IO z&C9W!z(4}{fsH8V=yaDZ&3o`59U=`NV80DWF+Jr7M*F~Y2r9VSAZYxSKqr8Fui%B0$cD{LjT8bsM2T`jVi8m%l`#;Ui-SXk++#v_ zS!t;z*d%ls7lms^55`n}#g{Mdii?qMvWVv7)IQK>7fzj`I-&kQabY2wTxV*xYxe*~ z85R%?_qGAUw2`@%mKr(dgrTZN$28y0F6q_>>L)%I@t)KP(j0B*avS6eISNZBI7WOZ zvIb2o_`u=lXgux1Uay=v^BFL2do$Qy8hjuS$Wr0z)EG?*tdQqK@>0AgIhCP%`mX&5#s8)9&!XH7}O%r4Nf=F5ks4B*~lrf zg9}WX)jM~7a3u7{n=8hHMoe_Ruh{vf->$6dXI@q+SX;ln-b)Ru6DGcq2sj};9p(k9ls z-@m^@bdkvVB5vjwG^nqho>)}Fc3fWZ+6(J!N`C(HZoeM)vyeb!LfWAa7z_uG0+FDC z-7HIkZF;dtbIaDP)oG)E&Imf3nkkbeiMaTF8_G4TuzaX$sLiNX(ZLYJO}uM}Ih#Ig zl4wKBFe=PR;WSdo!Z*?zVdG5k&lQ&sW{+;}jT=>v_>A&v2PHhE{x*by0k6Uq4z|TB z9?9ql+M4oTYgfWJktD$*s+#K%vtQ(}B_uqw{Jmt+qH-W^pqD{IhFC~MMyCE_x_51l z-o3%UM)Rf0yRglMaj4?=?}K99?bs7cMtl$Xy(-MH`G`O5;DXdu1IB#z_VgSs&1BlJ zOt)_hv**?w2~o%yAkxh~INW^c(!aI+)%R;IM@G&K4v|2jGSk6e#zcnz z)2Xv&QRb-ZnSc=S$jD!BW(>eZB=P=b8X0j5Y!D~`hw1m%LQjx$x38O#CdD^UXY-7> zC8Q|+sOj0m=e&J;*eYTQ*h{wxC<0uQcIr?_ArwbI%oGtAJ{PX9iaeEZ^lXj2&FHbjpFk%>LrbzH z8KGf)owRg1^C80~u>d{k#EH#OQ6Ll9ckZ0!x}&?E0M+ya(3~>%@J|16i+^7*CqPS(h zPDRfwW}t)I8ob=(DP6jzrcInJ%&-2ut5fIA3v=0+n*I366ZCE@tYTwb?+9y-Qc{ZY z++lh;I?m()bgjg}f<~vZ%pO7XkDN}HE|aEmGkL3`z8M!vZ{NxZV_6NKYd{g5P#v<(ni<3(qZO^`=TKnU>e4+m9N6B{&Tlu-(vkQoIAHo{63{N8s^?B4{ zzkW$~?KrAW-9jggut5p!icaAIy2(@G@MLb1Yx_MDwuk*5l)td2&adeA7ml4NjXoLS zC8u%!?4e5eb`4uaOREay3Sq~T z=FCry-s)A^a7c(Y8s6J)?#9Pa2RgJLH1n=cf7V>B1+FPu0L~74&A!- z+lyprZHr#Jx@c&i(`Cs>rII`&45!3t17~r-o0%TCL5P-{K<@$Im|=aouVmDOWK{|E z+~m;3HZbNPUFm@XD3(G%qrF>$nfeFxD(Pr5td)-D<*Z@q@*HcrG!nP-+uwd9NYpcI zzIL^uA)yDQE2_V?b*3eQodk?@`!4Dufz=H(X_ynbz8BOJDad%In>f z+=XF{PqjQ2BQjbXvMjUe7J-GEhbbDW+5}GxC<_3^dSD=i5)$(DiF_#RxhkR`r5S$n zH-JF3s{r|sS;O4$cU8~cD=cJR=l-;&A{PTVHX@`K#jnYwUxXIx;Zzjsx{9H7oT| z+T6&d4#XtA;j-qfLCfJclq-~ZK#JW#O}OXt4lH(bSn;)PtIvwhu1g#nnpaGud?L)& z)z*r8S8>2J?t{66GRo|;P@=aTmUR_P4vaVT)z>G^SV(^TT_cI$Wc`&A>Is(VjMR-RAm@kxFB*+-LECLo%s@sQD29sL?NQyjEn$a?TzB?bid z*!0o~g3n{_-Ss(@EfRpv+Pe|6o;#5~W3#DNRl)VI$(Mem$tV(~SDD7yeg`Oa0wCzJ zV{kvzuf=nZ2OCg~75qJE^xjGqchI>UH-YB-xn_{}*-#OeyuNnn)B}P;knzg2adW+Y z*o5}Y-!|-V_h<}e*RHK1^ulO@Gy1zMCIq|&)7su;II5r>%J1I31X z63T_SSMVF4$56Oa;1#Z4K3@*u{6@GkKJc6+9`*R2Gioc1e-@B0v8-XOWf@@!0x}8>j52 z^4{H-!ie`~Fl2}~dJC$YKPWIhsf}Nr_MbBvNRZ=7RmLx;6GS77T9jUq@GnxB;6m(f zvR|+u4J%y)knx+lMZkTqYHLSG$Vmzv&=XvEnA{_G5&OX$kZ`awwRF{Z2qKEn;GiJn zBm4q76IumD9DlL01D57_vqFff6B9J<2(^t**+g>kyo-ys(*%Xzisjl+C-E-krFjEv zkaJ)EdnUBH)^yy#V+9+B)OjAHYRBs3MS`Pw^Q71lC$P$LfY^t0Yku|>SYO@dU{E#a{vuj75S~L=?I3~?_2J8xvrd$KtfD>_jSb4G ze~i#HzGwP2k+_2{pP_qiK)eS#lK%d?1AZuj23_;6H8d*)SeL|*LOD8)hvi381peBu zq7*Ck905aOXzK?IXuI-4hCaTc^z(;I{Kgaoc;BLz^3sf1xY?@!hb;am`6UbJ`uwG7 z%z~6rm$LD}j9&RG%nPPLplsN*B_2FDmmoyX$dfOe(vwI|@!2xFLRML@U|`Rl!OE;d z{5m+UEPXQ!7Zay67i_sd)oYn=@o#UzS`@HNc8i*uLy^ogH5KwFeFv^TpB6q)JHCf8^cWa z{_I%137|(2Gnl`Y54B+126`Vv2dKSrrr7KSjB-@GTM@A|+ zmK}}0;K&59zDZW0QfZM}mPbdNs5CZTrkDi%YhLqQ$$gU_8}oRwcnX`iP-=)KnvnJ6 zl3uIwkkK>VG6%@D+^oQXc-_%G7XD&`eQ!ZUJPv2@*M+a|>BVme&bal{Us28ww|FprruS&cn^_QtKo^=N zF+VRg%GhYb4_y{lL`1Mx{CHP4S6AQ@G^zWTCuM@pbY>U-IKf>EilpxZHFv0a6iy4{ zGr7b!Z@Ns~^f~5tu9F9i%a=~SerGU(Iv9HiSc=HX z22r;~x^f58^;tQLtkGpc_b#UxPoy%OdfE!$PTP6>ZDt8^^d`p-`!L| z-+9!8jJZC^)&ky3Z!FIP33{2m30UyYwd%gHKnZ11YF6 zdnw~bn@6}sIX-mwa8TLxH@9}O-{7WJLf`qgBGkqtZD;8J!`GX~<+yfl+_$1a5<*HP zL&lUurBXuXd9%%>P=-`Qvx<@-ie#=NWL82MnuLlbGBjyW6p@mY2EE@a&$B=K`MvMw zz5mz)b>G*0UFW&ZwT^Wh$J)1nl?ZM|u;uk*SujulYD;USgX~;LaqL|Fyj7!<9h8R6 z2Rms>n@`jt6Lk7GNWA8N`NZ!53YiZhvwo$j2Y>B2rNn$s$4%0^ex(YTy7kNa{Qb7m zq-}1brM_xgC^FB5*C1r5den_hlivFOJ}xFomiVckL^53jdInE|zZR7k5%yF_X`mn@ z``}NKA0rYZmuZ|>iLxVTrcX>~^XxS%4$HXQ`Hw1Nc8b%Hs4Ek1G{pRJ%jg%bG zcPBY}I-^&8^X%r|LjkTRU$1pcwe96xwEyhaP6p*c|nxu`I?<Bh z6oTdB&ml0-a!GC^XC-+lb3aMmKr{uKBhDGB-efH`G8>I4pE$}rs+Z?y>?*=zK%{$i z;OEaPRM*Wh^VVyemw`j^&{*;wLIbD(Iue+=b=dqLtvSinJ_1r z|NlqjJiwdSMPmcd08> z$Wle;#@L2p!-2;jylc+N|L<&cZivA$W-S#KLT~6(u;@-~tP|f0Dwn{F=C?4*6;3=f$c(hrB{_t z<&Xp5i?YX2N;EIT@sZQA6|bi}d4B3tp{>tj^`b*cDR0hlF!s^VuwA`cIcVm)1P`P3 zMlC5J#Do8%i{>)iw@l4XV4*R8mpRE^z;4vxU_YdEq-P{u@B}DKi3(&9JRDk8O;tA; zT>2kk#5V{n;o;kAN|IQe09(*mK|E+yGm*(Lc~3X;qw@cChBtwPZ&6F-L&Z{3MO(=mOOe)GU%wUizreeSKx5* zN1>f~_bBwdGfZG1$ANAKLxJAU)pO@~ocq~|t;c9$=wLE)V}dvoa{ABd=Arj2|F zsHaflXtON1xypj&u;W`1w&ne~4ECFijo^t4e-@%JR7(n+CXtJ6OMY1v2}!?#k9Qj0 zL{Xs_Zuz>xrEnKrDJmA~xWm&Owr+*%4a=thYis|jm6n0Wj!~$7;^@a@Ty^+xI-o|0 z37Y2fh5iDa_#202Rq1qDZRXY{r&@k?v-S856TUX8c(fd5=BtXzybB8vg7H-%%ZNRO z$~7*3QF9fQt+~v6H?$IrL!GV0KPVR2!)VJrntsfHV6%JoAQ%Z??l9Y*X9)S<&47UU za6u5GlRo=DiF)A?dX4IRvg^ZNKqAmx5kah6zMQ=Gfb7dRZ+0?fz&NBN?LlVtIlm zY#VvC&GK83c-YKhNza5bt=;ziezVp~ZMbl3=9Irr-`ze#&L?2V@R=irA30{L^VgBb zTQ01;zc8(O$%DL&mWvD4yXCfGntO)IzC=`#kuq6y=52v_1EKx>KTo3#Iq(DvBI_+%1geYMVj<2&-R!S$aF4r=`5j|+ZKP{eO9#8M zUxr(cb${qE$|%G?aalZp6QVH>Lw9QoFJHd@{CNZhwHGcR55>#+J{Pd~>Jk8M!lN)L5_S}~JSnM^xsZjy zb!V2@hZa$T3_<%md9o#pfu)wChL=C2GbRfi+s_Y)0>)e7J9>M7)<~&lei~ho{Qb-p z^cqr9QfOffY4!x#F7yW@pyIN zCYW5JYNH%AHQkf8_SVu-FzCQG5Y3U^gT{da02456;=ALJVZ(A?zviE@9NXMJTAYY3 z<0bDya@UlX<~C99Fc09n&M+np9XhnWeM0=wRlZPXI9!q3aeTZ(%>k)^Y2KhVhBBEe z9zvgcav=KFEeK&#r%d70e!OVNG1G7s9*tSKzI}77Z|@W@x%~cFo9knR9}6ZNn@o!q zfKU~!#*36|ozAG!JF}b-!WCteCgo_66cRRo9N6Ma_KT~R-qZQ#)s%HudLFo@U15In zx^{)Z_0jLked0=ulFCxH-9o!b3dQV3(tYi1A7=~p2ajducJUd=a~n8tSMba1Pd}h5 zl0y>$z>n)13JXs5HbFMfMPKLR%8&|o zn0c*v=tM>RACG?b#d*-@;{*4IE&G{bd)Mw*uYHeCoRG&@_x0-!_;<)6Q)63$+zjsd ziTh;G`eVWV+qOJr3M3vBrI?f|IRya;e27iY=x2+z9b@QpFnAO)0(}GyLezeo-$1qq zmk6fRd}LnqSSTux*3njhE>QAmBfJ61t+zQjbcq;gsS-3Z*vMlia8p)qv5*?F>q>|F zR0%}*wgC?bb%6D3VhYu30|gczV*?u@Pms6XT6&GIPZwTW|$Nx4o!$_qIL zg-ghYC@w3v@evdT{t#h%$aZJ361knPU%dEK+mJfE?pa;)`!;Lx4PB?268gGK5K>8) zkFz`?1NcQ$+B~D}&{#?_F}yRSN(%CG5NRKe}$ zV^|91wW*#H*5>zil4hZa*{-m(=NgEW_HVv6?3;(aQDV23EJ&teO!p0w+}HNU4%<6` z<%meThgN3QptfHXf~1!KsoXe%hseqoxBXUD#(bHJ5fKfwFAl=I+W_!{Y24$T-c6~= zU5cAh_qDa`tjn>=Ny*BS$^h`n zN=xlAsPPWKECXjA;5wWU@KLhX&WBC`n$A%bWwiF%Jc-?<99ooDY;$}nL_RX|C z)I`KqvMo3+0uwV;S0Fh;@1VR854|Gs{n5O;Y-@a-GyS=dc=Ue0ZohbO5T8{sEw!uf zVkCMddz)YEFHH{ZyUUBdcsfqE(1dJkuES=YXVmKLI7NJ%x3g;DGzpRP1Ll^x|JCeo zIHw{ZdEyp^6!Y8*X`(dvrm@S}tY$%oyDoFE==;QoR4wNcUQFhq{`s7k=W&L*eW(ca z5D>y9Ko3!PK63$F-9nDejj+rErSgf3Yh_pRtX;3=Ki-h1frPhgRCasV@Scx}H7PRo zGmIF%dmXU_dZYph`d`25V=eG*r0&|FeJUh`7SdY&b491afJCYZ@j#hQy?#Njzr%E#B2 zxp_mu^oY`AbwKU-zmN-;eGAAr(xwjeg`#SJH)_IAt^s<8dk5e>JwoxQQR%`8d*BE_ z`y4*KzrQWR!2SGC3!XWCT$#7BZP04>_qeH2 zxc?3GzVz2;7&N*zSe0>H@t25vxpqPo51q^7Fh*ESIifdqE9Ys=tErvLr4M7~VgIOP zkjE<5g^RsqwdTLfH>mR1wuyk_Yz z5S#KoefBIKQL%&Lno|vw6>&JOX`N?+*t&UGO6R++$TUfm3X+-_HgxGHF zmMyC>&EpygiOR|$AlWBR{^Ck8>%_IU^^ZAfS?HnDIp4#74>>fF_Rv`*4xr?mNuLsi zi`t$nN(qb>rVW9Pf{Srr6=P`zm=Lg8=BgVh5$;d-j#F5`y7|gG1A-WA`zUQv$$Qg= zBxJU}Ie~o>433r{XUbf6a8z_QWWoc5#vjba9wto4YW7PgzJE#Nscd+|<=v|n$2Q;T zrYh&~?Mq$Ekes2vPsd?CCusNX--lK%$Rsk>3npvp)}gi3*MGn;WDt07*|x2jpDb3c zJj04-RTARBHhCn@cNw(kQJ#93B?R%*pbWkO~)w8HuUJmvbh( zt%{9qZ=(GKy!#;GWAEB)+CuINV^;j(YlOahF%M!LP=pdgFnWMZ? zPG?Ehxt0}Q?T(#WGQ+alPz`27(SCyfZhf2gWkwP+`7DmBQ0IjqZpLRQByl zs-8H=JHEO40crl6lUhCu6fZdPQ{*OQ8KkkJ$k0-22D6&CUl`CFd0DbTsC5=B@RD@_ zlS5In@Q6v60JnGP!XQ%a8vK->vCLNQ+C29B3u{t?j?*Vo|FA)PpRs$>C#6p z+8twb4tJC}jo7S>S_07-TRs5(8DK$EuzX)SXO1vikf`Bw3{WMu&&;E>x1w2UKSygTtG@mE z44@DUC6DL$ffoTYj6yvX>N%np4G(0M5%+DHgG9x>?8e+x7pIds!&j{$db9`f+ zNsY7OqldE9gUXDjPF)AC1&lh8Ni1{Y<|t$RZEy`g25Znv!_g5K;SC;#Qxu_lvXuJL zNYOXrJ#R^k7^0dOH+a;j*|^CbH*eCNClMz=vK-s&Ku+l?tk8qLiVhs-EsnOeFH@Yg zD!Y|qa;87(oSW);Kl8y1}Riq`=0`-)?n`pk7gfebA)(=8Sqw6NaME5FMBQV=? zSIV1f3+$tEpX6yXXKox^_lPc=U+!H|^`4sNf|awmcpXJ%txQM1{%m~Cz~2S#s~N0# z6UhynWSk=inx#rIqOw%7?pPHu@lc)LT4O_{`Q3+{7$MUnLSwj8dR`Ru6k#|OLdq>s z>LJoi{8TL(p-z(1T+B981%GJ15-}` zKO_wpDl!d0(u{-LN>6zs3g10fR!h7}5*JCoL1W~4?R~UO!FYIz^iNiv6EpuSEj86V zTJS|8e>65LSvXc?9*IhqQ-?G0USAZYjLI=y2-a`OC5t?h04b=w;eJcW$gI~onfr*` zH}m9J$zt5P4Z)ar2@V)Lh5mrNSVyr*bLZZG)h!T|eSBzQ(E6fSPh?~PFG14$Lp+48 z0b-N%P2DDrC1MHz2^5~Q`cQv82n}+;bj$~LWXzOkqFDPyFm=HhXp#;)X2fK;>I`@5 z+gH-(o2X)S*Dyf~|%%PkQBjhcrCIp$+HuR5-}lsD|9f)?9ekK7XDD z*CsrTY}vkjk!_SLlY*Qj@|#*y*qI-~pkC_Z9SQzzD&kU~c8uj4Hp)>+(SS{A?`=%( zEG(00=qNFT<>_)y6HhGQ2wuG!a)0|b?I3cy4RMF*rxb;PtT`Q4V^8Tqv2c}@Fp;N{wff6{#Y-&$vzCFrfhpOcNxr z%*dIBbpb7wN|nNCPrZm)LUAQf#;`Lo66iloh#j0U&E?MEmi~}mhxfk2&Q35%nusN> zyur-QiRScmc?lBgR!^6qBF~)wF3h(e!4a-odbi6^^VyzNtciFUGRW{B_1*$2t$T^{ zT9L8Y#W_s8zo-W02m#H{hWPl;mCl;gb(db(M0rksUS5J-h%@XUi7j3)x)Y*2lg!WP z+KUOE2qM4!`~w7pT)B%K?lXcnUGyz*Bf4Rw?U(mw-!bKi->Q5KIE=Gb&bxP* z{O~5Ga(|vKs4h>}IEyZhf}Xl&yL%DT1`r}zfQ8q|uLhO=cTEfH3L;61eL z!2Nk?zIu}=v5m5vDHIl1SqP7{LV~qmDYo*Cn5d<@kBQev2E%G@NpfGy`+)R<@3$c%Po=zg`H`zP$0z^KGUwb6n3p7$NUDWB=!uRdEX`rNr)(+B^?C*LVWt0z_nd@G@k2;fwbFhssp zSmvCOCexvne>0XCsju%!=T3NIGYm`@tXkD=YG?nboS4AvfxUip)0L@Hr*Oh^vuh7YiE4gjzj%S|h^Pr? zA{nX;7(QH3%RGDg+81ThPUoL`?J#s!>P$E5Uv?Fr;uKu!-~T$WDtJ}RA)$1YR~7O& z1{Us{!UJr(A7XF#HDaXMgA>n3&M9}UO3E;L7iVy2+LM6kgI8JzenzG}dFG^c9oXgG zvQ69v+oA_|c2rFGjaGAQWBp3;uHgqy>l}15=Z6zhh0})X2AE>sddiwuEzHb!Dp+$< zu}Y!)FW(31%QxvKj~M+$_wM{vR<|ye9?gwi+G2sbybMR|4YPzl5s8C%XYibvXYQIy zRHV2Uh3Umak8{xeI{w-kcXRt=Sa{Up+WO_BZB2gT`jo0wN#7fDmV9(kEuj>;I>>3v| zPD=Iqr$vz}KKmXOst2i!Oc>?%#B6*Stu4SlDDLz?3!me4j9UXmGe)=wZ^#v}o!Hq} zDhU{Yh78~p(f|Z2l6;uWlyW2uLQ4r3e72)h7}gP3@evAKTwMdx%E3b=pS7(xi0JQnVtVi(Q^`<2_feG5T5(L zU>~jO9={vDPo6f^Wbd$-b=%$#?y+#uCc`X~J_it6UWVWonYS5up*jX)D{~Myf=Q;p z09JyC(wL9T`$7{6`Z7j=;GIl-L!^i#h|U~ed!RRRjDJr_6y)a8VRm(K(USM$0|EkMF^4DLhN_jb zkZvGHPHL*u5fk>$P+^71zrFn6%sB&-OBc^wOxZK1+nlYv%ANXvzR``wYLQ>QawWfP zKd^+ZLuCN>1w}msV4^8w3?L$zU@NyKXX(}v1K}1mq40ydNQKz$_>1wL5xl6YS7#ZQ z6sxMl1RBz!u;r;98W2J_cZb0ozsv5 z-WuFb_53*ZF3WbE+4=MH(NFn{;$Ou#b3j-9`RbPmx3+&+wu)v5K`3KAqJuhV z#ewZwM5(a<(==ep8fA6}r=M%r(@&2WH#XeAfanu`9%GPuD=6%jWt!|i_0WgHh>zMI zRR;_(N3-g#&(+kl$-7&;o+YC0f4b-oU!I4-PCjHPCzd!1LpZ z=0?c0$X4D`Qq^8;=Buya_IJ~taZ{)cKMx+OqlQmMS@X{iia6NvQpqrtC-x)pUj`14a*|#;X|p8kLZb# zk^@X&qT=t4z~vqGS0jSD40%XG&2~v2YcBHJ3O|{Hv1Wmkru2?-cjdCKG;8^Lsy6&x zc7OjW;kamM^u7^Ya{WKpKKriRmVC`>;ke6t%rc(zDVp8#tLol*Gxz%5JJ-l`1v*AM z`03@4hvNNKQ-izGF^9@9pg9dy{lbN(P%j2d>16tpM#(S9Op-IvTL!x@rRq)KqpYVz zhHZKABh62qzVPsffr<6YwXbIcwiQoLYX0On^vH*a3Fl?~Is@W0M1MPe^d*ehXU|5c znLb7E=p@-`;sR4siPIT(Z{2!?k6)8mUEf{y2Tj7h6ht?~MC(9GotU*EXh=}Spuph+ zd&M-{qzt)R%CM{-d1j;fKj6#0Ge|JpKD@*5E($laLLRty<*wZ~D`w$a=WEI9$z?oC zxzHr1h;!$*PWb%_i>J)5^VV*UPCZiIU1e#ojgt1_joFU+9HzB0vVQu4N1DfnU9Tk+ zXY`wqX>#kl!kiTcU;irI>}Fv61jA%++FI&z z=#~!$iIu&g*`8$MRvF;&TEV_94m*LU*^?5qotj%R(3QdzWh z^uE3O26$hK+nm)>p)Hgfs=UKQvc_7jjPOat*`9NN=o4<5ZFMG~CYus6VZrQOeyt~* zbW1-(yLBBp(mn8`?e}84m{%t*Z>OT^@LQ2^jz2QyPKr%?lRUxw72A_^vQul&jmpYI z{rzDbdO3(|dRMP|movVx*v&OBrh3!ojo0fOr%7dKHhC-y&g}oLc+t0-3LknKpuph^ zFOTX2Q;=+P+L9&5>TU!EE}~I@a+P6f0RaJ;HHp>52`asN4^dZV5~Vi%QiNqi%Wvg< zDOzvVR(>p0lJSNAt(TDI_1uS{>ttiHx{LY};r+*Zs1_}d{;P9b`2pMY<~L6(oLF^j zbjZFy-NEZFY^>Vo>Q;rJGZOI~%>`Mv&hR95Q4b)H+~xxh|cqp2gk!KBz5cJHdpG z8A-G@lTZ>98DF;^Sc<106-J>0>V;U~8e?&gEK7v}Ly!{O_dgbT_c)X{$s2v&CnH?v zaf`waLF}@5{b1j-E>f!YGaw|?9{Kx;;oUE8#j0wi)iKFb%R5880O$g!U3>O45pYDX zQkrH#T20@dYeWsqr*;+C9~h-(X3BK#EZCOhO|X*%Q26gb*)t^=<3>G8|4x0qLU+3RUARMY~~ETSMH0FaXH zbGiTo^e};uV=NVw_l1H8A1V?mUSJB4!2C_axn}aH8*KBiuntu!Rf5MVax;zsvP`M4 ziOUa- zF#Z|O+bL7Lp<_sS!=HftL_S2j9~D2ODx51*5Kn^0{XqkvH587y#u)_Avvm2V^72>H zW+B-!@!T*zDS}oe^751|V29Qnudn&ii=f%8eg(WkvCqP8;rHLIKmN_me4TKcu*BMv*`JMUYyRP%d2TO z;x7Rc6GANOcC3}mPqCbDZvAk3gKUrwbpyW)MBN!4N|$J}0DMwj2#TRN*9JI<1RLra zc+*1187!|xG88oz_XmDEao)qDjot&WD8v@n@eX`C5f`fz&?X82T)M}P9b08Hl#KO1 zU7_xw7Fs9&N!qcU!1<$11tia_C)iKvrQ>LQ@MS*M7skY4^HrBj73zf_Ux+)etoXA_Uq*$Dt$y z1k_M?q%DN&bzMTkfP{|H$>aX-xR{&qk`~N!+H%*1D!5xKp{PDww zA-GSIQF1yJDKzMtJvGj@z6~46d%nH>n1iMepD?u1*Z6qa>`3)K{&A+GwWtnm?{{z%$d z?`-C*R>3Lx`n8qt2gQz~0igv`s-9s#N$2@Y(hh?_2O7zw3_v42_c`FZ;hlYD@m1bD zN^RUf<4`Ile#fGK zt|9|ZC}<-io$WsMVi*fPwykh_VW%}0dEdX^gt8EIm_$P7?9-Tjk1CL0jCb$!MdA}* zWM?kQNm(LcWcHMqY+EcWOa}Kv01cKri2li6rAnBdQHWh~Y4+3c3RgW7VM^QD)O7vy zb7F(a$oa#qWNrR887FtXv?t>@QmCx8S_r?sZwLmihS@~>6~3M7>@FxqYtVJb#D@xc zI2hutGnOtrfve(AwwLql%@zjOaShTGCV!Mjf#Y21mgd$ElPX@5dv@0WHf6IXHCRH7 zx3wK~ypC z>IEhxN<1Mr^8QAWk~KgB%@sqXKQ=Cdz@BV8)R*8LQb~=%#v>15+1a+wl+NxqDDf?_gPGN=2+*Wb;gZj zJz{3@n_uCurMCkQnnp4E9bva6Y8CPh$jQ{oq|Q{TbOO(vdoQ4#zhlk)O0Rd8F!f}S zBZm{<^gYsl&cXThcOm7J&g#O3iyiu|ykG58b4|`(`Yk|AF_?Kmk%TegoqvC^`Q0D%?fPHTQ(qmC7nA&KlekJ4Dh^j!mu$z-QhW-P)gDSMV%Bd+~*% zWB-Ib6o}l_fV;VsSA8HW(TAz2Pu*jSji5dWZ8P_pCJmvHFNTxVw{Y)-Hepbm0@|1v%} zl4@2@+5#fk$NdpW~+{VMY}vZy~s z`z-3-azJK!$3oI!UuN3p0E0aU>Kj$iSUP#-lYpyh_55mNB9PeJ%AeJ z&I-Vn)voE9`D|SJR5TZN5LxDv#=rrpDl6kzD2_jEV`(W&4%@iV1u8RO5X=;aKG!^9 zd0dTJtgF$8#0c&Df?;xisF|y5{|}Pb!Ap6|HzXGShtum7;e|2;V_?|QUdGwXf%)+R z-S9Xqt#b=6)7c=wqSroZ*f9G1r??w*?OAB9es*x%czRISs0VyylsE?9KM@6;iSYzv z+BS`YuuP4Nib`7IQU5uJPd2$kvl!V6i+~5il4rICK~73qdTrEFz9fcOv#@M|53py? zQ!281;=~-mdGY&q7j^}I1sKX+pl-w7r-unyI5C81#pywz7fjbtw9|LcSB~y!Qmx1W zVaY}e}7a5lcdO~ube$AQuPj=ORA}iO5D`+Vq_%#JdE|MC*p%f(-}3DTH|vF zHla?j8zZ6?FIb>DXiy!@96Dy`VcF0yjj6?nz%;se6b43P<#!V;y{P?!h%2!Ux+XW} z7EU*B-V~99Tj}jiqPrtuvez_xjdLlvPG=sJx9rK;AEhT!Fdsd97?1CcVjZ6EY<%%A z9&XX-Aabfv5m>)LBmcN_7EKh@!EkLxjCf|QiDjAV^R6^9?~(E#0!JM5#{kp3isAw=tk-KU?pK|C`#<_oqF4>wAu~ znA^KMNw#-yr90scv{LdmGqVut#RQW|mYpya*@|)%4LZ!>xzB-x>Cf?4V7>4Ms8&cG zHR2n0C7HL7P;n@*zbJii`h<|gQbtDo3J#UOlD^u20eF$+qoBREG)gQctMgMVw3Doc zVc(l%&Y%Uf2(|@xyWu@-B_ui!V5kES#G@BEv-P!5^@p{vWQyKk6vNQS$x@WgZnaPP z#*IVp!9X;tXkfN?94=DA@szoLsiMNckEmrx2F*2Tk-C17ToJ<&(%u_8Vm!cZ#3swX zBcPoT&^aeL3!vCEe921=-E$k|H7%Y2`8)ZR(c0bVE`hYGkzH}B)&K}II!fxlw6VQ~XYdyA=J?-|z$KSuZdMD3$ zOIEC)n!a@QEQANtrx>bKzzVH-&H4D+AOBc9AcYyneJov!-`IX;O@Rfa; zosD443`7Y+w|^}OC3-%AmYeI(cITNh?_nNv8PT8~y?ejrhdI$`hM)(As0g{hDPK4q zU`(BYjB?<~`yxFM3TQxrCC`l;KkMtC+!$^Frq2H}fH=P(r2h~SR>%RSMq>Rh4(eV| z;hr^rToY^{oPM@tEn4*GTHg1n+RSR11*$IsiyP<2236X;qf!8}9HORX5%Y@Vd1p&) z3JG_pp)1Cl+j(L{5~1#tk%3BvOB>N(f>X^|+BLBLpc1fpDF|XEON#GrKait^O&8(5 z-NcAvACs1zib>s`4&5B0fGO{!pMi|0M27OW`&yI^h>;ddnpA4}HH^nt0gyp3;h<7cWY`eJjq+#=l(?n+z5%;hy9@QUjT#50>OAQ; z2=UCNhzMfA@qhq3@`I4J>xJq7gwOhYoru&R)3C2-qAOJ+cl=`u>kERp)?h=xm^PA9 zD#gh!3mRXQsrL|>DzfPVoU=X$sLe5!8Xk}~@9I_E=j;iXVgz4G0ghnV_Bn8pAq7^g zb8G#7>zjs{gqe4*uD=)+wP5DVF0Nc;x1gp(s}kaY_y+8Nc|DG{n?AY^7BpMUoXY&P zI*RK+0&4HWYu+3uQ|U0FV%fv2&WraiT>7`aY*WRm>mj?;tnRUI!SMD?0h8F|;&R{1 zD~Zz!g)(CqA|*i2aOFdIK!^VH*#l$yj%<*3-h9TDmdBAJJ=;WXb7yhKGOIsi_UJ&u zo~;wh#1Msp$4;L<09LC}U8O#$VQ%s0u&gDoiq@s;`zz?+Ckf{RQXr8Edr%1Y2ob!q z|EKja#JSM2oK^Od$@cUC&lor}SpJZeXkr9px8G!f)Hkvwj56_>>27|B;g&m(SvgPx zbjS)W5eTPbNu{$Z$C=g|Ici-)QwfxT2)4;4j}#C&xT4M$uropFsB7oh_F|UiPU+HZ zLpP6q5Tm7R?%>iiRJ)7Qf4KlZK27L`VoNQ~+v$6fXQin_#>H=c-icQLZ^B^`b>%%in?dkC`yR zMbq%1hcFs59)tW#CQSx(bY;%xQK>M2(V#HN?I*XnhY4{3tVr=qH|lN7zU*SN)<^BO z8lZv)5(9_XbdRxO_7}?uKX~E75CaD>QzOA0CnCqFY+(PJ8=w0=%)((G5d1+KXm}Cr za(pImMvsU8K}L8@OWEq2kSBmHkYy^nDjr#(M_wI+p8fFQer|s!16eYJX;VNj0SQZ- zXnzT+8+bRN*>%v}^|B=F!*f1C_%)HDb^wl9Po6~RAscQ{*NbZ9RMlNCVOwy*ox z$Xa6=gG}WT;o5)oO8opHm?7^mJ0Vqg-a$viM#Jr`Ed69t=M)dvYC$t;0aRV@a5{rI zAlw@7&2qP1U7QO91D)CnU7}K?&n2JGf^a9v%!L zE=%#ZTDOkXVm~^S4Fw6tZo5Lzbtb^ZXHU_=aJnqe8DH0os27v;stLsFmPkzcvs6MxDML6V2?-8?9vKYb`?H0tZ z@ko3qx~Y6gT0ky1$OOxA*aWD@1v1q?rgTNJ6PB z{!I*kp+J&q19hNomz738=IJe8j)rUO$#leh+z-eKLUt>U!Gk>0Y&c6$i$X;}PEDbx zDtPg*ns%UbArYY6i3b{xt9QVaE1${1i9poK;PoVs0NS)6J+J4zh1ryI`7hfDa`nmJS!Gq7^#|O|)ibDE9%&;9g=M)-6(ts!124ET-$5Blg z%0Y@F#Tmo1ObW?aNJlE-oRZZ|3%)y2B??lw`cTNNI`p9}-g5 zmZIVTfx{3(=I2^v z$7|-y&(s-Y&``TzvqC{6lrx)fx6KshqUvq%ebg3n=45aaiEpIKq!?tQn8c|K z9SYZBytX#ICUt|H+;|WjAj9iknvwh7@C{?TpXXhubJ&b`8GKFs-oAVj zb6zHe-4rv)6{b6JwQO!4g9RhsiuY`5p}+aVeN=7#HZVXI1ds`>jJVc0JY;;oq28Dm zw2zpgZB-wq`lZLJ>fMsbZ7J*`LCA@UmF-Ad+cJX*FzqZ6hE74n+0zkdaQ@=Otb!zZ z)G43WuhE#|<1^v@1ij}#Y9yq$G3`+cyhp1PwhT`LPSgM)@X+nWbwAJO9~A(16+r~b;mjJNhOg9t)4&M z^PMhp?4?wD?$fq^KgF9yz;p~;1;(Sr8u}sHIy!Z7TR!H^TH1Z)%$Y(N@&sfbK#LRy z%!$3dX5D(Az(|`l&2tbiJh7lk)>}oz2n$!vwxNRu|5$bF z9E%ND>++%swzokMLj^8ZJX z{i4v!z+r-t>R+o@-+)bott=_@sAISx!2H5I3P7^8r3Ew3jT!F-MY4fG77kBko^ee4m+cD1@RcQ|KkP z)rGd%d5jJ@CZ!6(0$t%ppY8`uPlKXBHj_0$68OdbZ@Wj84NKn}{nlIYsmyl2S%Tu{ zuO+3$vQ{g&n%uO(>#q&=5&89|Iju!GvXbvH+Nyia?Q)~TC0_5|nEjiq*KGaJJZTr% z(dHAQDjF-w*SNRLanIj_LbaEo;&b<(llW6wA{pE`JU+(n;6Xy2(eV5BBp5aru2MYY`u~eP_W*Zo z*mJv@Qp3HjU;oOgW)qW^pqdbLyqlbPvhk9teuHC$GLeFLx6l}s9sjbc-vTN%GD5Dc z|D8pz-R6?+CmY@gWa^85PN6wI_gJXv4z%y!CJa@EaIdS|$Pvv`5r$h$94XN4IZ6Jj zy4D(2)N!Miftrjlxp%%YZ>0EyZ3Tap7S{EZ#@6ZYs9A zq*ai}CW;-s+_9urB0vhv4zK1keNkd1Gsy0ec2hu?D5bUu{dqErr(1uRu3YK%qi~9Z z`86V~N?A)-AS<3*S6^G1D2xU;gbGj1S8=(+1b5V1TyJUm1N{@1fOx5EDJ*@pO*M}W zlbfmHAAcy4*tB88C!7Mz@7N?(`evB#&&ceSc&Ssv;dbs}X2Nf5sPZirPLIgp9P*KU zmY$AFXT~3yG)Qlgb-PU3a$)KxsGRBKbnulSKVKEwim-&-ft5w)O}Uu^6YmYW%RnX^ z8seQTJr{J)ltnC#L>cEq&+~TDbT&K)qkdPJ@hXMHjl$Q#lteHv& zRYJnTC!ZyQ`YMn)M)jW;Lu01cf= zlZ+A$SQ0Y?iU8`Q0vrhTjnLOGc=TxCfB_}+eRk(1o3~io+GgSY%p9hioMinzqQnY` z>OtZL|7xq$p>h02`25mZ8^nu@72}yv;$=x2^crncy-&=(c;`+%IWBOVtO@M_DZy!E z;9*d&#GEYPqsxDNrq9sBgbN~Z7UrNmGqe(H*7xt9$s`L5=$}6y3yK>PQ;fR=Ju9-- zty^!=K6xV;{Qu**qH?DyF%}CJjI@>mv_p_okyO@U(XQ0!C=3=kC*(<5CtH5Ex@La= z(|`=s+lDvLwc=Z;y9@i65Mw`+L{k!DjWqObIsYcDbEoH1{K2e;2{{5Fg@-U*1-XYy z)f;t^yLMUm_)AA4lpRnmjd$%7G*jtSig;P)!9JEfPR`zA*8h**gU%;&uo;}EJ^pmY zdZ7qvww^pdHuC*FTrEh2q%dB(Ozu8$`S)Ib@cOpksdtNQlyJN;G*nVOkH)w6>sSgI zjF5H^NQ%_Pd@ORYvLeALx5f2#2g`)4SD4c+sC*+Q=#YRSZqAv_Jv<-?_uZ#-70FkT z?3o)3YuC5PcmAJvtR6a93ZF$x`jg=W0u{guMB#hw=1rrm<N2La7l~5e&cuY7cc1)##y46U2<|^0_g`1`i#I`NfGkxZYw`0|xAy zqVVQ6sP8c=lYUUtzvyLCIs$=Eu&r;rDEGL z`Er+~I!s^d3qoJEf_miic?r)_#9hIM507#FzIOB35g>ab!P4MNe_#j^lAoyq5(jkD zlt9|BQ)Pro23!(C5IY0$lJt`QrC~U$HcsJTF#+TPSgXMrogG5qiB1UH0>9kNKUp;p zZ5U_2TMRLv`D0{_6W`G`R5o-Ws`BS0i%9rrtzVChUPKG#+tNK;=XOB={KI6jC z9k*xPzdgT)`iRS08kW4gK4U}BUut89o%`}!e$TH~`}l-=+YbNLxU?uM#l0{k{bbge zx(UAhzD=w+lT}ec$RmS72H(A(R!7G^H7XpMfmj)5XD2FkynPZKe&QXSvvs@eua7a; zI+-!|OIKsbs+RZOwd z(mIvdv76mJhfhafKQ+Yvh?d+nCT-Gj(RNh{%D0TnOI<~MfN!5Db!e#qVctC6m3D6I zZjs1k;H9o($iQuPn63iMe({2B(WzPv8-Xr2Af&Vi{{D{MA;SE{*g^dG=u2H|<#o37 zua**NKmD+kp{9a(Nnc9zZaxtPIWoWNCi%)oo=JrbRd2gHb`dEsF%qL>_?@WKp9WvB zqTTRe>%G`To&wytc-gXj`kh3@9k#2AO3e5spaf(#7IvbPX2Sv_Q!0B|o{G z9oA9gu$3>k;IF^D`GQ85sqFxE1#n-fqvs7qc*{)aI;ldEJ2a}#)!Vn___8~TpgGcX zi62)~k8=iXvX`fP3@6d{qxDu`=Yt77^XWD!-hdX==+}m+djKVD7lDZ%iTd-d`&;lE!@ydG<+cNfmj9 z;<=9dz^Ty?Lzv2R7Nqv@VFK*}TAcuTdj)C*^$BGb?N>991c;D;pifHe7+B1NJ2&<; zHCt+0nm}k`l;o#RG?By08m?aFozb!*xH3amlYmBA;37i3_)%L6n(GIzsU*`BE>ObG zIJz0!$Z*qx6ll=Rp?*or$S_5FsuXQis2NnS8^CPQ7Xsq3eOS*NjqIz-OfrX0tvb?TwIt$$xtx?cw`Ke@H4Q8X<>HbjE43j`0%6cDxM@Jau_|ouLU9iCNv#l zwI^K3I~Oo-`gChr-T?Km0Lc6vn~>Vo)Y!qf2DcxzG}4^Pge6VGlUp3h=WuX*Dk+IX z28`a6DTB>KFr`~6Uw37!r(OMsv860Wb?pc4&Eq|+?ycMcu!ArjMGW~;WF#I#vu4kx zoaUq+nvYNWtHeZMU@6BKEnh}_gpS)pVgCkFEt?k%m$VZmUf}~rTPiCGQQAGONbK<9 zfH(mc;6+XjL&+F;D3~-sL!-_P8}>!h&Pc1WC%ayPtim+BbZ!UZ6*F*z1RcO~_n@-V(SGP>{Zwo2zWEUWy<`1lAQ> z)MBG4&01T2MMEs0!wI+=G?VNo7<31#f>R+a4B0{0w33No%a<$Aq@i^B`)?E_@Fiyd zE;eeU)S??9YeFBHFE6D!A^4Ci?Qh|mL!4shM!riz2hl3UR~*k~3?NmOm(Sh2A$RY^ ziysl{lS>kY$@5Vcavje~?eP6)GA`Ro)`XP`FE0xSmf=8CM}0cS?LIY{D($+!qH%9& z?9u9I1w4r}KJ#FC;h>9EBxftRBJigR$AD>-o?S^I9VOnEMrv+$Hb?!`l~wH)0H+k* z$G-UFV6g_Ad_j+%s~&>B@ix%A$WS)E9VF^V!0Y*1PZZp*J;Yoo-r02utR>sesf?=qJhLJ<%eATe(pSEwu zSU!!#NSNt=B;8=~v~pU4nJEcbh~-#rr^`?TyB#}A(bIe1GKn^}8Gqfm;n&Kv`*Nlye5F@@fxx>2y`#2V-KR}2vZEP zw+ko557N>)l3dE35;+DacjVk%W#ZTz<8*vJ0GyK2LAIpLX6jnbFEl-)UEjZNEgUWq*?fAuuNOt+d^s`EeeKw99mNSj>opRI z6srheME>YwGO;TC96D#4Nr|lcLTREM#5v9Z^d$H~oEsBNI9f&4v*zP5 zkbeNrS-8o<#3q1Z{aFQNTko-dFb)~dIlsxXF7@mz&*r%z(brURKbj5LEjR|;jlo$1 zjs>ftL`LjBemb3E?YcVb{BtX$rKA#r#XMzRsvmfScyT!V>y}3%&n*&6ED)8X;24SW z?wVPGvZHKv5T0SBheU}D4B8fsELeUVSre9nh{0v9ma{RQHqDB_`tFvBoG3ea(yF~3 zg6Be*5I*1#jfdkQAv>{2D4dk<315f2NtFHb>}XEO{y3%ZMS#hr90Ni-=yVf_?i`&_CX>Z29id9fWIDxL;Hn;;}6wx&< z1>%kavwaMG=J&q$UoHS?7)M3>BGR181x8SP&`@CUV!B$mOo5=y4RPUM0^emsP{-%X zL_1$GVW{+xdiF2jj*(oA8PkJ1W+ylrWATH%7C9I-7)@W5!hNR>gUmq<3=OrV{Ns)I zyt27G{;yq|y4E_upd`n&j}VDYCnhFR6i|XH`y(}Tqz3~bbpPJHC7JaqQ|>7A?!9=$ zijkQ2A_(W_U|t%*|^sO~uY#ZO9ON-ToGOK{GkS zfat0NR3~HoNPEg-vfx<7)I6dv;}}jIKQ1{mFQMzxI})qJ$dB!G`;R_;fUT{|+7X6I zaAffa4U}*4P+$~ipPdxDt#u?z`0QCv({O>L!V_be%7xpkt zp+W~w<%mvJI$sB~I$0?!aQ~r0qlXQ%UguHDT4H^e9#nW;botZ-x5h|R`ak;K#fyYC zmd9I-%2JX*V;t8VJ7$MD87S|YveADW$SG?wCgs$mp_Bef2UB8`R|44ZF-)C^-~M(v zWz>r3Ov<1cvt}8wvdImpH`;j!h!C|4P9&KhJ$@WAQ~ZbR`}gg;vp&ag8QP6AXT^h6 zIBXpZr6mS^G?~3@-Mz@Yc2t*FDn40P>FVo&uazB=$d?bEOGS+Z-cNK+rhf7ZaHz0& z3_b2Vz@DA%8M2@2%c4J)Ci?>DpFwC0K(%V+N)DiMruSihqo#I@wzn+}ivB1-&Ylf` zLeQ(%Hj*0BOW6j`ZMyxTVNwr3?m=k5yMEzW0hfWK)0w4x!IoxlIrozo$=|}j5lFu3 z>Ks!)_VyUW??Jt2hT$C>^e5D~|cAE^|?j8Bk^ueLPqle2i+D@E&u&r%$uR(#m ztDlc~DsFQq$y{Dh(Fn)5*x|k=VRQz_I}PD~5PA5#QGKdFuIX^@mgolk8BD~$y~%-# z1PP~Iz*kMT6}XdxS(vey2SJLU^Zb5<71RuN9q=xxU&_;`JE=&qP!mr1;loR7oj4X) zc}(_BaQM{o|?*3UuU39E!JLGh*p{6X;JWf z$mB2TE)5&p2JO0k=xO?$ZSrq_*A{$;Sy$F)RIRbAywT2w-riH-wA;@U>I~8zRs)Z2 zy^T$VMHJE`+9GEs?Iwe9ssB7R{Dp4+Ob|ZoA=;X%G?La6SJ3<7BiT>a&YbrD_3Jjq z#-gYoz&1fkvvM>n7UnAXRyr~6D(A(EFafw5eSDT$AY|Lv*hcb`ePN9fGW`XH3w;h| zKGJU~)t|msV#Wo#?#qgEOtzfqHc@eQ%IVqzj~+LAAMb7^*SAl%DCG$+(qvTE zZqPRvx1ASjIP@%Nu+VR4Qo6ypf@ZfX{! zmN<=j2jK2#lA4=)!X&KbG_01zt5&%~#0F9q>_sUxiRHgm^fPd>qoqbOo{|MXbH|RK zD1dNtW4zoz*IP3h{`zv4I=} z=6~%0oiGGZYT6^xx4dZU5}zYE@cqEi3!Y5r{g>S5d-X}R9yKdMitNAts9kh@Sp+@9 z-Mf?N^HEY77#QpvQsfA}!oY@7AlR>tS6(of5k@KbHlW}H<}&HqT-ZHz+B8K)MaRt3 zOWCO)@pL1cwN6Tx^%cuDH2!m_pF1b!*d_bP%KI+PXY0-1+dFUgbthGK>f$G!C&aZk zq;=oWZc6dEF35?ZA;!6Un5Vfpzd`P!TMdPXU~^k4$+}y z^li|Tf%V^ti=RKQVj&?jfdL}4fI~tk0J-B-8eYI$nEjS8ns9D-H^wR$+daO7Hzt&a z>--DD6RKVc4_l&zotB2Hm*i`C&BQ!;rx^Bp~8a3(*F_&#MrvQ@xloK2S z*jjRuH;}la-Jsr*A{h+pATA-yq<{A8GrAyz%=CF`P)+#xX=`dSDevpso5k#4%q3`z zK-S;!{&DAX)p9+096oYn;Kn;V(&262V9Nb2K183DJ27=?k9XTS?^zO$mobih>FDFG zl!TO&)gT^pUwz*7D4f5D!iF!3>=WdV#08oj_l0~EbfpB7m5Z}aoF>Ps@_;dIi3l)8k7N9rQ64~$l zFEpJ`H$fAcn3N<>Uhep*#>&ox3)o17kd+fmlUXpUv|%sL0?J3Ob6UTUMp7U{*qZO$ zK^Ae}x7aK|LyB!;<|%xoYu zk1oq|d*a6V^HX2GJpJqwBXid7BryBct256&Wic5fwX?F`N`8~Zd~7b{Md0h*H?F5FGyby)ZS?N z^wD-qs0QhSd|KkA+Rpfyw*<_)J%J#P{QOkNE#6)HgnQDfoU8qila7l(N~ zCocGmWVgeW&E{9gyU^79z>z@(K_!K@dh|JVDc(QW-YD1i4;+_z9(?)e>^?Sm6#h&8 zq$YZMdXCmP(Gw(yz5PSOUY@5z@o6f>fox|fy=X9dv^QE{5Tao~Jp|3kKcH6<_)@vC zJ{YMv@RnNm>x6P#iOH>nh%zux1OPZ+Lf`-sgjTHRQ#Y%t$aWQNZ_e~W&$xXyUyE`Y z{uP(&c~&X+$)x5Mx8+gQy}A#+IyU*6Mp978x8*O*3oLg#oAhVJ+1uCvP%%20PpNpP zhQb$v2NgXITGipblWWQmSV0QYUoe60_3N|A_ozpKnAn)n>j0Tx)3lf=OkskJC%gwV z;P7EVMVIT9sXf+*LX{W*cx_&j^i<=V?4>k8zkov{8Oy-Wgb4r&1WRFG2cRQv+G_mS zC8JIekb0NVm1==HAF)K3Up|X71xW|+&YgRTIn(eUiggo-187L`Z9<$d+J*NKmgo@D5Me1=Xc}KgyVJ3PyKvc`NF9+PI z0^5sr08zMR%5P*_3@cq7T_5~itb}aGQ^>=VwW|=m>3*-o$gIE<;6k-edA{YORfT?EYijZgbmT zP3P8~HV?bmak_QPgr>tWry8!8_f6;wlv4TV|H9f&o&ZTEj#mqGYAG#a118+#lVetY zx#N;5vZ|(^q~6h*i){A^OJvNGr%&U44!7YC_N&6;;C5qlXlh_5+c4a0f169uus=Wx z@a|ksH;MfNdLP|Q43mKIh+NLiH4vYx4foU0)F2^N>FT~OJjEXAaf(aIU)n^VDp<)Y zr4MDT5Vv=^h*pZ1K z^oL-Aj$sr;F5anSbkDv25Eb76u5Svj6SUI&)o#ELwk#o`{?A5|3}wJ;WEX+J5zX!1 z^1W&e-nakzwViV0BMg#MX3k{eX$2+Fh(AIZKwG9Q%7| z*2@=FOjY^kAAx+Zp9|LG^W-m>WYnzO@w+V4rjJJ44$l+$%YsOG03z~t97mtSBlrBd z1*rt^26dPR$^tEyu9RQ=;(eO*jMR&&2qQFeKAi%`E2ZOV2i4|)eNZQC6J#(%?SIx&~7A#|y{7IVt z>i{I0#kk;Amlsk9Zsf$Fx1gpyjy3f})9%x-S@R?J3s|yy4-R&9-Oj7hjXV7wW&QLF=b3i};j5M4AKSF8Fixh2SE{q&S zBLa{&Xa9F5#Aq@ltn887+VN*~LK~eKYN&js`6Z%%XX%PGxFc7F}$Iqy_{ z?5124c*~Oi%il5Z*1o69n(qPX<+f+~YHoO0Io?N3Pg{gECLCJrt>;P5IZUC zlcIuuk2;cn1~%63T?q%bFoA$wi&RRU1=;~|xo(H2A~E?;%ktM0MlR42V3WAZY#j;{ z8Z`=ENS2*{M%?`1dG(OX=iugDy6^w4pBc1lY=FN%)ZH*SVb}qRE&u?kKOz>ChO|3~ za(bn7A4Zp{)An05``pQgV}@&9ahBzH2d5>VnV`5SKR1q?0q#UYuMNYRTw+Y zs-*h8vv@`!RTt)cRRookLF6_XLvczM6DW9Qg>IQE8;<(53VZw4_VdfZjq= z!eSzW0>GLnWb_{(T2wh*^__fSgn$@GKhrfd#Aobx=FI4XWHjhJu?9?7(R5EOlhS_p z@}<(OSr_)Uf*?r|PcjZcbY7lMYFYgWja3pPMUVrUBI{}tz4b)0(M?M@92z4~_zic} zMJ|)Nf6)|8(c7Z(TB9n$|4e0Q&t|2(>usNaezoikc<*$M!k*ylQe~Tn)D$fd8yi3s zif))w;X(lY3>i|ClQWmBZi(*0VztC+$AC!tUp3}~-p;Fqnif#q^z<=v=CrfFv+C2{ z&@q8>yGx-sag;cqwQ-jAcU{Nhr%%6R>4Ov^%b=G0|PIqQTZhn->#wM_PC=J zoLXYuesBXyNv84AnN(y4S#Q}Ai+z2e`K7$7v@wSvc`2r8f!X1JEZMF|sm1)ECEk!N z--tw34hbCCU{+RC?jVv5praBt3Tb3uzkxbzp;SIW+YldsFY26uD*EBBez5DmK zJwKmo>x`y@H_u!c78SPLO50zsRQ^#P!5n}q5hHG$G8jbE?2SvyJZvAy&Xf1P-h4YV zNIVFTb?r_y|5dQW?=+UG?6J_?@4N2H#p50;)m#l;<}=V?I}Ig0 zZ^cekI+}hP=Wsk>a0mDNPQ3&01OQ9=LlYWd)Xh70iW9M*y!|vOdVYTEFP~#I1NB0v z4xM6z-U?htz{-Lb7D#hBC}$U<9Ah*vEHitu)+i93-8@D3ZU{^0adyd=FTvLeq;=RU z2pngN<>6I)_v#khKD!cJX@C1E?2Kd&5oW;7ijLpeqJcn+h^U~0(x3j0 z&?%&s;Ur`dkOSGB(mw^P#<{KG=#?uU0S{?#W>~%f;hr#N40T;1Q&62&C~E$L20ORO zZTXCkc!ptY(8A3~O8$>N=4{EeQ|!4&Oz{L}J$&erS_V6>vSSK&iq~H(p#M>~oJS2a zrc5D6=8)ARLw3o&BSzGfl^sNpq$n5LzEw^1F#CFBJoRX`YNd<}GpnuVEi`h|-1@y;EM784pZ<81m!?<-D_UGhe zjUDm7E%kvXXwB0DLnP?S*_7wl)eJ^$bEgaZTxC1r0o=_#K0W~9Jf>UkEikS|IV%ic z=~&B!VyN?M6%2*3+!mg&ejcXA#RF$-4Y0Gs)wmMUyro*{4(#gZx(O9fxeUu~y_jJ+e^hI+PqmXR0 z`Qx16L5dsFWF>mIWc8q5p))mB8J)8~ZS5FnHDqTyzFOkFOt}AbSEWV&Z|zT?=PEuQ zQv6ijkI|(pbJ^lal_Bn}bz+szOCR)?q^8upTQ7Sj=w;hB!#Q1^n%_LLZkqH)M#hj& zvBGmiNLbil?9bmmK0@rxn?rvl zp)XD@mE4G)*pfnvK`K%ovbQH8tcQmslA6{Cr-K0J_$&Bo28(BTw6O`dwK-^LBm)2m zf2z^CljqvM_;OIdNohGmQ@#NK&$iyCYCyKpQijrj1Lx`FxdFvb1#ZK-#9Qhm^V$<^ zh=szEe(SGnfkFj)3`R=aW-Jt~=PNC?Y-wUZr%B~J%&mgXTz&U? za-qBYT|7h!H4ZJ@y|}-%b92oQ=aA1|tz<-^H+^Vl_4M`2y+zUE`1p_CnVYSXmzywl zl0lQVjVSoF*OF9g7#FXtk1h9G%RB45MHYg>+iU1_K|F-?oG`_8m-p>r1Mm7->mq0m zLKF7-m$pZ?wAZAvj4f5=tN{~HmE)Q}nmRCDmw)d_Jj>I=$;~+%ICJ+A z&0yXP=hRvXOr9xTrb;nBXoFg?VV9) z1g(RbTE7#_h8y-`NU@oYDOJOVMJm7hDz|Q??)bFgyJTVviwhT$(_~dqpcH$#xLwzS zBf=iUt=3DpxU4VHZ{tSG8CyA8UN!0rM27mq6)Wee%ln@DXPtaob6z^_LfqQ%(}Q@;xeKlFExnh_}6=P5h#dh8?G55_YoN&OU|Sc7^jdptqU#p-R`i-!*{ z<^C%aRj+Y0`6g#UM`MB(l95C5ggT8kmu9zkG>J(*WW3PjD>0?()raS~Ysbf~vL0iY zH}i5pmdA6$#d)$~l`-^0#6V%5;ukjC#4i15{&V+l_ZoR>(Q|F>*zRk$CWkB@H@Rj( z$BGUcETQr34LP<)-T{5Z77!{im8Jl-Sxs@0@3T)TmicBnAGsZUp9N(3y#03dShAAb zP1fC?pm5-M6f=k3_M14juO>W}{qyVj{r^h~a5<6)Q}i_{g@vl4N1MW0rEPq|r{r1L zILUX}SSa>>O|s5`2%6XsQBIBdQaWg>chvRk>+hKL?YNF`r=#1cYr7ZD@bB-}5w+F1 z%ZscrFM=wE*jjTzknru)RjRxrNFzGWd{H*b^<`bxf4*C79N?sDzV-1K&%ski0b0`^ z>V#&dk)V*Eyd#I3-~KKC`I?E9p$Z>s(ajRnGj&}IaydRxAImMA(`0YRMQJlkd+bnV zHCVn&$So>bPy0%jz(xiMPwKaLtiTz%^7c{yv_FV%u|#X z?&p>}cPa5->aUSI?d%fEpJs%@iDtX``;&RQ_OcsYzuY3SEbU#i4pX$_K{V6h$Wr68j8iJAzK?rntMrLLSGQ3Ivo4v(z zg_)OZT#rq^ao{2j0bd8v;cP=-*CBQ^wQSd2WD;~pnSs&{B?5-{z@dtP=A76sT;5BF zL?edxR^XhNI<ao`W*Z>V7@y!l$>Edu4*CD7kqk(DhyZX*hR;HI{ z#_orn-JA|lyfHWgh(&q6;66y0_Fa`j4@?GzI~5UZZ|3n1mXZ059F(#Ims~#?SAi$b z%DRYSw9eMR1<56#4xjeV)Z0NZ^>lf7R46#tj$eni#9A|F35708YRbdum99vvW>LBA z)D~ST2kODcLre6ws7MjbRQ;IBiEVQHWVBziXtD6XGLlQvJ;exD(^c3C1h;hBcle?^ zcU;wz)MtL!)_tx*m(QmJT{E?_uu5%&Xa>XNIh!*ifvrc$Ae!L6ny^p@nMN(&Ta}- zxG8u)8fKJ(?cca(as z&?IP8ICc}=>Bn}Dq7jl~zJd7u0n`YTkhSloEkJzv)1>Hr-FACF?VUR0-y*o;dN5t4FUN^&oSqGV?# zumT#^KMa*%>fE}uf);4!=PwmxFAsrlNTCVf(qeK!x1QZqtMOj^x!(G56-8w?aM=2Pih92_I~}FQiS*f0flvb=)gFn zW(o-(jgGed#~x*^pb(*^VoODyhOV$}-gX~792l;-Eo5#T{A2L(6ZLXf%vyUTRpW8!Np?Pr~HUpPA^PP70y0&PyX z?IJr?UVfS|TDQN#9Ow26m2*bxOq%b}XKsA=@>fR4(9*WvraZOjE_TTPjS&gSbP)|X z*{@zh2TKl75>h77_8?JzVhVvy16P{$I+DptnlMz*llD>~sY8Ou(GrfdYqxGg(flGy z%dmFhn*ERSDdPM?ptVYTz{-RZs{FgN+T1q z0N7#fDe=B#Ibu zqlAhkSgmap#XeOL*wmCFu}VpSaUJVJ9K>=;Gd_XYw7>8YTj}8gwFj;tQVnUv1%5i= zmsI;c(Olgw<*!Op%61Cd-wWoQ3IZYg6mB8WnWHLxVm)gE!t8o9j%eR>nO>s$&H~l) zCnA95GxsfLF;5&(SgVks1$Heh0PAIYVJaYM5B4>4Gc&GI@1e@#_LD?&!+G8$jhsw# zEJ>n4nY9LO@o?g1>n2{Bw*Px&-@_>_-#$rjD^UKZ_Z3|lqnSYKk$3~5graE3;K7Jv zAEdu~=RnRP?qXmg8iC#t68LeZ*R2c`JO`L5aF~b$d8dXsZv|Z9&$)ouwRG2AV0e01 zxudCaiG74vougm07(Py_j=71+A$9S}T%mw!^F-ywRU;a`I}+9=hB|jUjL=eR?NLHs z68i7yiM5cH>Y!MZ*d{?`>!gQJjH7{C7KNY$;*OCO%Zaii5`nXb`;#!gY%Ozi5cjj* z;ArW#`nTpZ&o=zO3*~f zy3SJ$wQCBpM5IZCk_fv#(Va}avD>03IgAiBHL{{i&RCW>Y#A|QgnWo{^=s)xoj-|`W@Le1Wyso$^9qw zmU&e6QO$cwA0DItU^(vp=Pz|BWITQ?k>#=9@QE@3w2X+@6qzpH@n^0}yFYI2c#vrZ zErjU5ziI=wfr^)%=L7czKbM$Dai&w7s+*<_l@r^sGlEb56eD8WIYG>J?D(Mb>Kw`g zUUq1FSTi2NnsLYjQ(>zEhZOu=Fa8-nepF%~BA2)rNqKvEvopXkfwkaV`>wiD+RmA` z?9lK5x7ej>GWDH_`~$Q0H1v`{trs6}9UeR?J5XJh)i5^viv{)z!ZN_VGQ4GuqvGDn z;1!^^KphSY+n($SGIj=HuiT1ep1aCD zkboGfl$$q?W|r^y8X_gvWr18}6nY(?GPSMx04SANz`l%N_RymIuHLG9t+VKX+Y?g) zmMMz0I1$)w?T3pJ`@v>XBvFPXtg+o4ocU<*i6Qsbe%f;OlT?p^CI5_nGI{9MsTO5z zZV8vgL~j<*D6M>4X8+uNiS3r{`}}^XS(T+9`f~cl;<({nLH>%louz z*m%VM`(AC=KZBP}5hV^{E4H1$4-NROa>CGb#?F>Y*KYP6YN?XH=iZNsUd2sO%S8LH zp_xC~U;DF_e`vvq)3rM z%{>?1)Vq`~buv_ao#u4;xODE^Rm-33`nI#AR^R4Y7tx*Tj`LbW_dlmW6%YP)`qunm zKPC^Zo%K3xjz#9GkQD3Al2x7e%s=5~;?-lWG#|Ng4z;>=Kl$xn%=@lbQQIeZ(7tsS z#;O>ftM$F-tT60#RbJAqDD=eD(lg>AV!!s5yi5J>nghv*Ou@-!cS$TmH;~iY6}vLs zoZ~&Srne~4w)WTb!1lxsWXfFc_)^@lamCua{K3=G$9|sQJK3-3yqsrdAN{*JSf$F=hw93+ldYR&nv>UuR^M%MHoSNJQb?t&qsv51yA4yd zqqiiN{q9I?Dmb0KbZ8{`;nqCZP;K-(DD7!2c*=HHJSVQzV!4QfS(tf<4A+zN2t-{9 z5npCs%gf11!4(dULBv}n0=bVLU8PW%Xk};i0Tz1=9`>MVe2fnI6zY|JONrM5o>C{Y zUbcAUGxuK8XAdZG-25!_=V$L8l|8K5_H2H1x}*5t)4%7m)*heXc=WtQueaV(Cb}_Q z^}qDaNrnnW3_LV4xawxOFq5lNzoWjoWknrW!6|TGhASUC27s@z{pD!XS)iTm8}}u* zh{eRmW8t85*A`FD$ap|f6b>+r`*8wvgzJiZgI!DE9C`??dGmrl*`xWYCCZ|uN;yfV zWviJ!I)b|L+NAir+CcZrbi-q)J3B`%dos$@_2hZi1f!*voomf|*eoyDiLQ%2G{omC z>=lo<6Yl^V37HkNi=%@B{M2zN3}FfnGQmZ7v9FN15sbH7N^NJUsG)dCY5eGxpFgo0 zk^Du?OXd4Py_l_+Q!M*+elO2Vb#8t$=cF;eN_(qg=G>Pnm z;0oLC3~X0}`Yx`qA-4^lp4Wy%+v^xsK-MwoAbJAaK}!kmNUYa4hG>wC02-7sgPxh5 zC(le7-gm`{Y=};XY<6*=?Q2Izsi_IG(MI0mRMp|05Fdg)3eutHdRm82tC2KdH+1oZISxQdX^v=wN zwaYY@MPK#5xc^JQt807Yc6_VG{P$pQLvn$<%CB|SWj^2oUlz)Ssr>wS#MPCb0u>L3 zjgiImWOA}Iqu~I_NnCtxop07lYhS^CQQV6W4|4cJ{ju?Y?4jlhy>?B zTM;@_-K$e7kv#5*jMB4ov@H06@ooajg`sm zPXfV}`Emrl+qs&IM0CwLGj0tbuMv@v<>lobTbCEmbi~m<&z^ms_JC?ja;P$}Iddam zmNpm~20bywa7A-0wI>(}8!4-rw45%gUOAPutRAQ+z=e;y?!txZlOKhS8(f8*x~sXF zYYv+YM3t$9g#)qnr^_*?E|%MrVl#a1gl2x4o}*PG&eUzZv7}%1bVQU+7rv1K}kLlvkt5L9E6grwJgo4M7QsB_%Q++j;m*~`pGgWG9&Wr49g$EPBbGkG}>qU^VWNcgp zc7`jbf3KDW#{VJawYYPZj9VHdl+-L|`rCFjida_va*M!)mx-9Gw-;npi1z7TF&v@W z+I3sQFlRr=>q+{Lw(VUkpIy1RxFSIEzEiTCYgowI)Ps%}OPn{H*9{B1asE{EruY*h zlDAX@^cm~8+&@ZAS^3qQHydF6947TxV3nef=+0?H|Q!j}gaMm)JxIM8}Xv4j242 zl3V&G))~3*b;Dys-)9w)gMf^WIwW>s&@GTDUOoR>U8N z!po^Oig`;b-p3~O-@1H&kCb!J(^u84Uq4U%VUVSDyd=P2u|&|jYsp_;sK`4lO>RB- z%VR|yn2j(NV%H~9J(r>!0FhM*U}lB;3CZO3dD9WC{kOEhyCk9ML8~2ZR<0j!{sBqC zP|L{|bV3j8-_KwyPWfCjp){t8XtSbk*T@-`xQPJY%Ib|X! z(S{+L3)LHIkM3SExk3Nh=m&+dcl~bG(EHO-U+j3%PfBX;)zxrB9G0ZN5bLU9^-d6A za+XMuZ$N|&xX@}+D4+fCm7-j|eDx|t@CRUet^&(p(9jeAlQ9u*Px6CQj^6rWC|VXu zJkYtecmGOhVpszXCn_|M%$K97B&=DyVo-8YLc+2@HT*!rt3ErGq!~oODALa^neEWB zQ$oLQ|Nj3=;6z#b?3L@C zD?I)9X3Y#Ym};IsvAwFwN~krKo>Lw%|MKkbXLbdzL9np>&F{`{(!4FzD-`_|CXI`_ zxyaa4M~`->elRG<$Flfib$NV|vESu0 z5d$MZ)+h37L(b*#umwkusUm7I*7hLTW_T>4~;j5!eL<~sez zV}lP27l}5A_89-rE9aIZ^R*mPX#c;X@G) z>PPkz<)qL&7fc;?$Y#eBt~LO5nqbZ+*-itX^YHnOVZv`NHM-;-7eaZQ%@5fLe<0cj z&idyUBfIR8YuUrcq;tsp`=!Y}zdX9==5wm3QsbS6l%_jbSS>AgZZ!z1<)YJ>ALM!Y%6$ zhu#SPIoa_?=Ls$IpoQKsCJXs9?2Kk5XfpeicrcY@1d}+yy_A)OO@U@=`84I<&k-Zx zbVGjk1zQ}A6yn38WM>UcGlXCiYvRGQQPf8eJT-g<1Y$deUUKWBdgz3rC=!%q1PWoLFYdmWy{}@{ zwu}3+zO9elG4SF%!q~J3etG}?;_VDF0O$3%LtuHMqQ-D@}s3URqP za~{x&$h(4C&`tpyLr=yiY+myZDVn25y&hxFxRFe&2$CeyDX!=PbE|f6S~1KdI-Oa{ zNhidXZkwo}@S}WY5}LrllHJ;|0jFiSYiw$z#YUyRm8m>@nJ@%CEv?NcOe8tH;SwUa2;FfWw-jmfN?dysS39zi{qc0--iLn{<6}JzFPej?f%jyVfmy>col92`!Kt zJ#u8uy7(;;mjZhCE*|7^(dDyryWL=-ffPFK_B@%E-SPSx`Xi>6WM%2l>rhniTCiXX z0!%y>XtqFEt>G5R%ky5nBEJ!3IJ1t7^$!OH8DfgY2SLTTcdx3Z86X8SbVw39d-9~w z6k+Hqng_cWPoHTp6}hecI_Z|(#k4h;bx)CiMI~o(qrk;UvR+@_^tpl zKO^HvP*C#SyG4&5Gd{knoH7p-dkRT8LTZG5Bsz5FT9YTNFDka(SsBMk=kZXY*hyb6 zz-Q4Fr?6_24sfrn>%Ymf%|_k3_YN)Wj0hPQo!R@orO`SpT2$G+VE4zzec8Y__3$`L z)+H?42$cgdHMIZgrbOPTIt!iY+4bJ}%9IxN=Z?GdBFkdHf zaiVN3&={D~D0_lEpi4Cj#drB9k zILNi=5Xw_5oq($XfN}roZ<)*#BaI7RZqs%}uK9d%3~vyVH&#se63msxTp3iC`(1hH z3mg?e6PlWvg^|vmmpBhe-eg$Uy>so(T;{_t6Opjwkj_=hp_RyITk6+qzl5hmN-|?- zcYt_QR;r>1;6WdSA@vIi%>B27=u)=9rjA*p3qXSwf4m0A7abROafbCpwyd~C`uf9~ z^X(;VSzc^^fFViaADSv5ghirRue*@;^WD3)$bpUn2i;?8$a_r3eGLu1gx9{?9zY$} zrCYbti>}b2G5rh@{sjx1{hS+7V><>D1P@Z(lYgVn%_4?^ZwcTE0e#?>g+}F1D-Yjy zv>M3N9h|>wfw6OdHpsMa=68;qd^xN4zZOY9`m}Enq6jmu(eAN>Yut*9awsY5BzFhB z`pu|wF8~7s`P%5w=a*GLZn9@02%V0{m3Q_v{A%85B+(e(K_g4TBWn~7M%*Bnw`j}p?-Rt&p+{;5nnWHZm}m&< zKvf$PE2}8MniBAqYX&1bVbY}cIXOF#E8w9fk4ApdBrASuL@cTjV0RmyB+SQrpAQyZ zkjnt%6ja1<|H+Em!dA+s#KQ!31K_{%?i zTDN-jn`q<1pm%Yr5~#<}XLxCi@)|yqB(2-Q!6~m_Gdd1A4Q=Ld>ut2ULJZKcV@}Wp zd;_q()bc)s1#yAC>(J~sg4mtC zZl+z$c?7WD-VhB3z&`Oy(G0*d5M!P=9)maMx)+oTk%V6Wk^w-{irmuaXeng)P=(blKrV296|ad#$enzYGq z^V^tj^YuzVU`=HFnoJBU%F3paoi}y!LYfN>3pW4kRwZ-k&FXsCgFdKR5{kabGty^Q zvpvu-m?L2YxWmwU0WD<5iBa>>{)7zbwJucDe~BK7qLrJZ8RzzPDQ_jFOJ>- zuZn{K*`_dH)!yD7Pam3sXeSwE6_pPS3}Wc%#*kvmZQC;Q_p?)5bdQhPaRI3g-8?QG zWODddZr`4!@5M^s5&F^8)T>92^|wqtFfn%o9cpn)p{9YPhpxewG4hICvcjr0uRiX5 z{ITGZn?gxjP^$a57JZt0c;LV(#)r_4f@Jj7q(JmJa|U%>Y1?w)0Rv?c;ux3uQj9ys zzNcTujXOog4Wh~b zU^s!_ifluGnJ1>-!d6}8%PGQ|aJaI#T~~5R2~Dn!5hl=q?WrS!9f$bF==;`eqaW6QRdXo5m9p$RgU?#(UsMXsEBJ zV8R^fO#TfJ8f)`mOp*- z<`-{K$b@7~pX`g9ht06Pic8}jnIu_qDG zO{M{w26P*YQbECo-8;rA0@ar0KYu!gbGui%OJNk`I0#3jq@|U{{g@f_z+*-M>riio zDXY`qtd=;U9GIij1gZY5%}zG++a;H~sdP*2c=F`!aXaVKTN*jO;4cP-hRLQ+gj6w} zLZTDyes=VWJ#I51qCRlYlw z{I=y%?#mb7)UGPxg6s!8jl?9lVFabz!ur=l9AlBxU%wuMVs1u81^Y0Ts=~%xo{(5- zo(Oq~9zEE|+bFay=!%!dUQoB!(bRlYQqsYGM9B%mEPOEhcm&B|>y%a9c_}95)byJq zoGQOfi41Q-bxBD|58cn>3f}2Rzq4#WSm~&-r8L=yI1K_-h5^ zK7BR)PlsH;Gcn&LnDm)I9l<8bc8^m_wN+yROB;g4^&}-MR|#*Hp0)u8%;pJ(dU`Ev zga8CA@zTu_Dzr<5CoC`+64nR$jx5G#+ku#dAwaHn$4ue7In2p4zZMtQ%;u1E-Hk_t zqwhcgnY%%`!)NbTjvL5xe4nk9vkK6%dCEBP73PU$Vd6DsH_iw86|H#2w^`%W3Fmt$o6=FO>U zTmG3a;kacx8+cz$ig5N|a3F3bYr5s%Xv>LS3l9L~q8UYntscoX!>FWQ`fV)K`?uu8 z<=8SWT)0s8tZmL}v-SS{OvL3zD6RJl3QdU8T)eiYv$SkKIak#cFMk^u0;6O!59jRX z7Z-nQNqd=|sG(<^uBtw6n=@9*^p}esKYhB3@7LH^?&}+|A+~3LG9xMCV`An7%1kPZ zyXxFqdM_}n8#R~SVCWOQr&<=V{00{@5=06va-Mdfd$CKHD@=xp*|ajZG1U#HA?4YO zbQ(TFQovuB2`T^-)FXjQ9$ns|p0H>Bf(2cVFM+5DzdjO>3E3|HPnz6qzj%gQmrJX! z!)d#&jU1^I7IpQ0OyqL+qYB|6Tm9c?wM9~{2v5L^7roSj8Cr*!eevjic3t{1U3kY1 zO>v}2M)HSI{15dS%Rrco8*$0Je)sOV+86Se_B9@f-2ul>3VCU14)JcUW3yXM*|MFp zZ&4TsX|kaOu8`DN0#;#~AZ&<5I-uv(@C}7o713z0<lq+VC}bD8 z?+xYJ`Qdg9y`n-O0WjJqdVar6zW5P273v@1B>*Y{j^P(<*VqmR^c(~8LN&leJa_6; z%3D9pVA^PTS1wwN*Q0`Q%zGjh53Zh~ev~U4Nc3i9zhxu1nxIzEcjM8xP=eOJzn?_^ z)$zE#B7N92I%Ntk9yquw7M8(TI7tW{Uqlzc0gw{am!c=2J>gby;IQ0KEl>tgZAA>D zh?|Coisn7iAgTF}hpElN{Nd1fy1LTlu2zpWzm=*PShM+2#o_f!IlM{@y&f)G{B_~` z;;Fk{dO><9)DWxy)OA%>Pex=*+_c$>oS9nN3hi)L<=lu;X?vC-&9XJIJr z^yzFux1#d1vL;QL!o-v{2(suLhnb9W-TK0R4+Is@&TbnU76Ge_W6Rij&ujbW!>h^N zYYy&o3;acqr(p&PDrv|t>jlzUcQ+@4p{ob z!;eoNP@Ms1R^QODo$+=gz8pAkl=)ndDa61gJzxmfxLLC{g4-z0a)>v5E9IKQ#!NIJ zJN0-uxfG)*^`}vM0@w5Z;_e--(fLyqqdFYazmAce@paDe*ClsqPJG`oZQ8WBP9?d% z>a+D?>fR5|()sne{r!EhT?s%nfAJL};qfyS?wHv}nj(YX$~5nO1Uy6`YObtgS}n)4 z02edBTO|_#iR+#*aSsj`APhnaOefMrEz0a=SE;uJVw-j$>_R0h*x5PhiTNZS2SP0R zth}pgA1i~`=(a}6$(2=Cx3WPXI_l?<_OmO61xAMf{rj&mG%Tr#EiX+v<&=1IV_PSF zGJ^QW`(9`nCZJ_tbwvB@FWu&gpyTApX#205YO=XSvSh;sDOAsdd#06#OmDJt`5pOr zm}Y1m$`TmopLtg=Ieh!*!2wo1vb+`T6<5FL;bev@2~c56lL)#RkdO+YEm6IjKSh%k9+Z734JEwN-gkLJMc>4g0ko9E1!QIMM(gS|joDFG3WeaFa#DE#0}Q`S$Z zbmrDiA}Jb02^DB=jLX-9dzKCL%J*4jjvR!2^DivYRyQ<8KHFYk%V*tnG$QjU2ho=M3P0(;oZ?%x`(W3jzvy+)^Q zhZ{&XbIpNqNN#$&i0=;Glaa9%NU-qmzND9p!^%~cZZ$QSHj~6-ow8pOCbHy3xnEvL?epCmEYuJL5oNza=$J3cEZ zNhZPzK!X7O(`U|Xe9#v3{0GGeyCUEr+bqI3@^(Njgw6fzSsqnfs1q;75CG^GJK96* zR($*kPfub$NYrPOx^e{~dK`RBch4F{_wL3At2>r zbB@8R!v|2lA3fT=x-niSP^}4RAi@l=ap1!;MP_N;GB22fbQ-{X;?K7T9~q2S?@ZZX zU39Cf`bp#M6|nNCks%C_NRHrX3e7{lWQ#Bk5xT`X&Jk*zX;Y>c>DP0_S_H}Kw+h(; z%a(Z_Jt_DMA<5X{GDDKZ?TE?N)>UQ}R@(}D1#DG+KHT{?%)eeINq!zMcWKfuGHwb#I5S|iI@AuOhs9BW zhthvS5lMT-p-lhE+&S_J&FK~>^DL5j>N|5%Gjn3gl);6K7uc9Rrt2~(N#9v8MlM{K z!B5Ea8kU*APQAGKe?wXj2!M&G^5C&v=jEYbNj=d2{nV+&HBMy5vG0k?&6}6fSAHR? zz2_XewC)goFmQz*xO7OXI5U)oT4Dj=tbVk?0`HZD_6P^rj1DFo^#s!g&J^A(#g?9l zS^jz4=uAi;wQP~aI;zKbt75nV6aAfldKN*w^~(oHOHbC1<0rW;yv(p~)=K${1B?-K z*fv)j1pgznDl;6RbSo@Oi0ioz%p3cpw>6OCg2L%(db(TW?y{sH z#02hZ#IJ4)cW~@) zT-fZ4j3iDbfx--qchdK*eda7=GHT)4vV
tdsde`I>N{~g;|0`_2vGyMx^|f`A)Jdf z*&tC_L17!uk6^l(mVf)~@Tn%QXu(we(Gq8vhpb$h(GQ0~Cgi zbmGsk<`1?`%zkMfdjEu%*OqYU>=m@yTPWWm2474upsK75j^Gy3%jFdmWIuk){E1Y3 zfdvKkz*Elx&|6%yGviku6;q{sl&u&f*fsZKSvyxbM2<=Ho;PpgxrQQ+iwNp{?%P>N zkOBceii{Md63^~0*6NMYDAWE3Zws|DE1>3%cqlLt$Q`;?#I9rtO&dG5f=-uW6f_*E zjm1G)+aBWLCl_7eOagNvDFGabT0zKjo{p}%bb038f#B_X7gNVt#FA+8MLCY93A1%Z zYO1`PoH1@EN^A-RGE9MYzr$B7T2yK=D*s(9Bsf+pCP!^~+fg*<6sai;6&W>qcHk4! z-m-Is-~9dmhjQ^<(M!$tQDVbqjwmlYdps!fk4RS8_TT?3<<-)chic!f{w5w=Xdf?K z)t<88*XPScSUS&XD5|KO(+Mq4Qrp&M5%dPYGFs-y?T>(!UZfY55D}z6`l+#T%0BnG;&&4hX(vVrX;{p}c9o(6b@%oL z>*1Nln+yKM_4`kJFyg*PY;j`IZ!jFptVaj3nJ-$gV#d^|#?M}VFH7yNt1?vR@VNHDL=}h?6zi|k162IG^`_z$Zhw$tQAKiMbKQ!mwS;};-U4jpums~?fpF@ z1eta?b?3DF`sMHEhaOa$RMg*-bw_wNs+PQZr8U+EjPe&6*DUj`wErQIkuQqw))!Bn zKK))&`LzGi0-TMlQjPC4+2euT0C-PENG;aUVIq3=^XIcj9zZUu*T)fsbA`pIS=&`F zp15e)fs#Y{ZEwN(P9KA%j9psDyzArADABdUd%igH?Ukszm6UD~E~uuK*daTud%0#O zX6rbcw_km~dV`_jqtwH{^*8CA-_U5??>nQ-{ycL@<(q=-$w; z{|~;3_MXB-X2jUh@|!V+o?CK!y5TgHy}vl+1M`nBUl6^exOV*ER^lZ_v{d z%*WrED8&S9xL>VN)EMl3CR_Ml{i-Td08*MPMZgA%4Nk&`cH{3YjJsC;u4i1I@L@di zTywjfJMmIeRB?)A#Odnj^nSZdRX58&Y0$8q_K6+0okr1k^SD7lX^k>&ReawLOu&gE z2omPhymi~786FaHXyIiZ>zx&zb$hzTUfuQRQDO3ez5AXHy)jU$eeqc0v0Q2wf%2zs zN;&k=GpKP*^^T?Lvj;@ij(5MTK_Y35YoGwH{WEP^|KnHk+P!c3+z#i~7_SkwO1<}X zV|}X1%H$YZzO7froO$5lHCm>+_pb*O-@Jcc#(5|G!`@J7-N8eL>Rg;vl#v13FN_6h zsWy<=mzX(dcOTvKpH(~UOhGIont;3uC$*={>BQ}$F#Hq!bO+V<1lm-To~ zYwFYQcHFLgs64cn`WrM5`8IN&Hyv}%G&WOy1BFB-)Z@u|5zAC^#H{mSH$E*Gtv|$c zhh?Pa$((1mzD)nsG4>qF04j`$nwUcsrcKLBOY2f1KW@M=r0Q%=UJLsV8syYcZwy9= zSdl|L`scn`ZZq{4i-{dXt_tB`oO+8T2^tA;&K}EzA{++<(C}Ma3Hc*=j-m}+nNl!n zlnFdo#3?#B2FF98m~5+zzCle$jR%nhNepT}ZopG4-l{V?v|qlz{rY&jZ_p;H!zT0V z;km#sHWbAN4kUpH66EsUM9&KWJzFv?SH(uq5ZM)jvwu$7R^M_%Rob+bS!avk_yDje zB{-JXPs=NpO`+yskgN?2Gr$Hp-&vm{R{t}=qGF_mM$n%@0>-<;FuM^cI^l4Tc7`SG zEVTtC2`bG;JMiX&{WEO zlqM-gM$>ZkK4Zbt26vI8{d22T(5vTDvlM`8cm`S`wgvgmNc+C>&E1%utAmCGY#6e! z<&u;ffxyh?peT(7g|TSvDsg(6Q``!#Ce?@kej}_;vPTcrOqV`=R#;j_LX6VV71<5U z8aZyj62bEE#D{%Y5%0D3qoNY7k*Ds9qIE@to6v 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 Ge*b^3E6_Fo literal 0 HcmV?d00001 diff --git a/score/datarouter/doc/design/uml/file_transfer_feature_class_diagram.puml b/score/datarouter/doc/design/uml/file_transfer_feature_class_diagram.puml new file mode 100644 index 00000000..e9a52c26 --- /dev/null +++ b/score/datarouter/doc/design/uml/file_transfer_feature_class_diagram.puml @@ -0,0 +1,143 @@ +@startuml file_transfer_feature_class_diagram +title File Transfer Feature - Class Diagram + +interface "LogParser::TypeHandler" as TypeHandler { + + handle(timestamp_t, const char*, bufsize_t): void +} + +class StubFileTransferStreamHandler { + - _output: IOutput& + -- + + StubFileTransferStreamHandler(IOutput& output) + + handle(timestamp_t, const char*, bufsize_t): void +} + +interface "StubFileTransferStreamHandler::IOutput" as StubIOutput { + + sendFTVerbose(score::cpp::span, + mw::log::LogLevel, dltid_t, dltid_t, + uint8_t, uint32_t): void +} + +class FileTransferStreamHandler { + - output_: IOutput& + - filetransfer_thread: std::thread + - exit_requested: std::atomic_bool + - filetransfer_mutex: std::shared_timed_mutex + - container: std::queue + - readfile: std::string + - creationdate: std::string + - appid: dltid_t + - ctxid: dltid_t + - serialno_: std::uint32_t + - fsize: std::uint32_t + - packagecount: std::uint32_t + -- + + FileTransferStreamHandler(IOutput& output) + + ~FileTransferStreamHandler() + + handle(timestamp_t, const char*, bufsize_t): void + - ProcessFileTransfer(): void + - ReadFileHeaderInfo(const std::string&): bool + - LogFileHeader(): bool + - LogFileData(): void + - LogFileEnd(): void + - LogFileError(int16_t, std::string): void +} + +interface "FileTransferStreamHandler::IOutput" as FileIOutput { + + sendFTVerbose(score::cpp::span, + mw::log::LogLevel, dltid_t, dltid_t, + uint8_t, uint32_t): void +} + +class "dltserver::Output (Mock)" as MockOutput { + + ~Output() + + MOCK_METHOD(sendFTVerbose, + (score::cpp::span, + mw::log::LogLevel, dltid_t, dltid_t, + uint8_t, uint32_t), (override)) +} + +class "dltserver::Output" as Output { + + ~Output() + + sendFTVerbose(score::cpp::span, + mw::log::LogLevel, dltid_t, dltid_t, + uint8_t, uint32_t): void +} + +class "FileTransferHandlerFactory" as Factory { + + create(): std::unique_ptr + # FileTransferHandlerFactory() = default +} + +class StubFileTransferHandlerFactory { + - mock_output_: Output& + -- + + StubFileTransferHandlerFactory(Output& mock_output) + + createConcreteHandler(): std::unique_ptr +} + +class FileTransferStreamHandlerFactory { + - output_: Output& + -- + + FileTransferStreamHandlerFactory(Output& output) + + createConcreteHandler(): std::unique_ptr +} + +class DltLogServer { + + createFileTransferHandler(): + std::unique_ptr +} + +class "score::logging::FileTransferEntry" as FileTransferEntry { + + appid: dltid_t + + ctxid: dltid_t + + file_name: std::string + + delete_file: uint8_t +} + +interface "score::logging::IFileTransfer" as IFileTransfer { + + TransferFile(const std::string& file_name, + const bool delete_file): void +} + +class "score::logging::FileTransfer" as FileTransfer { + - appid_: std::string + - ctxid_: std::string + -- + + FileTransfer(const std::string& appid, + const std::string& ctxid) + + TransferFile(const std::string&, bool): void +} + +note bottom of StubFileTransferHandlerFactory +#if defined(ENABLE_FILETRANSFER_FEATURE) + using HandlerType = FileTransferStreamHandlerFactory; +#else + using HandlerType = StubFileTransferHandlerFactory; +#endif +end note + +TypeHandler <|.. StubFileTransferStreamHandler +TypeHandler <|.. FileTransferStreamHandler + +StubFileTransferStreamHandler ..> StubIOutput +FileTransferStreamHandler ..> FileIOutput + +StubIOutput <|.. MockOutput +FileIOutput <|.. Output + +Factory <|-- StubFileTransferHandlerFactory +Factory <|-- FileTransferStreamHandlerFactory + +StubFileTransferHandlerFactory ..> StubFileTransferStreamHandler : <> +FileTransferStreamHandlerFactory ..> FileTransferStreamHandler : <> + +DltLogServer ..> Factory : uses factory +Output ..> Factory : injects + +FileTransferStreamHandler *-- "queue" FileTransferEntry + +IFileTransfer <|.. FileTransfer +FileTransfer ..> FileTransferEntry : <> + +@enduml diff --git a/score/datarouter/doc/design/uml/ipc_status_quo.puml b/score/datarouter/doc/design/uml/ipc_status_quo.puml new file mode 100644 index 00000000..b0b41523 --- /dev/null +++ b/score/datarouter/doc/design/uml/ipc_status_quo.puml @@ -0,0 +1,129 @@ +@startuml IPC Status Quo - Datarouter Communication +title ARA Logging IPC Architecture\nLogging Client ↔ Datarouter Communication + +!theme plain +skinparam BoxPadding 10 +skinparam ParticipantPadding 20 +skinparam SequenceMessageAlignment center + +actor "Logging Client" as Client +participant "Shared Memory\n(ring buffer)" as SHM +participant "IPC Channel\n(Message Passing)" as IPC +participant "Datarouter" as DR + +== Initialization Phase == +activate Client +activate SHM + +Client -> IPC: **2. Connect to Datarouter** +activate IPC +note right + Platform-specific IPC: + - Linux: Unix Domain Socket + - QNX: QNX Message Passing +end note + +IPC -> DR: **3. Connection established** +activate DR + +Client -> IPC: **4. Send ConnectMessage** +note right + Metadata includes: + - AppID, UID, PID + - Shared memory filename + - Dynamic identifier flag +end note + +IPC -> DR: ConnectMessage received + +DR -> SHM: **5. Open & map shared memory** +note right + Datarouter opens client's file + Maps same memory region + Now both share ring buffer +end note + +SHM --> DR: Shared memory mapped +note left + Client can log immediately + Datarouter polls asynchronously + Fully decoupled +end note + +== Data Exchange Loop == + +note over Client, DR + **Ring Buffer Protocol** + Zero-copy via shared memory +end note + +Client -> SHM: **Write log messages** +note right + LOG_INFO() << "message" + TRACE(structure) + + Updates ring buffer: + - Write pointer advances + - No system calls +end note + +DR -> IPC: **Send kAcquireRequest (0x01)** +note right + Message: Single byte [0x01] + Datarouter polls for new data + Sent periodically (keepalive) +end note + +IPC --> Client: **received_send_message_callback** +note left + Callback triggered in client's + receiver when message arrives + + Internally handles: + - ReadAcquire() for buffer ID + - Unlink file (first time only) + - Send kAcquireResponse +end note + +Client -> IPC: **Send kAcquireResponse (0x02)** +note right + Contains ReadAcquireResult: + - acquired_buffer (0 or 1) + + Tells datarouter which + buffer to read from +end note + +IPC -> DR: AcquireResponse received + +DR -> SHM: **Read log messages directly** +note right + Zero-copy read from + shared memory buffer + + Parse log entries + Route to DLT channels + Apply quotas/filters +end note + +note over Client, DR + **Next kAcquireRequest implicitly releases previous buffer** + No explicit release message in protocol +end note + +== Shutdown == + +Client ->x IPC: Connection closed +deactivate IPC +IPC -> DR: **on_closed_by_peer()** +note right + Drain remaining logs + Cleanup session +end note + +DR ->x SHM: **munmap()** - Unmap +deactivate DR +deactivate SHM +deactivate Client + +@enduml diff --git a/score/datarouter/doc/design/uml/package-ara-log.png b/score/datarouter/doc/design/uml/package-ara-log.png new file mode 100644 index 0000000000000000000000000000000000000000..befdb7c8be41b8311c03c4e3cfa38728427a57e7 GIT binary patch literal 329484 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é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 z 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�RRK} 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 K@B?N}{{I1hhLVy1 literal 0 HcmV?d00001 diff --git a/score/datarouter/doc/design/uml/package-ara-log.puml b/score/datarouter/doc/design/uml/package-ara-log.puml new file mode 100644 index 00000000..b86e04c2 --- /dev/null +++ b/score/datarouter/doc/design/uml/package-ara-log.puml @@ -0,0 +1,106 @@ +@startuml + +title ara::log Packages + +package ara { + package log { + enum LogLevel { + + kOff + + kFatal + + kError + + kWarn + + kInfo + + kDebug + + kVerbose + } + + enum LogMode { + + kOff, + + kConsole, + + kRemote, + + kFile, + + kInvalid + } + + enum LogManager::ClientState { + kNotConnected, + kConnected, + kUnknown + } + + class LogManager { + + CreateLogContext(const ara::core::StringView&, const ara::core::StringView&, const LogLevel) : Logger& + + defaultLogContext() : Logger& + + static instance() : LogManager& + - FindExistingLogger(const ara::core::StringView&) : score::cpp::optional> + - InsertNewLogger(const ara::core::StringView&, const ara::core::StringView&, const LogLevel) : Logger& + } + + class Logger { + + Logger(context: std::string_view) + + LogFatal() : LogStream + + LogError() : LogStream + + LogWarn() : LogStream + + LogInfo() : LogStream + + LogDebug() : LogStream + + LogVerbose() : LogStream + + WithLevel(const LogLevel) : LogStream + + IsLogEnabled(const LogLevel) : bool + + IsEnabled(const LogLevel) : bool + + GetContext() : std::string_view + - context_ : LoggingIdentifier + } + + class LogStream { + + LogStream(LogLevel, core::StringView) noexcept + + LogStream(core::StringView, LogLevel) noexcept + + ~LogStream() noexcept + + + LogStream(const LogStream&) = delete + + LogStream& operator=(const LogStream&) = delete + + LogStream(LogStream&&) noexcept + + LogStream& operator=(LogStream&&) = delete + + + void Destruct() noexcept + + void Flush() noexcept + + LogStream& WithLocation(core::StringView, int) noexcept + + + LogStream& operator<<(bool) noexcept + + LogStream& operator<<(uint8_t) noexcept + + LogStream& operator<<(uint16_t) noexcept + + LogStream& operator<<(uint32_t) noexcept + + LogStream& operator<<(uint64_t) noexcept + + LogStream& operator<<(int8_t) noexcept + + LogStream& operator<<(int16_t) noexcept + + LogStream& operator<<(int32_t) noexcept + + LogStream& operator<<(int64_t) noexcept + + LogStream& operator<<(float) noexcept + + LogStream& operator<<(double) noexcept + + LogStream& operator<<(const char* const) noexcept + + LogStream& operator<<(const LogRawBuffer&) noexcept + + LogStream& operator<<(const LogHex8&) noexcept + + LogStream& operator<<(const LogHex16&) noexcept + + LogStream& operator<<(const LogHex32&) noexcept + + LogStream& operator<<(const LogHex64&) noexcept + + LogStream& operator<<(const LogBin8&) noexcept + + LogStream& operator<<(const LogBin16&) noexcept + + LogStream& operator<<(const LogBin32&) noexcept + + LogStream& operator<<(const LogBin64&) noexcept + + LogStream& operator<<(const core::StringView) noexcept + + LogStream& operator<<(const std::thread::id&) noexcept + + + LogStream& Arg(const T&) noexcept + + LogStream& Arg(core::StringView, const T&) noexcept + + LogStream& Arg(core::StringView, const T&, core::StringView) noexcept + + LogStream& operator<<(const Argument&) noexcept + + + static constexpr kBmwLogStreamBufferSize : size_t + - std::array pre_allocated_buffer_ + - template LogStream& LogWithMiddleWare(T&&) + } + + } + +} + +@enduml diff --git a/score/datarouter/doc/design/uml/package-datarouter.png b/score/datarouter/doc/design/uml/package-datarouter.png new file mode 100644 index 0000000000000000000000000000000000000000..d2245ced4f840e6976af3e0861bd798eab84dd5f GIT binary patch literal 70495 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 literal 0 HcmV?d00001 diff --git a/score/datarouter/doc/design/uml/package-datarouter.puml b/score/datarouter/doc/design/uml/package-datarouter.puml new file mode 100644 index 00000000..60eb030c --- /dev/null +++ b/score/datarouter/doc/design/uml/package-datarouter.puml @@ -0,0 +1,38 @@ +@startuml + +title Datarouter Packages + +package datarouter { + package Datarouter { + class synchronized + class DataRouter + class DataRouter::SourceSession + class SocketServer + class IPersistentDictionary + class PersistentDictionaryFactory + class AraPerPersistentDictionaryFactory + class AraPerPersistentDictionary + class StubPersistentDictionaryFactory + class StubPersistentDictionary + } + + package internal { + class LogParser + class LogParser::AnyHandler + class LogParser::TypeHandler + class MessagePassingServer::ISession + class EmptySysedrFactory + class EmptySysedrHandler + class ISysedrHandler + class LogEntryFactory + class SysedrConcreteFactory + class SysedrFactory + class SysedrHandler + class UnixDomainClient + class UnixDomainSockAddr + class UnixDomainServer::SessionHandle + class UnixDomainServer::SessionWrapper + } +} + +@enduml diff --git a/score/datarouter/doc/design/uml/persistent-cleanup-cls-dgm.puml b/score/datarouter/doc/design/uml/persistent-cleanup-cls-dgm.puml new file mode 100644 index 00000000..fd37f6d5 --- /dev/null +++ b/score/datarouter/doc/design/uml/persistent-cleanup-cls-dgm.puml @@ -0,0 +1,43 @@ +@startuml persistent_cleanup_updated +title Persistent Logging Cleanup Integration + +interface GenericDataIdentifier { + +{abstract} Read(data_identifier, meta_info, cancellation_handler): Future + +{abstract} Write(data_identifier, request_data, meta_info, cancellation_handler): Future +} + +interface IVersionChangeFileCleaner { + +{abstract} DoFileCleanUp(file_list): void +} + +class PersistentLogging { + +SerializedRead(): Result + +SerializedWrite(ByteVector): Result + -ConstructReadFileList(): string + -DoCleanUp(): void + -SendPersistentLogFiles(): void + -FetchListOfPersistentFiles(): vector + -ThreadMethod(): void + -version_chng_file_cleaner_: unique_ptr + -file_transfer_: FileTransfer + -file_list_: vector + -worker_thread_: jthread +} + +class VersionChangeFileCleaner { + +DoFileCleanUp(file_list): void + -ReadLocalSwVersion(local_sw_version): bool + -ReadEcuSwVersion(ecu_sw_version): bool + -StoreLocalSwVersion(new_sw_version): void + -DeleteExistingPersistentLogFiles(file_list): void + -LocalSwVersionDoesNotExists(): bool + -NotSameAsLocalSwVersion(ecu_sw_version): bool + -filesystem_: Filesystem + -ddad_version_reader_: unique_ptr +} + +GenericDataIdentifier <|.. PersistentLogging : implements +PersistentLogging *-- IVersionChangeFileCleaner : owns +IVersionChangeFileCleaner <|.. VersionChangeFileCleaner : implements + +@enduml diff --git a/score/datarouter/doc/design/uml/persistent-cleanup-seq-dgm.puml b/score/datarouter/doc/design/uml/persistent-cleanup-seq-dgm.puml new file mode 100644 index 00000000..79d86661 --- /dev/null +++ b/score/datarouter/doc/design/uml/persistent-cleanup-seq-dgm.puml @@ -0,0 +1,130 @@ +@startuml persistent_cleanup_sequence +title Persistent Logging Cleanup Integration Sequence + +participant "DiagnosticClient" as DC +participant "PersistentLoggingService" as PLS +participant "DltLogServer" as DLS +participant "SysedrHandler" as SH +participant "FileCleanUpManager" as FCM +participant "DdadVersionReader" as DVR +participant "FileOperations" as FO +participant "ZlibCompressedFile" as ZF + +== Service Initialization == +PLS -> PLS : Initialize() +PLS -> PLS : InitializeDTCHandling() +PLS -> FCM : create(version_reader, file_operations) +FCM -> DVR : create() +FCM -> FO : create() + +== Version-Based Cleanup on Startup == +PLS -> FCM : CheckVersionChange() +FCM -> DVR : ReadEcuSwVersion() +DVR --> FCM : current_ecu_version + +FCM -> FO : FileExists(version_file_path) +FO --> FCM : file_exists_status + +alt version_file_exists + FCM -> FO : ReadFile(version_file_path) + FO --> FCM : stored_version, read_status + + alt read_success && stored_version != current_ecu_version + note right of FCM : Version changed - cleanup required + PLS -> PLS : FetchListOfPersistentFiles() + PLS -> SH : GetPersistentLogFileList() + SH --> PLS : persistent_file_list + + PLS -> FCM : DoCleanUp(persistent_file_list) + + loop for each file in persistent_file_list + FCM -> FO : RemoveFile(file_path) + FO --> FCM : removal_status + end + + FCM -> FO : WriteFile(version_file_path, current_ecu_version) + FO --> FCM : write_status + + else read_failed + FCM -> FCM : LogError("Failed to read version file") + end + +else version_file_not_exists + note right of FCM : First run - create version file + FCM -> FO : CreateFile(version_file_path) + FCM -> FO : WriteFile(version_file_path, current_ecu_version) + FCM -> FCM : LogInfo("Don't delete files on first run") +end + +== Diagnostic Service Offering == +PLS -> PLS : OfferService() +note right of PLS : Service available for diagnostic requests + +== Diagnostic Read Request (File List) == +DC -> PLS : Read(data_identifier, meta_info, cancellation_handler) +PLS -> PLS : FetchListOfPersistentFiles() +PLS -> SH : GetPersistentLogFileList() +SH --> PLS : file_list_string +PLS --> DC : OperationOutput(file_list) + +== Diagnostic Write Request (Trigger Cleanup) == +DC -> PLS : Write(data_identifier, request_data, meta_info, cancellation_handler) +PLS -> PLS : ProcessCleanupRequest(request_data) + +alt cleanup_all_files + PLS -> PLS : FetchListOfPersistentFiles() + PLS -> FCM : DoCleanUp(all_persistent_files) + + loop for each persistent file + FCM -> FO : RemoveFile(file_path) + FO --> FCM : removal_status + alt removal_failed + FCM -> FCM : LogError("Failed to remove file") + end + end + +else cleanup_by_age + PLS -> PLS : FilterFilesByAge(max_age_days) + PLS -> FCM : DoCleanUp(old_files) + + loop for each old file + FCM -> FO : RemoveFile(file_path) + end +end + +PLS -> PLS : CheckAndSetDtc() +note right of PLS : Set DTC if cleanup issues occurred + +== Integration with Active Logging == +note over SH, ZF +**During Active Persistent Logging:** +- SysedrHandler continues normal operation +- Files being written are protected from cleanup +- Cleanup only affects completed/closed files +end note + +SH -> ZF : write(dlt_data, size) +note right of SH : Active logging continues uninterrupted + +== Service Cleanup == +PLS -> FCM : ~FileCleanUpManager() +PLS -> PLS : UnInitialize() + +note over PLS, FCM +**Key Integration Points:** +- PersistentLoggingService manages both diagnostic access and cleanup +- FileCleanUpManager handles version-based and on-demand cleanup +- Integration with SysedrHandler for file status monitoring +- DTC handling for cleanup operation status +- Protection of active logging operations +end note + +note over DVR, FO +**Cleanup Strategy:** +- Version-based: Automatic cleanup on ECU software update +- On-demand: Diagnostic request-triggered cleanup +- Age-based: Remove files older than specified threshold +- Safe operation: Never interfere with active logging +end note + +@enduml diff --git a/score/datarouter/doc/design/uml/persistent_logging_class.puml b/score/datarouter/doc/design/uml/persistent_logging_class.puml new file mode 100644 index 00000000..819d107b --- /dev/null +++ b/score/datarouter/doc/design/uml/persistent_logging_class.puml @@ -0,0 +1,17 @@ +@startuml persistent_logging_class +title Persistent Logging Class Diagram + +SocketServer --> DltLogServer : creates +SocketServer --> DataRouter : creates +DataRouter *-- LogParser : owns +DltLogServer *-- DltNonverboseHandler : owns +DltLogServer *-- DltVerboseHandler : owns +DltLogServer *-- FileTransferStreamHandler : owns +DltLogServer *-- SysedrHandler : owns +DltLogServer --> LogParser : registers handlers +SysedrHandler --> LogParser : uses +SysedrHandler *-- ICompressedFile : owns +SysedrHandler *-- IDdadVersionReader : owns +SysedrHandler *-- INvConfig : owns + +@enduml diff --git a/score/datarouter/doc/design/uml/persistent_logging_sequence.puml b/score/datarouter/doc/design/uml/persistent_logging_sequence.puml new file mode 100644 index 00000000..d575f7fb --- /dev/null +++ b/score/datarouter/doc/design/uml/persistent_logging_sequence.puml @@ -0,0 +1,98 @@ +@startuml persistent_logging_sequence +title Persistent Logging Sequence Diagram + +participant "SocketServer" as SS +participant "DataRouter" as DR +participant "DltLogServer" as DLS +participant "SysedrFactory" as SF +participant "SysedrHandler" as SH +participant "LogParser" as LP +participant "DltVerboseHandler" as VH +participant "DltNonverboseHandler" as NH +participant "Client" as CL +participant "ZlibCompressedFile" as ZF + +== System Initialization == +SS -> DR : create() +SS -> DLS : create(staticConfig, enabled) +DLS -> SF : CreateSysedrHandler() +SF -> SH : new SysedrHandler() +SF --> DLS : sysedr_handler_ + +== Handler Registration == +DLS -> LP : add_handlers(parser) +LP -> SH : add_global_handler(*sysedr_handler_) +LP -> SH : add_type_handler(PERSISTENT_REQUEST_TYPE_NAME, *sysedr_handler_) +LP -> NH : add_global_handler(nvhandler_) +LP -> VH : add_type_handler(LOG_ENTRY_TYPE_NAME, vhandler_) + +== Normal Message Processing == +DR -> LP : Parse(SharedMemoryRecord) + +alt Verbose LogEntry + LP -> VH : handle(timestamp, data, size) + VH -> DLS : sendVerbose(tmsp, entry) + LP -> SH : handle(TypeInfo, timestamp, data, size) + SH -> SH : saveVerbose(ecuId, tmsp, entry, write_to_file=false) + SH -> SH : saveDltMsgToBuffer(dlt_message) + note right of SH : Buffer in circular_buffer + +else NonVerbose message + LP -> NH : handle(TypeInfo, timestamp, data, size) + NH -> DLS : sendNonVerbose(desc, tmsp, data, size) + LP -> SH : handle(TypeInfo, timestamp, data, size) + SH -> SH : saveNonVerbose(ecuId, desc, tmsp, data, size) + SH -> SH : saveDltMsgToBuffer(dlt_message) +end + +== Persistent Logging Trigger == +CL -> DR : send PersistentLoggingRequestStructure +note right of CL + Request contains: + - log_file_destination_path + - reason + - triggered_by +end note +DR -> LP : Parse(PersistentLoggingRequestStructure) +LP -> SH : handle(timestamp, request_data, size) +SH -> SH : deserialize(data, size, request) +SH -> SH : selectDestAndOpenFile(log_file_destination_path) +SH -> ZF : open(filename) +SH -> SH : writeContextMessage(request) +SH -> SH : saveBufferToFile() + +loop for each buffered message + SH -> ZF : write(dlt_data, size) +end + +SH -> SH : closeFile() + +== Continuous Persistent Logging == +DR -> LP : Parse(new messages) +LP -> SH : handle(TypeInfo, timestamp, data, size) + +alt persistent logging active + SH -> SH : saveDltMsgToFile(dlt_message) + SH -> ZF : write(dlt_data, size) +else normal mode + SH -> SH : saveDltMsgToBuffer(dlt_message) +end + +note over SH +**Key SysedrHandler Functions:** +- saveDltMsgToBuffer(): Buffer messages normally +- saveBufferToFile(): Flush buffer on trigger +- saveDltMsgToFile(): Direct file writing +- saveVerbose()/saveNonVerbose(): Format messages +- selectDestAndOpenFile(): Open compressed file +- writeContextMessage(): Write request context +- closeFile(): Close compressed file +end note + +note over VH, NH +**Other DLT Handlers:** +Continue processing for +regular DLT output +end note + +@enduml diff --git a/score/datarouter/doc/design/uml/seq-ara-log.png b/score/datarouter/doc/design/uml/seq-ara-log.png new file mode 100644 index 0000000000000000000000000000000000000000..c1acf27f6f6b87fadb5df5234e784794a984cbee GIT binary patch literal 48905 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 literal 0 HcmV?d00001 diff --git a/score/datarouter/doc/design/uml/seq-ara-log.puml b/score/datarouter/doc/design/uml/seq-ara-log.puml new file mode 100644 index 00000000..258b3571 --- /dev/null +++ b/score/datarouter/doc/design/uml/seq-ara-log.puml @@ -0,0 +1,60 @@ +@startuml + +title ara::log implementation with TRACE_X macros +participant UserFunction as fun +participant "ara::log::LogManager" as lm +participant "ara::log::Logger" as logger +participant "ara::log::LogStream" as ls +participant LogContextData +participant TRACE_MACRO as tm + +group First request for specific logger +fun -> lm++ : CreateLogger() +lm -> logger++: Logger() +logger --> lm-- +lm --> fun-- : Logger& +end + +group Subsequent requests for specific logger +fun -> lm++ : CreateLogger() +lm --> fun-- : Logger& +end + +fun -> logger++: LogInfo() +logger -> ls*: LogStream(Logger, logLevel=kInfo) +activate ls +ls -> LogContextData*: LogContextData() +activate LogContextData +LogContextData --> ls -- +ls -> LogContextData ++: log_start(logLeverl=kInfo) +LogContextData --> ls -- + +ls --> logger -- +logger -->fun-- + +fun -> ls++: << (double d) +ls -> LogContextData++: log_double(d) +LogContextData --> ls-- +fun <-- ls-- + +logger -> ls++: << (string s) +ls -> LogContextData++: log_string(s) +LogContextData --> ls-- +fun <-- ls-- + +logger -> ls++: << (int32_t i) +ls -> LogContextData++: log_string(s) +LogContextData --> ls-- +fun <-- ls-- +fun ->ls++: ~LogStream() +ls -> LogContextData++: log_flush() + +LogContextData -> tm++: TRACE_INFO(LogContextData.logEntry) +tm --> LogContextData-- +LogContextData --> ls +destroy LogContextData +logger <-- ls-- +destroy ls + +fun <-- logger-- +@enduml diff --git a/score/datarouter/doc/design/uml/seq-trace.png b/score/datarouter/doc/design/uml/seq-trace.png new file mode 100644 index 0000000000000000000000000000000000000000..596a3629378e93f3b9926730e93ed21390ac70a9 GIT binary patch literal 99705 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 M`Yp8r6^o$%0ueTj4gdfE literal 0 HcmV?d00001 diff --git a/score/datarouter/doc/design/uml/seq-trace.puml b/score/datarouter/doc/design/uml/seq-trace.puml new file mode 100644 index 00000000..21dc0a26 --- /dev/null +++ b/score/datarouter/doc/design/uml/seq-trace.puml @@ -0,0 +1,46 @@ +@startuml + +title Tracing operation: write + +participant UserFunction +participant TRACE_MACRO +participant "log_entry::instance()" as log_entry +participant "a : log_entry_allocator" as log_entry_allocator +participant "logger::instance()" as loggerinst +participant "serializer" as serializer + +UserFunction -> TRACE_MACRO ++: TRACE_INFO(TYPE variable) + +group First time trace only +TRACE_MACRO -> log_entry ** : instance() +note left +register type TYPE when +creating the log_entry instance +and get back ID +end note +log_entry -> log_entry ++: log_entry() +log_entry -> loggerinst ++: add_type() +log_entry <-- loggerinst-- : id +log_entry --> TRACE_MACRO --: instance& +end + +||| + +group Normal serialization process +TRACE_MACRO -> log_entry ++: operator=(variable) +log_entry -> log_entry_allocator** : log_entry_allocator() +activate log_entry_allocator + +serializer <- log_entry **: serializer() +activate serializer +serializer -> log_entry_allocator++: allocate() +serializer <-- log_entry_allocator--: buffer +log_entry <-- serializer--: serialized_data +destroy serializer + +TRACE_MACRO <-- log_entry --: success +end + +UserFunction <-- TRACE_MACRO-- + +@enduml diff --git a/score/datarouter/doc/design/uml/seq-tracing-startup.png b/score/datarouter/doc/design/uml/seq-tracing-startup.png new file mode 100644 index 0000000000000000000000000000000000000000..6e1adf23c451a0c65ffd9f1dd73b88326c3d81f6 GIT binary patch literal 22132 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 literal 0 HcmV?d00001 diff --git a/score/datarouter/doc/design/uml/seq-tracing-startup.puml b/score/datarouter/doc/design/uml/seq-tracing-startup.puml new file mode 100644 index 00000000..ec735b94 --- /dev/null +++ b/score/datarouter/doc/design/uml/seq-tracing-startup.puml @@ -0,0 +1,23 @@ +@startuml + +title Tracing startup + +participant main as main +participant TracingLifecycle +participant "logger::instance : Logger" as logger +participant "writer : MwsrWriter" as writer + +main -> TracingLifecycle ++: Start() + +TracingLifecycle -> logger ++: instance() +logger -> logger: Logger() +logger -> writer **: MwsrWriter() +activate writer +logger --> TracingLifecycle --: logger_instance + +TracingLifecycle -> writer ++: initialize() +TracingLifecycle <-- writer --: success + +main <-- TracingLifecycle --: startup_complete + +@enduml diff --git a/score/datarouter/doc/design/uml/seq_kvs_threads.png b/score/datarouter/doc/design/uml/seq_kvs_threads.png new file mode 100644 index 0000000000000000000000000000000000000000..17c8d8b24e6fcf1754e1d19a45f8c0d704ea7347 GIT binary patch literal 53485 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

+7j<=b3*M>C?Po~`A9J+bxJztisLY>_J_nsQ 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�H!F*m6HbhMzcrphK;3X8Y8s_zJD#r`9;hydt%ok_5ORRW2v` z7=41)qQw{y!{n^RO+qhsb3P?nROE_=vRc{(jJBb5+Oj<1$t;g^p_ByV36?Tk_>Xe} z)oCpY^`v8dx;}Mv`d#~j-u9GFYCd*V>-wq*RFAnuvMOJtsSICt@cB-@`_U4Kx-3(; zM*XyN?Q9JG(LkH@!U8kZXaB~Jn3gM8umc6M!yF3!_lhvkZOhJ$CoNWc=u1~|27GWj zUdz4i!+H=aqU^GSEur#r@RTz78nDbOV$_yh^%b0YyPhq(5v@Yvs+To8`9X-dq zgbV4kzhOAxUa57nU&hm~pk(qxOuN(!Ai}8vZZz+CbA66XuSo;kRt@8)r8g!(E10GlEXW<3$Uw}je`@SG3|NF`oFRmT@hH8e>Pak^XYAWeS2w< z|0&0FY)O_xnhOKIw7MuV)a-e#XgNGE6@@_;oU{QCDu-Qp03lOSQd5Az89lBVpI=mH zoh#?#_XY_YTGmvrFb^rMf#FYReV^bO8{=(4${sWf1utrR7S2b;W_!x^X(I&Mki>^w zj9&0Hy*zC4;(AHJ+HAzmrz(V(Vx4qGjopB2oWmk@Rj2yWfLdgZL5!&tL&p4n0k!@5}a^CE94+lA+W0JY88oC~CrOH0{1{ zCim?;#ov-YFX)%Y4*^!w*{<&tUUi{NXO%d1Qd;Gt={?9$mI*IB$84=&vj*xNv}|A;zE8> DRConf: Run +note over DRConf + Client connections are established, and diagnostic jobs are initialized. +end note + +DiagM -> DRConfService: SerializedStart(...) +note over DRConfService + Initializes runtime environment for diagnostic jobs. +end note + +DRConfService -> Client: send_dlt_config_command +note over Client + The server creates a ConfigSession to process + client commands and maintains the session for communication. +end note + +Client -> Server: send_dlt_config_command +Server -> Socket: receive_dlt_config_command +Socket -> Server: forward_dlt_config_command +Server -> ConfigSession: process_dlt_config_command + +ConfigSession -> DLTS: Process command +note over DLTS +- Parse the diagnostic job command. +- Prepare the required response. +- Save or retrieve DLT configuration in persistent storage. +end note + +DLTS -> PD: Save/Retrieve DLT configuration or update dlt_enabled flag +note over PD +- Save configuration using writeDlt(). +- Retrieve configuration using readDlt(). +- Update dlt_enabled using writeDltEnabled(). +end note + +DLTS -> ConfigSession: Return diagnostic job response +ConfigSession -> Socket: forward_diag_job_response +Socket -> Server: forward_diag_job_response +Server -> Client: diag_job_response + +Client -> DRConfService: diag_job_response +DRConfService -> DRConf: diag_job_result + +deactivate DRConf +deactivate DRConfService +deactivate Server +deactivate Socket +deactivate ConfigSession +deactivate DLTS +deactivate PD + +@enduml diff --git a/score/datarouter/test/ut/ut_logging/test_unix_domain_common.cpp b/score/datarouter/test/ut/ut_logging/test_unix_domain_common.cpp index 21935363..03fbc3ba 100644 --- a/score/datarouter/test/ut/ut_logging/test_unix_domain_common.cpp +++ b/score/datarouter/test/ut/ut_logging/test_unix_domain_common.cpp @@ -1,15 +1,15 @@ -/******************************************************************************** - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0 - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ +// ******************************************************************************* +// Copyright (c) 2025 Contributors to the Eclipse Foundation +// +// See the NOTICE file(s) distributed with this work for additional +// information regarding copyright ownership. +// +// This program and the accompanying materials are made available under the +// terms of the Apache License Version 2.0 which is available at +// https://www.apache.org/licenses/LICENSE-2.0 +// +// SPDX-License-Identifier: Apache-2.0 +// ******************************************************************************* #include "score/os/mocklib/socketmock.h" #include "unix_domain/unix_domain_common.h" diff --git a/score/datarouter/test/utils/data_router_test_utils.h b/score/datarouter/test/utils/data_router_test_utils.h index 02a5ac1e..faabd541 100644 --- a/score/datarouter/test/utils/data_router_test_utils.h +++ b/score/datarouter/test/utils/data_router_test_utils.h @@ -16,7 +16,7 @@ #include "score/datarouter/datarouter/data_router.h" -#include "score/static_reflection_with_serialization/serialization/include/serialization/for_logging.h" +#include "common/serialization/include/serialization/for_logging.h" namespace test::utils { diff --git a/score/mw/log/detail/data_router/data_router_message_client_identifiers_test.cpp b/score/mw/log/detail/data_router/data_router_message_client_identifiers_test.cpp index e4cffd35..417c01e6 100644 --- a/score/mw/log/detail/data_router/data_router_message_client_identifiers_test.cpp +++ b/score/mw/log/detail/data_router/data_router_message_client_identifiers_test.cpp @@ -1,15 +1,15 @@ -/******************************************************************************** - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0 - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ +// ******************************************************************************* +// Copyright (c) 2025 Contributors to the Eclipse Foundation +// +// See the NOTICE file(s) distributed with this work for additional +// information regarding copyright ownership. +// +// This program and the accompanying materials are made available under the +// terms of the Apache License Version 2.0 which is available at +// https://www.apache.org/licenses/LICENSE-2.0 +// +// SPDX-License-Identifier: Apache-2.0 +// ******************************************************************************* #include "score/mw/log/detail/data_router/data_router_message_client_identifiers.h" #include "gmock/gmock.h" From bbc62529f10818283c53a97687e3bb961ef589bd Mon Sep 17 00:00:00 2001 From: famaymanpartner Date: Mon, 25 May 2026 06:19:33 +0200 Subject: [PATCH 02/26] improve design around IsOutputEnabled method GIT_ORIGIN_SPP_REV_ID: 1de1429b675ff1facae779b5e9784ce264f49be9 --- .../include/daemon/dlt_log_server.h | 13 +++------- .../include/daemon/i_dlt_log_server.h | 4 +++ .../datarouter/include/logparser/logparser.h | 22 +++++++++++++--- .../mocks/daemon/dlt_log_server_mock.h | 1 + .../datarouter/src/daemon/dlt_log_server.cpp | 16 ++++++------ score/datarouter/src/daemon/socketserver.cpp | 21 +++++++++++----- score/datarouter/src/logparser/logparser.cpp | 25 +++++++++++-------- .../test/ut/ut_logging/test_dltserver.cpp | 18 ++++++------- .../test_file_transfer_handler_factory.cpp | 8 +++--- .../test/ut/ut_logging/test_logparser.cpp | 1 + 10 files changed, 78 insertions(+), 51 deletions(-) diff --git a/score/datarouter/include/daemon/dlt_log_server.h b/score/datarouter/include/daemon/dlt_log_server.h index 598121ab..2f0dd6c7 100644 --- a/score/datarouter/include/daemon/dlt_log_server.h +++ b/score/datarouter/include/daemon/dlt_log_server.h @@ -119,11 +119,6 @@ class DltLogServer : score::platform::datarouter::DltNonverboseHandlerType::IOut enabled_callback_ = enabled_callback; } - void SetDltOutputEnabled(bool enabled) - { - dlt_output_enabled_.store(enabled, std::memory_order_release); - } - void Flush() { for (auto& channel : channels_) @@ -170,8 +165,6 @@ class DltLogServer : score::platform::datarouter::DltNonverboseHandlerType::IOut } // LCOV_EXCL_STOP - bool GetDltEnabled() const noexcept; - std::string ReadLogChannelNames() const override; std::string ResetToDefault() override; std::string StoreDltConfig() override; @@ -187,6 +180,10 @@ class DltLogServer : score::platform::datarouter::DltNonverboseHandlerType::IOut AssignmentAction assignment_flag) override; std::string SetDltOutputEnable(bool enable) override; + /// Returns the current output-enable state. + /// Thread-safe: reads std::atomic with acquire ordering. + bool IsOutputEnabled() const noexcept override final; + // This is used for test purpose only in google tests, to have an access to the private members. // Do not use this calls in implementation except unit tests. class DltLogServerTest; @@ -311,8 +308,6 @@ class DltLogServer : score::platform::datarouter::DltNonverboseHandlerType::IOut std::unique_ptr sysedr_handler_; - bool IsOutputEnabled() const noexcept override final; - void SendNonVerbose(const score::mw::log::config::NvMsgDescriptor& desc, uint32_t tmsp, const void* data, diff --git a/score/datarouter/include/daemon/i_dlt_log_server.h b/score/datarouter/include/daemon/i_dlt_log_server.h index fdcdd1cb..e9ea3f9f 100644 --- a/score/datarouter/include/daemon/i_dlt_log_server.h +++ b/score/datarouter/include/daemon/i_dlt_log_server.h @@ -60,6 +60,10 @@ class IDltLogServer AssignmentAction assignment_flag) = 0; virtual std::string SetDltOutputEnable(bool enable) = 0; + /// Returns the current output-enable state. + /// Thread-safe: backed by std::atomic in the concrete implementation. + virtual bool IsOutputEnabled() const noexcept = 0; + virtual ~IDltLogServer() = default; }; diff --git a/score/datarouter/include/logparser/logparser.h b/score/datarouter/include/logparser/logparser.h index af1ed2b9..a5004979 100644 --- a/score/datarouter/include/logparser/logparser.h +++ b/score/datarouter/include/logparser/logparser.h @@ -16,6 +16,7 @@ #include "logparser/i_logparser.h" +#include #include #include #include @@ -58,8 +59,19 @@ class LogParser : public ILogParser public: using HandleRequestMap = std::unordered_multimap; + /// Maximum number of TypeHandlers that can be bound to a single type name. + /// DltLogServer registers exactly 1 handler per type (vhandler_, fthandler_, + /// sysedr_handler_). Increase this constant if a second handler per type is added. + static constexpr std::size_t kMaxHandlersPerType{1U}; + + /// Maximum number of global (AnyHandler) handlers. + /// DltLogServer registers exactly 2: sysedr_handler_ + nvhandler_. + /// Increase this constant if a new global handler is added. + static constexpr std::size_t kMaxGlobalHandlers{2U}; + explicit LogParser(const score::mw::log::INvConfig& nv_config, - std::vector global_handlers = {}, + std::array global_handlers = {}, + std::size_t global_handler_count = 0U, HandleRequestMap handle_request_map = {}); ~LogParser() = default; @@ -75,21 +87,23 @@ class LogParser : public ILogParser public: TypeInfo info; - explicit IndexParser(TypeInfo type_info) : info{type_info}, handlers_{} {} + explicit IndexParser(TypeInfo type_info) : info{type_info}, handlers_{}, handler_count_{0U} {} void AddHandler(TypeHandler* handler); void Parse(const TimestampT timestamp, const char* const data, const BufsizeT size); private: - std::vector handlers_; + std::array handlers_; + std::size_t handler_count_; }; const HandleRequestMap handle_request_map_; std::unordered_map index_parser_map_; - const std::vector global_handlers_; + const std::array global_handlers_; + const std::size_t global_handler_count_; const score::mw::log::INvConfig& nv_config_; }; diff --git a/score/datarouter/mocks/daemon/dlt_log_server_mock.h b/score/datarouter/mocks/daemon/dlt_log_server_mock.h index f03bca53..da509f13 100644 --- a/score/datarouter/mocks/daemon/dlt_log_server_mock.h +++ b/score/datarouter/mocks/daemon/dlt_log_server_mock.h @@ -44,6 +44,7 @@ class DltLogServerMock : public IDltLogServer (score::platform::DltidT, score::platform::DltidT, score::platform::DltidT, AssignmentAction), (override)); MOCK_METHOD(std::string, SetDltOutputEnable, (bool), (override)); + MOCK_METHOD(bool, IsOutputEnabled, (), (const, noexcept, override)); }; } // namespace mock diff --git a/score/datarouter/src/daemon/dlt_log_server.cpp b/score/datarouter/src/daemon/dlt_log_server.cpp index 8f6b1b45..cd2d23d3 100644 --- a/score/datarouter/src/daemon/dlt_log_server.cpp +++ b/score/datarouter/src/daemon/dlt_log_server.cpp @@ -213,25 +213,23 @@ void DltLogServer::InitLogChannelsDefault(const bool reloading) void DltLogServer::SetOutputEnabled(const bool enabled) { - const bool update = (dlt_output_enabled_.load(std::memory_order_acquire) != enabled); - - if (update) + // compare_exchange_strong makes the load+conditional-store a single atomic + // operation, preventing the check-then-act race where two concurrent callers + // could both observe the old value and both fire enabled_callback_. + bool expected = !enabled; + if (dlt_output_enabled_.compare_exchange_strong( + expected, enabled, std::memory_order_acq_rel, std::memory_order_acquire)) { - dlt_output_enabled_.store(enabled, std::memory_order_release); if (enabled_callback_) { enabled_callback_(enabled); } } } -bool DltLogServer::GetDltEnabled() const noexcept -{ - return dlt_output_enabled_.load(std::memory_order_acquire); -} bool DltLogServer::IsOutputEnabled() const noexcept { - return GetDltEnabled(); + return dlt_output_enabled_.load(std::memory_order_acquire); } void DltLogServer::SaveDatabase() diff --git a/score/datarouter/src/daemon/socketserver.cpp b/score/datarouter/src/daemon/socketserver.cpp index b936338d..8dc6c606 100644 --- a/score/datarouter/src/daemon/socketserver.cpp +++ b/score/datarouter/src/daemon/socketserver.cpp @@ -169,14 +169,23 @@ std::unique_ptr SocketServer::Crea std::unique_ptr Create(const score::mw::log::NvConfig& nv_config) override { - auto global_handlers = dlt_server_.GetGlobalHandlers(); - score::platform::internal::LogParser::HandleRequestMap handle_request_map; + using LogParser = score::platform::internal::LogParser; + + const auto handler_vec = dlt_server_.GetGlobalHandlers(); + std::array global_handlers{}; + const std::size_t handler_count = std::min(handler_vec.size(), LogParser::kMaxGlobalHandlers); + for (std::size_t i = 0U; i < handler_count; ++i) + { + global_handlers[i] = handler_vec[i]; + } + + LogParser::HandleRequestMap handle_request_map; for (auto& binding : dlt_server_.GetTypeHandlerBindings()) { handle_request_map.emplace(std::move(binding.type_name), binding.handler); } - return std::make_unique( - nv_config, std::move(global_handlers), std::move(handle_request_map)); + return std::make_unique( + nv_config, global_handlers, handler_count, std::move(handle_request_map)); } private: @@ -226,7 +235,7 @@ std::function SocketServer::CreateEnableHandler(DataRouter& router, score::mw::log::LogWarn() << "Changing output enable to " << enable; WriteDltEnabled(enable, persistent_dictionary); router.ForEachSource(enable); - dlt_server.SetDltOutputEnabled(enable); + dlt_server.SetDltOutputEnable(enable); }; } @@ -294,7 +303,7 @@ std::unique_ptr SocketServer::CreateMessagePassi const auto fd = maybe_fd.value(); const auto quota = dlt_server.GetQuota(appid); const auto quota_enforcement_enabled = dlt_server.GetQuotaEnforcementEnabled(); - const bool is_dlt_enabled = dlt_server.GetDltEnabled(); + const bool is_dlt_enabled = dlt_server.IsOutputEnabled(); auto source_session = router.NewSourceSession( fd, appid, is_dlt_enabled, std::move(handle), quota, quota_enforcement_enabled, client_pid, nv_config); // The reason for banning is, because it's error-prone to use. One should use abstractions e.g. provided by diff --git a/score/datarouter/src/logparser/logparser.cpp b/score/datarouter/src/logparser/logparser.cpp index 7dd9cd88..3abb4ad0 100644 --- a/score/datarouter/src/logparser/logparser.cpp +++ b/score/datarouter/src/logparser/logparser.cpp @@ -60,26 +60,31 @@ namespace internal { LogParser::LogParser(const score::mw::log::INvConfig& nv_config, - std::vector global_handlers, + std::array global_handlers, + std::size_t global_handler_count, HandleRequestMap handle_request_map) : ILogParser(), handle_request_map_{std::move(handle_request_map)}, index_parser_map_{}, - global_handlers_{std::move(global_handlers)}, + global_handlers_{global_handlers}, + global_handler_count_{global_handler_count}, nv_config_(nv_config) { } void LogParser::IndexParser::AddHandler(TypeHandler* handler) { - handlers_.push_back(handler); + if (handler_count_ < handlers_.size()) + { + handlers_[handler_count_++] = handler; + } } void LogParser::IndexParser::Parse(const TimestampT timestamp, const char* const data, const BufsizeT size) { - for (const auto& handler : handlers_) + for (std::size_t i = 0U; i < handler_count_; ++i) { - handler->Handle(timestamp, data, size); + handlers_[i]->Handle(timestamp, data, size); } } @@ -147,9 +152,9 @@ void LogParser::Parse(TimestampT timestamp, const char* data, BufsizeT size) index_parser.Parse(timestamp, data, size); const auto& type_info = index_parser.info; - for (auto* const handler : global_handlers_) + for (std::size_t i = 0U; i < global_handler_count_; ++i) { - handler->Handle(type_info, timestamp, data, size); + global_handlers_[i]->Handle(type_info, timestamp, data, size); } } @@ -181,10 +186,10 @@ void LogParser::ParseSharedMemoryRecord(const score::mw::log::detail::SharedMemo index_parser.Parse(record.header.time_stamp, payload_ptr, payload_length_buf_size); - const auto& type_info = index_parser.info; - for (auto* const handler : global_handlers_) + const auto& type_info = index_parser_entry->second.info; + for (std::size_t i = 0U; i < global_handler_count_; ++i) { - handler->Handle(type_info, record.header.time_stamp, payload_ptr, payload_length_buf_size); + global_handlers_[i]->Handle(type_info, record.header.time_stamp, payload_ptr, payload_length_buf_size); } } diff --git a/score/datarouter/test/ut/ut_logging/test_dltserver.cpp b/score/datarouter/test/ut/ut_logging/test_dltserver.cpp index 7eab7882..5208bcc2 100644 --- a/score/datarouter/test/ut/ut_logging/test_dltserver.cpp +++ b/score/datarouter/test/ut/ut_logging/test_dltserver.cpp @@ -151,7 +151,7 @@ TEST_F(DltServerCreatedWithoutConfigFixture, WhenCreatedDefault) TEST_F(DltServerCreatedWithoutConfigFixture, WhenCreatedDefaultDltEnabledTrue) { DltLogServer dlt_server(s_config, read_callback.AsStdFunction(), write_callback.AsStdFunction(), true); - const auto dlt_enabled = dlt_server.GetDltEnabled(); + const auto dlt_enabled = dlt_server.IsOutputEnabled(); EXPECT_TRUE(dlt_enabled); } @@ -1006,7 +1006,7 @@ TEST_F(DltServerCreatedWithoutConfigFixture, SendFTVerboseAppIdNoCoreChannelExpe dlt_server.SendFtVerbose({}, score::mw::log::LogLevel::kVerbose, app_id, ctx_id, 0U, 100U); } -TEST_F(DltServerCreatedWithoutConfigFixture, SetDltOutputEnabledToTrueExpectDltOutputEnabledFlagTrue) +TEST_F(DltServerCreatedWithoutConfigFixture, SetDltOutputEnableToTrueExpectIsOutputEnabledTrue) { EXPECT_CALL(read_callback, Call()).Times(0); EXPECT_CALL(write_callback, Call(_)).Times(0); @@ -1014,8 +1014,8 @@ TEST_F(DltServerCreatedWithoutConfigFixture, SetDltOutputEnabledToTrueExpectDltO score::logging::dltserver::DltLogServer::DltLogServerTest dlt_server( s_config, read_callback.AsStdFunction(), write_callback.AsStdFunction(), true); - dlt_server.SetDltOutputEnabled(true); - EXPECT_TRUE(dlt_server.GetDltEnabled()); + dlt_server.SetDltOutputEnable(true); + EXPECT_TRUE(dlt_server.IsOutputEnabled()); } TEST_F(DltServerCreatedWithConfigFixture, SetLogChannelThresholdChannelMissingDirectCallReturnsError) @@ -1150,20 +1150,20 @@ TEST_F(DltServerCreatedWithConfigFixture, SetDltOutputEnableDirectCall) auto response = dlt_server.SetDltOutputEnable(true); EXPECT_EQ(response.size(), kCommandResponseSize); EXPECT_EQ(response[0], static_cast(config::kRetOk)); - EXPECT_TRUE(dlt_server.GetDltEnabled()); + EXPECT_TRUE(dlt_server.IsOutputEnabled()); // Test disabling output through public method response = dlt_server.SetDltOutputEnable(false); EXPECT_EQ(response.size(), kCommandResponseSize); EXPECT_EQ(response[0], static_cast(config::kRetOk)); - EXPECT_FALSE(dlt_server.GetDltEnabled()); + EXPECT_FALSE(dlt_server.IsOutputEnabled()); } TEST_F(DltServerCreatedWithConfigFixture, SetDltOutputEnableBehaviorBlocksAllSends) { // Prove that enabling/disabling output affects the observable server state. // Note: sendVerbose()/sendNonVerbose() are not gated by this flag in the current implementation; - // the flag controls the DLT output enable state exposed via GetDltEnabled(). + // the flag controls the DLT output enable state exposed via IsOutputEnabled(). EXPECT_CALL(read_callback, Call()).Times(1).WillOnce(Return(p_config)); EXPECT_CALL(write_callback, Call(_)).Times(0); @@ -1179,13 +1179,13 @@ TEST_F(DltServerCreatedWithConfigFixture, SetDltOutputEnableBehaviorBlocksAllSen const auto disable_resp = dlt_server.SetDltOutputEnable(false); EXPECT_EQ(disable_resp.size(), kCommandResponseSize); EXPECT_EQ(disable_resp[0], static_cast(config::kRetOk)); - EXPECT_FALSE(dlt_server.GetDltEnabled()); + EXPECT_FALSE(dlt_server.IsOutputEnabled()); // Re-enable output: sending should resume. const auto enable_resp = dlt_server.SetDltOutputEnable(true); EXPECT_EQ(enable_resp.size(), kCommandResponseSize); EXPECT_EQ(enable_resp[0], static_cast(config::kRetOk)); - EXPECT_TRUE(dlt_server.GetDltEnabled()); + EXPECT_TRUE(dlt_server.IsOutputEnabled()); // Basic sanity: calling sendVerbose still forwards to the log sender (2 channels). EXPECT_CALL(*log_sender_mock_raw_ptr, SendVerbose(_, _, _)).Times(2); diff --git a/score/datarouter/test/ut/ut_logging/test_file_transfer_handler_factory.cpp b/score/datarouter/test/ut/ut_logging/test_file_transfer_handler_factory.cpp index 40d34da3..93e34151 100644 --- a/score/datarouter/test/ut/ut_logging/test_file_transfer_handler_factory.cpp +++ b/score/datarouter/test/ut/ut_logging/test_file_transfer_handler_factory.cpp @@ -22,6 +22,7 @@ #include #include +#include #include namespace score @@ -51,15 +52,14 @@ TEST(FileTransferStreamHandlerFactoryTest, CreateWithFileTransferFeatureEnabledShallReturnConcreteFileTransferStreamHandler) { - Output output; #if defined(DLT_FILE_TRANSFER_FEATURE) + std::atomic output_enabled{true}; + Output output{output_enabled}; output.SendFtVerbose(score::cpp::span{}, mw::log::LogLevel::kInfo, DltidT{}, DltidT{}, 0, 0); -#endif EXPECT_TRUE(output.IsOutputEnabled()); - -#if defined(DLT_FILE_TRANSFER_FEATURE) FileTransferStreamHandlerFactory factory(output); #else + Output output; StubFileTransferHandlerFactory factory(output); #endif std::unique_ptr stream_handler = factory.Create(); diff --git a/score/datarouter/test/ut/ut_logging/test_logparser.cpp b/score/datarouter/test/ut/ut_logging/test_logparser.cpp index b752e900..067e7d8f 100644 --- a/score/datarouter/test/ut/ut_logging/test_logparser.cpp +++ b/score/datarouter/test/ut/ut_logging/test_logparser.cpp @@ -104,6 +104,7 @@ TEST(LogParserTest, SingleMessageHandler) const std::string message = MakeMessage(kTestMessageIndex, TestMessage{2345}); LogParser parser(CreateTestNvConfig(), {&any_handler}, + 1U, LogParser::HandleRequestMap{{"test::TestMessage", &type_handler_yes}, {"test::notTestMessage", &type_handler_no}}); From 5c9399fbc00429d4f5ae94ecb4a8ed034c04fbab Mon Sep 17 00:00:00 2001 From: famaymanpartner Date: Tue, 2 Jun 2026 04:24:56 +0200 Subject: [PATCH 03/26] fix review comments GIT_ORIGIN_SPP_REV_ID: 3ce4a16139ba4989d519542a3956e8b94b7b5a2a --- .../datarouter/include/daemon/dlt_log_server.h | 7 +++++++ score/datarouter/src/daemon/dlt_log_server.cpp | 17 ++++++++++------- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/score/datarouter/include/daemon/dlt_log_server.h b/score/datarouter/include/daemon/dlt_log_server.h index 2f0dd6c7..3c86fe1f 100644 --- a/score/datarouter/include/daemon/dlt_log_server.h +++ b/score/datarouter/include/daemon/dlt_log_server.h @@ -119,6 +119,11 @@ class DltLogServer : score::platform::datarouter::DltNonverboseHandlerType::IOut enabled_callback_ = enabled_callback; } + void SetDltOutputEnabled(bool enabled) + { + dlt_output_enabled_.store(enabled, std::memory_order_release); + } + void Flush() { for (auto& channel : channels_) @@ -165,6 +170,8 @@ class DltLogServer : score::platform::datarouter::DltNonverboseHandlerType::IOut } // LCOV_EXCL_STOP + bool GetDltEnabled() const noexcept; + std::string ReadLogChannelNames() const override; std::string ResetToDefault() override; std::string StoreDltConfig() override; diff --git a/score/datarouter/src/daemon/dlt_log_server.cpp b/score/datarouter/src/daemon/dlt_log_server.cpp index cd2d23d3..2f666f82 100644 --- a/score/datarouter/src/daemon/dlt_log_server.cpp +++ b/score/datarouter/src/daemon/dlt_log_server.cpp @@ -213,13 +213,11 @@ void DltLogServer::InitLogChannelsDefault(const bool reloading) void DltLogServer::SetOutputEnabled(const bool enabled) { - // compare_exchange_strong makes the load+conditional-store a single atomic - // operation, preventing the check-then-act race where two concurrent callers - // could both observe the old value and both fire enabled_callback_. - bool expected = !enabled; - if (dlt_output_enabled_.compare_exchange_strong( - expected, enabled, std::memory_order_acq_rel, std::memory_order_acquire)) + const bool update = (dlt_output_enabled_.load(std::memory_order_acquire) != enabled); + + if (update) { + dlt_output_enabled_.store(enabled, std::memory_order_release); if (enabled_callback_) { enabled_callback_(enabled); @@ -227,11 +225,16 @@ void DltLogServer::SetOutputEnabled(const bool enabled) } } -bool DltLogServer::IsOutputEnabled() const noexcept +bool DltLogServer::GetDltEnabled() const noexcept { return dlt_output_enabled_.load(std::memory_order_acquire); } +bool DltLogServer::IsOutputEnabled() const noexcept +{ + return GetDltEnabled(); +} + void DltLogServer::SaveDatabase() { PersistentConfig config; From 1dd8b76c0f9f597ab9b3e707937893b690944a2d Mon Sep 17 00:00:00 2001 From: famaymanpartner Date: Sun, 21 Jun 2026 23:05:42 +0200 Subject: [PATCH 04/26] fix review comments GIT_ORIGIN_SPP_REV_ID: 131518ccd71157043c1b0d52462bdac390462c9a --- .../datarouter/include/logparser/logparser.h | 22 +- .../datarouter/src/daemon/dlt_log_server.cpp | 11 +- score/datarouter/src/daemon/socketserver.cpp | 16 +- score/datarouter/src/logparser/logparser.cpp | 25 +-- .../test/ut/ut_logging/test_dltserver.cpp | 188 ++++++++++++++++++ .../test_file_transfer_handler_factory.cpp | 8 +- .../test/ut/ut_logging/test_logparser.cpp | 1 - 7 files changed, 216 insertions(+), 55 deletions(-) diff --git a/score/datarouter/include/logparser/logparser.h b/score/datarouter/include/logparser/logparser.h index a5004979..af1ed2b9 100644 --- a/score/datarouter/include/logparser/logparser.h +++ b/score/datarouter/include/logparser/logparser.h @@ -16,7 +16,6 @@ #include "logparser/i_logparser.h" -#include #include #include #include @@ -59,19 +58,8 @@ class LogParser : public ILogParser public: using HandleRequestMap = std::unordered_multimap; - /// Maximum number of TypeHandlers that can be bound to a single type name. - /// DltLogServer registers exactly 1 handler per type (vhandler_, fthandler_, - /// sysedr_handler_). Increase this constant if a second handler per type is added. - static constexpr std::size_t kMaxHandlersPerType{1U}; - - /// Maximum number of global (AnyHandler) handlers. - /// DltLogServer registers exactly 2: sysedr_handler_ + nvhandler_. - /// Increase this constant if a new global handler is added. - static constexpr std::size_t kMaxGlobalHandlers{2U}; - explicit LogParser(const score::mw::log::INvConfig& nv_config, - std::array global_handlers = {}, - std::size_t global_handler_count = 0U, + std::vector global_handlers = {}, HandleRequestMap handle_request_map = {}); ~LogParser() = default; @@ -87,23 +75,21 @@ class LogParser : public ILogParser public: TypeInfo info; - explicit IndexParser(TypeInfo type_info) : info{type_info}, handlers_{}, handler_count_{0U} {} + explicit IndexParser(TypeInfo type_info) : info{type_info}, handlers_{} {} void AddHandler(TypeHandler* handler); void Parse(const TimestampT timestamp, const char* const data, const BufsizeT size); private: - std::array handlers_; - std::size_t handler_count_; + std::vector handlers_; }; const HandleRequestMap handle_request_map_; std::unordered_map index_parser_map_; - const std::array global_handlers_; - const std::size_t global_handler_count_; + const std::vector global_handlers_; const score::mw::log::INvConfig& nv_config_; }; diff --git a/score/datarouter/src/daemon/dlt_log_server.cpp b/score/datarouter/src/daemon/dlt_log_server.cpp index 2f666f82..8d3145da 100644 --- a/score/datarouter/src/daemon/dlt_log_server.cpp +++ b/score/datarouter/src/daemon/dlt_log_server.cpp @@ -213,18 +213,19 @@ void DltLogServer::InitLogChannelsDefault(const bool reloading) void DltLogServer::SetOutputEnabled(const bool enabled) { - const bool update = (dlt_output_enabled_.load(std::memory_order_acquire) != enabled); - - if (update) + bool expected = !enabled; + // Atomically flips only if the current value differs — avoids the TOCTOU + // window between load() and store() for the flag itself. + if (dlt_output_enabled_.compare_exchange_strong( + expected, enabled, std::memory_order_acq_rel, std::memory_order_acquire)) { - dlt_output_enabled_.store(enabled, std::memory_order_release); + // Entered only by the thread that won the CAS; callback fires exactly once. if (enabled_callback_) { enabled_callback_(enabled); } } } - bool DltLogServer::GetDltEnabled() const noexcept { return dlt_output_enabled_.load(std::memory_order_acquire); diff --git a/score/datarouter/src/daemon/socketserver.cpp b/score/datarouter/src/daemon/socketserver.cpp index 8dc6c606..8d73e3c5 100644 --- a/score/datarouter/src/daemon/socketserver.cpp +++ b/score/datarouter/src/daemon/socketserver.cpp @@ -169,23 +169,15 @@ std::unique_ptr SocketServer::Crea std::unique_ptr Create(const score::mw::log::NvConfig& nv_config) override { - using LogParser = score::platform::internal::LogParser; + auto global_handlers = dlt_server_.GetGlobalHandlers(); + score::platform::internal::LogParser::HandleRequestMap handle_request_map; - const auto handler_vec = dlt_server_.GetGlobalHandlers(); - std::array global_handlers{}; - const std::size_t handler_count = std::min(handler_vec.size(), LogParser::kMaxGlobalHandlers); - for (std::size_t i = 0U; i < handler_count; ++i) - { - global_handlers[i] = handler_vec[i]; - } - - LogParser::HandleRequestMap handle_request_map; for (auto& binding : dlt_server_.GetTypeHandlerBindings()) { handle_request_map.emplace(std::move(binding.type_name), binding.handler); } - return std::make_unique( - nv_config, global_handlers, handler_count, std::move(handle_request_map)); + return std::make_unique( + nv_config, std::move(global_handlers), std::move(handle_request_map)); } private: diff --git a/score/datarouter/src/logparser/logparser.cpp b/score/datarouter/src/logparser/logparser.cpp index 3abb4ad0..7dd9cd88 100644 --- a/score/datarouter/src/logparser/logparser.cpp +++ b/score/datarouter/src/logparser/logparser.cpp @@ -60,31 +60,26 @@ namespace internal { LogParser::LogParser(const score::mw::log::INvConfig& nv_config, - std::array global_handlers, - std::size_t global_handler_count, + std::vector global_handlers, HandleRequestMap handle_request_map) : ILogParser(), handle_request_map_{std::move(handle_request_map)}, index_parser_map_{}, - global_handlers_{global_handlers}, - global_handler_count_{global_handler_count}, + global_handlers_{std::move(global_handlers)}, nv_config_(nv_config) { } void LogParser::IndexParser::AddHandler(TypeHandler* handler) { - if (handler_count_ < handlers_.size()) - { - handlers_[handler_count_++] = handler; - } + handlers_.push_back(handler); } void LogParser::IndexParser::Parse(const TimestampT timestamp, const char* const data, const BufsizeT size) { - for (std::size_t i = 0U; i < handler_count_; ++i) + for (const auto& handler : handlers_) { - handlers_[i]->Handle(timestamp, data, size); + handler->Handle(timestamp, data, size); } } @@ -152,9 +147,9 @@ void LogParser::Parse(TimestampT timestamp, const char* data, BufsizeT size) index_parser.Parse(timestamp, data, size); const auto& type_info = index_parser.info; - for (std::size_t i = 0U; i < global_handler_count_; ++i) + for (auto* const handler : global_handlers_) { - global_handlers_[i]->Handle(type_info, timestamp, data, size); + handler->Handle(type_info, timestamp, data, size); } } @@ -186,10 +181,10 @@ void LogParser::ParseSharedMemoryRecord(const score::mw::log::detail::SharedMemo index_parser.Parse(record.header.time_stamp, payload_ptr, payload_length_buf_size); - const auto& type_info = index_parser_entry->second.info; - for (std::size_t i = 0U; i < global_handler_count_; ++i) + const auto& type_info = index_parser.info; + for (auto* const handler : global_handlers_) { - global_handlers_[i]->Handle(type_info, record.header.time_stamp, payload_ptr, payload_length_buf_size); + handler->Handle(type_info, record.header.time_stamp, payload_ptr, payload_length_buf_size); } } diff --git a/score/datarouter/test/ut/ut_logging/test_dltserver.cpp b/score/datarouter/test/ut/ut_logging/test_dltserver.cpp index 5208bcc2..5866614f 100644 --- a/score/datarouter/test/ut/ut_logging/test_dltserver.cpp +++ b/score/datarouter/test/ut/ut_logging/test_dltserver.cpp @@ -16,6 +16,10 @@ #include "daemon/dlt_log_server.h" #include "score/datarouter/include/daemon/configurator_commands.h" #include "score/datarouter/mocks/daemon/log_sender_mock.h" +#include +#include +#include +#include #include "gtest/gtest.h" @@ -1254,4 +1258,188 @@ TEST_F(DltServerCreatedWithConfigFixture, ReadLogChannelNamesDirectCallContainsE EXPECT_NE(response_str.find("CORE"), std::string::npos) << "Response should contain CORE channel"; } +TEST_F(DltServerCreatedWithoutConfigFixture, ConcurrentEnableSameValueNoCallbackFired) +{ + EXPECT_CALL(read_callback, Call()).Times(0); + EXPECT_CALL(write_callback, Call(_)).Times(0); + + DltLogServer::DltLogServerTest server( + s_config, read_callback.AsStdFunction(), write_callback.AsStdFunction(), /*enabled=*/true); + + std::atomic callback_count{0}; + server.SetEnabledCallback([&](bool /*enabled*/) { + callback_count.fetch_add(1, std::memory_order_relaxed); + }); + + std::thread t1([&] { + server.SetDltOutputEnable(true); + }); + std::thread t2([&] { + server.SetDltOutputEnable(true); + }); + t1.join(); + t2.join(); + + EXPECT_TRUE(server.IsOutputEnabled()); + EXPECT_EQ(callback_count.load(), 0) << "No callback expected: both threads attempted a redundant enable"; +} + +TEST_F(DltServerCreatedWithoutConfigFixture, ConcurrentDisableSameValueCallbackFiredOnce) +{ + EXPECT_CALL(read_callback, Call()).Times(0); + EXPECT_CALL(write_callback, Call(_)).Times(0); + + DltLogServer::DltLogServerTest server( + s_config, read_callback.AsStdFunction(), write_callback.AsStdFunction(), /*enabled=*/true); + + std::atomic callback_count{0}; + server.SetEnabledCallback([&](bool /*enabled*/) { + callback_count.fetch_add(1, std::memory_order_relaxed); + }); + + std::thread t1([&] { + server.SetDltOutputEnable(false); + }); + std::thread t2([&] { + server.SetDltOutputEnable(false); + }); + t1.join(); + t2.join(); + + EXPECT_FALSE(server.IsOutputEnabled()); + EXPECT_EQ(callback_count.load(), 1) << "Exactly one callback expected: only one thread wins the true->false CAS"; +} + +TEST_F(DltServerCreatedWithoutConfigFixture, ConcurrentOppositeValuesCallbackCountOneOrTwo) +{ + EXPECT_CALL(read_callback, Call()).Times(0); + EXPECT_CALL(write_callback, Call(_)).Times(0); + + DltLogServer::DltLogServerTest server( + s_config, read_callback.AsStdFunction(), write_callback.AsStdFunction(), /*enabled=*/true); + + std::atomic callback_count{0}; + server.SetEnabledCallback([&](bool /*enabled*/) { + callback_count.fetch_add(1, std::memory_order_relaxed); + }); + + std::thread t_disable([&] { + server.SetDltOutputEnable(false); + }); + std::thread t_enable([&] { + server.SetDltOutputEnable(true); + }); + t_disable.join(); + t_enable.join(); + + const int count = callback_count.load(); + EXPECT_GE(count, 1) << "At least one genuine transition must have fired"; + EXPECT_LE(count, 2) << "At most two genuine transitions are possible"; + + // Flag must be consistent with whichever CAS won last (no corruption). + const bool flag = server.IsOutputEnabled(); + EXPECT_TRUE(flag == true || flag == false); +} + +TEST_F(DltServerCreatedWithoutConfigFixture, ConcurrentToggleStormFlagRemainsConsistent) +{ + EXPECT_CALL(read_callback, Call()).Times(0); + EXPECT_CALL(write_callback, Call(_)).Times(0); + + DltLogServer::DltLogServerTest server( + s_config, read_callback.AsStdFunction(), write_callback.AsStdFunction(), /*enabled=*/true); + + std::atomic callback_count{0}; + server.SetEnabledCallback([&](bool /*enabled*/) { + callback_count.fetch_add(1, std::memory_order_relaxed); + }); + + constexpr int kThreads = 8; + constexpr int kTogglesEach = 100; + + std::vector threads; + threads.reserve(kThreads); + for (int i = 0; i < kThreads; ++i) + { + const bool start_with_enable = (i % 2 == 0); + threads.emplace_back([&server, start_with_enable]() { + for (int j = 0; j < kTogglesEach; ++j) + { + server.SetDltOutputEnable((j % 2 == 0) ? start_with_enable : !start_with_enable); + } + }); + } + for (auto& t : threads) + { + t.join(); + } + + // IsOutputEnabled() returns std::atomic::load(), so no torn read + // is possible; we only assert the callback bound. + static_cast(server.IsOutputEnabled()); + EXPECT_LE(callback_count.load(), kThreads * kTogglesEach); +} + +TEST_F(DltServerCreatedWithoutConfigFixture, CallbackReceivesCorrectBooleanValuePerTransition) +{ + EXPECT_CALL(read_callback, Call()).Times(0); + EXPECT_CALL(write_callback, Call(_)).Times(0); + + DltLogServer::DltLogServerTest server( + s_config, read_callback.AsStdFunction(), write_callback.AsStdFunction(), /*enabled=*/true); + + std::vector observed_values; + std::mutex values_mutex; + server.SetEnabledCallback([&](bool enabled) { + std::lock_guard lock(values_mutex); + observed_values.push_back(enabled); + }); + + server.SetDltOutputEnable(false); // genuine: true→false + server.SetDltOutputEnable(false); // redundant: no callback + server.SetDltOutputEnable(true); // genuine: false→true + server.SetDltOutputEnable(true); // redundant: no callback + + ASSERT_EQ(observed_values.size(), 2U); + EXPECT_FALSE(observed_values[0]) << "First transition was true->false"; + EXPECT_TRUE(observed_values[1]) << "Second transition was false->true"; +} + +TEST_F(DltServerCreatedWithoutConfigFixture, ConcurrentReaderSeesOnlyValidBooleanValues) +{ + EXPECT_CALL(read_callback, Call()).Times(0); + EXPECT_CALL(write_callback, Call(_)).Times(0); + + DltLogServer::DltLogServerTest server( + s_config, read_callback.AsStdFunction(), write_callback.AsStdFunction(), /*enabled=*/true); + + std::atomic stop_reader{false}; + + std::thread reader([&] { + // static_assert documents that bool can only be true or false; + // the acquire-load is still exercised so TSan can observe ordering. + static_assert(sizeof(bool) == 1U, "bool must be exactly one byte"); + while (!stop_reader.load(std::memory_order_relaxed)) + { + // Load with acquire semantics to pair with the release-store in + // SetOutputEnabled; the result is intentionally unused here — + // the goal is to exercise the memory-ordering path under TSan. + static_cast(server.IsOutputEnabled()); + } + }); + + std::thread writer([&] { + for (int i = 0; i < 500; ++i) + { + server.SetDltOutputEnable(i % 2 == 0); + } + }); + + writer.join(); + stop_reader.store(true, std::memory_order_relaxed); + reader.join(); + // If TSan is enabled it will have reported any acquire/release violation + // during the run; no additional runtime assertion is needed here. +} + } // namespace test diff --git a/score/datarouter/test/ut/ut_logging/test_file_transfer_handler_factory.cpp b/score/datarouter/test/ut/ut_logging/test_file_transfer_handler_factory.cpp index 93e34151..40d34da3 100644 --- a/score/datarouter/test/ut/ut_logging/test_file_transfer_handler_factory.cpp +++ b/score/datarouter/test/ut/ut_logging/test_file_transfer_handler_factory.cpp @@ -22,7 +22,6 @@ #include #include -#include #include namespace score @@ -52,14 +51,15 @@ TEST(FileTransferStreamHandlerFactoryTest, CreateWithFileTransferFeatureEnabledShallReturnConcreteFileTransferStreamHandler) { + Output output; #if defined(DLT_FILE_TRANSFER_FEATURE) - std::atomic output_enabled{true}; - Output output{output_enabled}; output.SendFtVerbose(score::cpp::span{}, mw::log::LogLevel::kInfo, DltidT{}, DltidT{}, 0, 0); +#endif EXPECT_TRUE(output.IsOutputEnabled()); + +#if defined(DLT_FILE_TRANSFER_FEATURE) FileTransferStreamHandlerFactory factory(output); #else - Output output; StubFileTransferHandlerFactory factory(output); #endif std::unique_ptr stream_handler = factory.Create(); diff --git a/score/datarouter/test/ut/ut_logging/test_logparser.cpp b/score/datarouter/test/ut/ut_logging/test_logparser.cpp index 067e7d8f..b752e900 100644 --- a/score/datarouter/test/ut/ut_logging/test_logparser.cpp +++ b/score/datarouter/test/ut/ut_logging/test_logparser.cpp @@ -104,7 +104,6 @@ TEST(LogParserTest, SingleMessageHandler) const std::string message = MakeMessage(kTestMessageIndex, TestMessage{2345}); LogParser parser(CreateTestNvConfig(), {&any_handler}, - 1U, LogParser::HandleRequestMap{{"test::TestMessage", &type_handler_yes}, {"test::notTestMessage", &type_handler_no}}); From ec1ccc3e526cdcbc70f91cd4f1241ac86923e05d Mon Sep 17 00:00:00 2001 From: vaishnavi yendole Date: Wed, 1 Jul 2026 10:39:40 +0530 Subject: [PATCH 05/26] Sync score changes to spp GIT_ORIGIN_SPP_REV_ID: 155ca77ddfcb19319e82feee8132c29909f87201 --- .../detail/data_router/data_router_message_client_impl.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/score/mw/log/detail/data_router/data_router_message_client_impl.cpp b/score/mw/log/detail/data_router/data_router_message_client_impl.cpp index 26fa28f9..7a6f27c6 100644 --- a/score/mw/log/detail/data_router/data_router_message_client_impl.cpp +++ b/score/mw/log/detail/data_router/data_router_message_client_impl.cpp @@ -23,6 +23,7 @@ #include "score/mw/log/detail/utils/signal_handling/signal_handling.h" #include #include +#include namespace score { @@ -200,8 +201,7 @@ bool DatarouterMessageClientImpl::StartReceiver() auto* this_ptr = this; auto connect_callback = [this_ptr](score::message_passing::IServerConnection& connection) noexcept -> std::uintptr_t { - const auto result = SignalHandling::PThreadBlockSigTerm(this_ptr->utils_.GetSignal()); - static_cast(result); + std::ignore = SignalHandling::PThreadBlockSigTerm(this_ptr->utils_.GetSignal()); const pid_t client_pid = connection.GetClientIdentity().pid; return static_cast(client_pid); }; From e1b075fc326ee225e30b50c8243a4bc84aeee237 Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Fri, 3 Jul 2026 10:28:02 +0200 Subject: [PATCH 06/26] Adds destailed design for datarouter session (acquire_response) - client_session_interaction_sequence using inotify - activity_watchdog_session_lifecycle handling stale sessions - sequence_early_disconnect_race handling any race during session startup GIT_ORIGIN_SPP_REV_ID: a98614e80bc35fa95c4c63c7936e159f61057b9b --- .../doc/design/logging_architecture.md | 12 +- .../activity_watchdog_session_lifecycle.puml | 41 +++++ .../client_session_interaction_sequence.puml | 171 ++++++++++++++++++ .../uml/sequence_early_disconnect_race.puml | 71 ++++++++ 4 files changed, 290 insertions(+), 5 deletions(-) create mode 100644 score/datarouter/doc/design/uml/activity_watchdog_session_lifecycle.puml create mode 100644 score/datarouter/doc/design/uml/client_session_interaction_sequence.puml create mode 100644 score/datarouter/doc/design/uml/sequence_early_disconnect_race.puml diff --git a/score/datarouter/doc/design/logging_architecture.md b/score/datarouter/doc/design/logging_architecture.md index d24c00b6..58bbb1db 100644 --- a/score/datarouter/doc/design/logging_architecture.md +++ b/score/datarouter/doc/design/logging_architecture.md @@ -143,13 +143,15 @@ The Adaptive AUTOSAR logging interface implementation follows standard specifica The ring buffer operates in shared memory to minimize copy overhead. Shared memory IPC provides optimal speed and flexibility for this implementation. -### Message passing interaction +### Datarouter-Client Session -The message passing connection transmits initial connection information, notifications, and handles disconnections. The connection lifecycle proceeds as follows: +The Datarouter-Client Session uses [message_passing](https://github.com/eclipse-score/communication/tree/main/score/message_passing) IPC for the initial connection, buffer acquire requests, notifications, and disconnections. The `DataRouterRecorder` sets up the session when it is created and closes it when it is destroyed. In between, the datarouter keeps one `IServerConnection` handle per client and drives the log acquisition from the server side. -- The `DataRouterRecorder` constructor creates a `DatarouterMessageClient` instance, spawning a thread that attempts server connections every 100ms. -- Upon successful connection, the client transmits a message containing application information to the server. -- The `DataRouterRecorder` destructor notifies the thread, causing normal termination. +The main idea is to keep clients independent, so that one non-responsive client should not stall the datarouter. This matters because the datarouter serves all clients from a single thread, one after another on each periodic tick, so a single blocking call would hold up every other client. To avoid this, the datarouter asks for buffers (to read) using non-blocking QNX pulses (`IServerConnection::Notify()`), which return right away and never wait on the client. So if a client is slow or stuck, its pulse simply stays unanswered while the healthy clients keep getting served. See [session_sequence_diagram](uml/client_session_interaction_sequence.puml) for the full flow. + +However, with such a design there are risks of stale sessions. A small per-session watchdog limits how long the datarouter waits for an acquire response. If a client keeps missing its deadline, the watchdog cleans up the stale session, but first it does a best-effort read of the client's last buffer so no logs are lost unnecessarily. See [activity_watchdog_session](uml/activity_watchdog_session_lifecycle.puml). + +The setup also handles an early-disconnect race, wherein if a client crashes while the datarouter is still building its session, the connect and disconnect paths work together to throw away the half-built session instead of keeping a dangling connection pointer. The client can then reconnect cleanly afterwards. See [early_disconnect_race](uml/sequence_early_disconnect_race.puml). ### datarouter diff --git a/score/datarouter/doc/design/uml/activity_watchdog_session_lifecycle.puml b/score/datarouter/doc/design/uml/activity_watchdog_session_lifecycle.puml new file mode 100644 index 00000000..e297fced --- /dev/null +++ b/score/datarouter/doc/design/uml/activity_watchdog_session_lifecycle.puml @@ -0,0 +1,41 @@ +@startuml activity_watchdog_lifecycle + +title Per-Session Acquire Watchdog Lifecycle + +start + +:mp_worker tick fires; + +if (Session has acquire_in_flight?) then (yes) + if (now() > acquire_deadline?) then (yes) + :Clear acquire_in_flight; + :Increment acquire_miss_count; + if (acquire_miss_count >= max_misses?) then (yes) + :Tear down session; + stop + else (no) + :Allow next tick to\nretry acquire; + endif + else (no) + :Wait for response\nor deadline expiry; + endif +else (no) + :connection.Notify(kAcquireRequest); + :Set acquire_in_flight = true; + :Set acquire_deadline =\nnow() + watchdog_config.deadline; +endif + +:Wait for next tick; + +if (kAcquireResponse received?) then (yes) + :Clear acquire_in_flight; + :Reset acquire_deadline; + :Reset acquire_miss_count = 0; + :Process acquired buffer; +else (no) + :Continue waiting; +endif + +stop + +@enduml diff --git a/score/datarouter/doc/design/uml/client_session_interaction_sequence.puml b/score/datarouter/doc/design/uml/client_session_interaction_sequence.puml new file mode 100644 index 00000000..3f5d439a --- /dev/null +++ b/score/datarouter/doc/design/uml/client_session_interaction_sequence.puml @@ -0,0 +1,171 @@ +@startuml sequence_notify_acquire_request + +title IServerConnection::Notify() + Watchdog\n(Non-blocking MsgDeliverEvent) + +skinparam sequenceMessageAlign center +skinparam responseMessageBelowArrow true + +box "Client A (healthy)" #LightBlue + participant "User Threads\n(Client A)" as UTA + participant "SharedMemoryWriter\n(Client A)" as SHMA + participant "QnxDispatchEngine\n(Client A)" as AE +end box + +box "Client X (unhealthy)" #PeachPuff + participant "QnxDispatchEngine\n(Client X)" as XE +end box + +box "Datarouter Process" #LightGreen + participant "QnxDispatchEngine\n(server engine)" as SE + participant "mp_worker thread" as MW + participant "Watchdog Timer" as WD + participant "DLT output" as DLT +end box + +note over SE + Datarouter sends kAcquireRequest + via **IServerConnection::Notify()** on the already- + established server connection for each client. + + Notify() calls **MsgDeliverEvent()** which delivers + a QNX pulse to the client — **fire-and-forget, + returns immediately, never blocks**. +end note + +== Initialization == + +UTA -> AE : DatarouterMessageClientImpl::Run() +AE -> SE : kConnect (appid, uid, pid)\n[Send() — one-time, acceptable] + +SE -> SE : connect_callback()\nStore IServerConnection\nfor this client + +note over SE + Datarouter now holds the + IServerConnection reference + for each connected client. + This is the handle for Notify(). +end note + +MW -> MW : Create session + start watchdog\n(per-client deadline timer) + +== Steady-State: Acquire via Notify == + +MW -> MW : RunWorkerThread()\ntick() fires for Client A + +MW -> SE : **connection_A.Notify(kAcquireRequest)** + +SE -> SE : QnxDispatchServer::\nServerConnection::Notify() + +note over SE #LightGreen + Internally: + 1. Copy message to notify_pool_ slot + 2. Push to send_queue_ + 3. **MsgDeliverEvent(rcvid, &pulse)** - Returns immediately and never blocks. +end note + +SE -->> AE : QNX pulse delivered\n(async, non-blocking) + +AE -> AE : dispatch_block() receives pulse\n→ readv() → ProcessInput(NOTIFY)\n→ notify_callback_() + +note over AE + Client's NotifyCallback + (new, registered at Start()): + validates message, calls + ReadAcquire(), sends response. +end note + +AE -> SHMA : ReadAcquire() +SHMA -> SHMA : alternating_reader_.Switch()\nBuffer A → B + +AE -> SE : **Send(kAcquireResponse + result)**\n[Client → Datarouter: Send is safe,\nDatarouter is always ready to receive] + +SE -> MW : MessageCallback()\n→ OnAcquireResponse() +MW -> MW : session.on_acquire_response(acq) + +MW -> SHMA : Wait for writers to release\nRead acquired Buffer A +MW -> DLT : Forward log records ✓ + +MW -> WD : Reset watchdog timer for Client A + +== Client X is unhealthy == + +note over XE #PeachPuff + X's engine thread is unhealthy (probable causes): + • crash leading to suspended thread + • Priority inversion + • CPU starvation +end note + +MW -> MW : tick() fires for Client X +MW -> SE : **connection_XYZ.Notify(kAcquireRequest)** + +SE -> SE : MsgDeliverEvent()\n→ **returns immediately!** + +note over SE #LightGreen + Pulse is queued in X's + QNX receive channel. + Datarouter does NOT block. + Server engine thread is free. +end note + +note over XE #PeachPuff + X never processes the pulse. + No response comes back. + **But Datarouter is NOT blocked.** +end note + +== Meanwhile: Client A continues unaffected == + +MW -> MW : tick() fires for Client A +MW -> SE : **connection_A.Notify(kAcquireRequest)** +SE -->> AE : pulse delivered +AE -> SHMA : ReadAcquire() +AE -> SE : Send(kAcquireResponse) +MW -> DLT : Forward Client A's logs + +note over DLT #LightGreen + **Client A is unaffected** + by X being unhealthy. +end note + +== Watchdog: Detect unresponsive X == + +WD -> WD : Client X deadline expired\n(no kAcquireResponse within T seconds) + +WD -> MW : Notify: X unresponsive + +MW -> MW : Increment X miss counter + +alt X misses < max_allowed_misses + MW -> MW : Retry: enqueue next tick\n(X gets another chance) + MW -> SE : connection_XYZ.Notify(kAcquireRequest)\n[still non-blocking, still safe] +else X misses >= max_allowed_misses + MW -> MW : **Tear down X session** + + note over MW #LightYellow + Session teardown: + 1. Mark session for delete + 2. Attempt post-mortem read + of X's current buffer + (best-effort, no IPC needed) + 3. Remove from pid_session_map_ + 4. Log diagnostic event + end note + + MW -> SHMA : Post-mortem: read whatever\nis in X's last buffer\n(shmem is still mapped) + MW -> DLT : Forward recovered records\n(if any valid ones found) + + MW -> MW : Erase session from map\nClose server connection + destroy XE +end + +== Subsequent X reconnect (if X recovers) == + +note over MW + If X was merely slow (not dead), + it may reconnect later with a new + kConnect. Datarouter creates a + fresh session — clean slate. +end note + +@enduml diff --git a/score/datarouter/doc/design/uml/sequence_early_disconnect_race.puml b/score/datarouter/doc/design/uml/sequence_early_disconnect_race.puml new file mode 100644 index 00000000..015b7b5d --- /dev/null +++ b/score/datarouter/doc/design/uml/sequence_early_disconnect_race.puml @@ -0,0 +1,71 @@ +@startuml sequence_early_disconnect_race + +title Race: Client Disconnects during OnConnectRequest + +skinparam sequenceMessageAlign center +skinparam responseMessageBelowArrow true + +box "Client Process" #LightBlue + participant "Client" as C +end box + +box "Datarouter Process" #LightGreen + participant "Server Engine\n(message thread)" as SE + participant "OnConnectRequest\n(processes connect)" as OC + participant "disconnect_callback\n(connection teardown)" as DC +end box + +== Client sends kConnect, then crashes == + +C -> SE : kConnect(appid, uid, pid) +SE -> OC : MessageCallback → OnConnectRequest() + +note over OC + OnConnectRequest releases mutex + to call session factory (avoids + deadlock with subscriber mutex). +end note + +OC -> OC : Release mutex_\nCall factory_(pid, conn, ...) + +C -[#red]x C : **Client crashes / exits** + +SE -> DC : disconnect_callback(pid) + +note over DC #PeachPuff + **Unsafe**: pid not yet in + pid_session_map_, so disconnect + cannot clear connection_ → stale + pointer stored when OnConnect + resumes. +end note + +DC -> DC : Lock mutex_\npid NOT in pid_session_map_ + +alt Unsafe (control flow) + DC -> DC : pid not found → no-op + DC -> DC : Unlock mutex_ + + OC -> OC : Factory returns session\nLock mutex_ + OC -> OC : Emplace session in map + OC -> OC : **Store &connection**\n(already destroyed!) + note over OC #Tomato + connection_ is a dangling pointer. + Next Notify() call → undefined behavior. + end note + +else Safe (control flow) + DC -> DC : pid not found in map\n→ Insert pid into\n**disconnected_pids_** + DC -> DC : Unlock mutex_ + + OC -> OC : Factory returns session\nLock mutex_ + OC -> OC : Check disconnected_pids_\npid IS present + OC -> OC : **Refuse to store session**\nErase pid from disconnected_pids_ + note over OC #LightGreen + Session is discarded safely. + No dangling connection pointer. + Client can reconnect cleanly. + end note +end + +@enduml From f0c6e3726dbc5240f1f8f59bb8563a7852f91f31 Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Sun, 15 Feb 2026 19:07:18 +0100 Subject: [PATCH 07/26] mw/log: Enables IPC via message_passing notify support Increase message-passing notify limits to allow server->client non-blocking notifications as described in the Notify-based acquire design. GIT_ORIGIN_SPP_REV_ID: 71ef3ab5e83849c989f3b95747a75c2029213f66 --- .../test/ut/ut_logging/test_message_passing_server.cpp | 5 +++-- score/mw/log/detail/data_router/message_passing_config.h | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp index da8447dc..628f4c6e 100644 --- a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp +++ b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp @@ -79,6 +79,7 @@ constexpr pid_t kClienT0Pid = 1000; constexpr pid_t kClienT1Pid = 1001; constexpr pid_t kClienT2Pid = 1002; constexpr std::uint32_t kMaxSendBytes{17U}; +constexpr std::uint32_t kMaxNotifyBytes{1U}; std::uint32_t gKReceiverQueueMaxSize = 0; @@ -155,7 +156,7 @@ class MessagePassingServerFixture : public ::testing::Test server_factory_mock = std::make_shared>(); client_factory_mock = std::make_shared>(); - const score::message_passing::IServerFactory::ServerConfig server_config{gKReceiverQueueMaxSize, 0U, 0U}; + const score::message_passing::IServerFactory::ServerConfig server_config{gKReceiverQueueMaxSize, 0U, 1U}; auto server_ptr = score::cpp::pmr::make_unique>( score::cpp::pmr::get_default_resource()); @@ -163,7 +164,7 @@ class MessagePassingServerFixture : public ::testing::Test EXPECT_CALL( *server_factory_mock, - Create(CompareServiceProtocol(ServiceProtocolConfig{"/logging.datarouter_recv", kMaxSendBytes, 0U, 0U}), + Create(CompareServiceProtocol(ServiceProtocolConfig{"/logging.datarouter_recv", kMaxSendBytes, 0U, kMaxNotifyBytes}), CompareServerConfig(server_config))) .WillOnce(Return(ByMove(std::move(server_ptr)))); } diff --git a/score/mw/log/detail/data_router/message_passing_config.h b/score/mw/log/detail/data_router/message_passing_config.h index 7242bd99..5ec6ddfb 100644 --- a/score/mw/log/detail/data_router/message_passing_config.h +++ b/score/mw/log/detail/data_router/message_passing_config.h @@ -39,13 +39,13 @@ struct MessagePassingConfig static constexpr std::uint32_t kPreAllocConnections{0U}; /// \brief Maximum number of queued notifications. - static constexpr std::uint32_t kMaxQueuedNotifies{0U}; + static constexpr std::uint32_t kMaxQueuedNotifies{1U}; /// \brief Maximum reply size in bytes. static constexpr std::uint32_t kMaxReplySize{0U}; /// \brief Maximum notification size in bytes. - static constexpr std::uint32_t kMaxNotifySize{0U}; + static constexpr std::uint32_t kMaxNotifySize{1U}; /// \brief The DataRouter receiver endpoint identifier. static constexpr const char* kDatarouterReceiverIdentifier{"/logging.datarouter_recv"}; From 74b0e0be48430abec2bda012a5581e71fc0ddacb Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Sun, 15 Feb 2026 19:13:02 +0100 Subject: [PATCH 08/26] pas/logging: Send acquire via Notify Replace per-client AcquireRequest delivery via client sender Send() with server-side IServerConnection::Notify(). This avoids reply-blocked MsgSend/writev on a shared client engine thread and prevents cross-client head-of-line blocking. GIT_ORIGIN_SPP_REV_ID: 36526ff0ea5d08488960a7a22418fb1bb810bd99 --- .../include/daemon/message_passing_server.h | 47 +++--- .../src/daemon/message_passing_server.cpp | 110 ++++++------- .../test_message_passing_server.cpp | 150 ++++++++---------- 3 files changed, 140 insertions(+), 167 deletions(-) diff --git a/score/datarouter/include/daemon/message_passing_server.h b/score/datarouter/include/daemon/message_passing_server.h index 6f897541..722c4a55 100644 --- a/score/datarouter/include/daemon/message_passing_server.h +++ b/score/datarouter/include/daemon/message_passing_server.h @@ -71,20 +71,16 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper class SessionHandle : public daemon::ISessionHandle { public: - SessionHandle(pid_t pid, - MessagePassingServer* server, - score::cpp::pmr::unique_ptr sender) - : daemon::ISessionHandle(), sender_(std::move(sender)), pid_(pid), server_(server), sender_state_{} + SessionHandle(pid_t pid, MessagePassingServer* server) + : daemon::ISessionHandle(), pid_(pid), server_(server) { } bool AcquireRequest() const override; private: - score::cpp::pmr::unique_ptr sender_; pid_t pid_; MessagePassingServer* server_; - mutable std::optional sender_state_; }; class ISession @@ -111,27 +107,36 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper class MessagePassingServerForTest; private: + friend class SessionHandle; + + bool NotifyAcquireRequest(pid_t pid); + bool NotifyAcquireRequestWhileLocked(pid_t pid); void NotifyAcquireRequestFailed(std::int32_t pid); - void MessageCallback(const score::cpp::span message, const pid_t pid); - void OnConnectRequest(const score::cpp::span message, const pid_t pid); - void OnAcquireResponse(const score::cpp::span message, const pid_t pid); + void MessageCallback(score::message_passing::IServerConnection& connection, score::cpp::span message); + void OnConnectRequest(score::message_passing::IServerConnection& connection, + const score::cpp::span message, + pid_t pid); + void OnAcquireResponse(score::message_passing::IServerConnection& connection, + const score::cpp::span message, + pid_t pid); using TimestampT = std::chrono::steady_clock::time_point; struct SessionWrapper { - SessionWrapper(IMessagePassingServerSessionWrapper* server_instance, - pid_t process_id, - std::unique_ptr session_instance) - : server(server_instance), - pid(process_id), - session(std::move(session_instance)), - enqueued(false), - running(false), - to_delete(false), - closed_by_peer(false), - to_force_finish(false) + SessionWrapper(IMessagePassingServerSessionWrapper* server_instance, + pid_t process_id, + std::unique_ptr session_instance) + : server(server_instance), + pid(process_id), + session(std::move(session_instance)), + connection(nullptr), + enqueued(false), + running(false), + to_delete(false), + closed_by_peer(false), + to_force_finish(false) { } @@ -165,6 +170,8 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper pid_t pid; std::unique_ptr session; + score::message_passing::IServerConnection* connection; + bool enqueued; bool running; bool to_delete; diff --git a/score/datarouter/src/daemon/message_passing_server.cpp b/score/datarouter/src/daemon/message_passing_server.cpp index 4539bfdc..d7ffb6bb 100644 --- a/score/datarouter/src/daemon/message_passing_server.cpp +++ b/score/datarouter/src/daemon/message_passing_server.cpp @@ -19,6 +19,7 @@ #include "score/memory.hpp" #include +#include #include #include #include @@ -154,8 +155,7 @@ MessagePassingServer::MessagePassingServer(MessagePassingServer::SessionFactory auto received_send_message_callback = [this_ptr = this]( score::message_passing::IServerConnection& connection, const score::cpp::span message) noexcept -> score::cpp::blank { - const pid_t client_pid = connection.GetClientIdentity().pid; - this_ptr->MessageCallback(message, client_pid); + this_ptr->MessageCallback(connection, message); return {}; }; auto received_send_message_with_reply_callback = @@ -364,8 +364,10 @@ void MessagePassingServer::FinishPreviousSessionWhileLocked( }); } -void MessagePassingServer::MessageCallback(const score::cpp::span message, const pid_t pid) +void MessagePassingServer::MessageCallback(score::message_passing::IServerConnection& connection, + score::cpp::span message) { + const pid_t pid = connection.GetClientIdentity().pid; if (message.empty()) { std::cerr << "MessagePassingServer: Empty message received from " << pid; @@ -377,10 +379,10 @@ void MessagePassingServer::MessageCallback(const score::cpp::span message, const pid_t pid) +void MessagePassingServer::OnConnectRequest(score::message_passing::IServerConnection& connection, + const score::cpp::span message, + const pid_t pid) { score::mw::log::detail::ConnectMessageFromClient conn; @@ -415,38 +419,6 @@ void MessagePassingServer::OnConnectRequest(const score::cpp::spanCreate(protocol_config, client_config); - // check for timeout or exit request if (stop_source_.stop_requested()) { @@ -462,8 +434,9 @@ void MessagePassingServer::OnConnectRequest(const score::cpp::span session_handle{ - ::score::cpp::pmr::make_unique(memory_resource, pid, this, std::move(sender))}; + ::score::cpp::pmr::make_unique(memory_resource, pid, this)}; auto session = factory_(pid, conn, std::move(session_handle)); if (session) { @@ -482,12 +455,15 @@ void MessagePassingServer::OnConnectRequest(const score::cpp::span lock(mutex_); auto emplace_result = pid_session_map_.emplace(pid, SessionWrapper{this, pid, std::move(session)}); + emplace_result.first->second.connection = &connection; // enqueue the tick to speed up processing connection emplace_result.first->second.EnqueueTickWhileLocked(); } } -void MessagePassingServer::OnAcquireResponse(const score::cpp::span message, const pid_t pid) +void MessagePassingServer::OnAcquireResponse(score::message_passing::IServerConnection& connection, + const score::cpp::span message, + const pid_t pid) { std::lock_guard lock(mutex_); const auto found = pid_session_map_.find(pid); @@ -495,6 +471,10 @@ void MessagePassingServer::OnAcquireResponse(const score::cpp::spansecond; + if (wrapper.connection == nullptr) + { + return false; + } + + constexpr std::array message{score::cpp::to_underlying(DatarouterMessageIdentifier::kAcquireRequest)}; + auto ret = wrapper.connection->Notify(message); + if (!ret) + { + wrapper.EnqueueForDeleteWhileLocked(true); + } + return true; +} + +bool MessagePassingServer::NotifyAcquireRequest(const pid_t pid) +{ + std::lock_guard lock(mutex_); + return NotifyAcquireRequestWhileLocked(pid); +} + void MessagePassingServer::NotifyAcquireRequestFailed(std::int32_t pid) { std::lock_guard lock(mutex_); @@ -532,28 +541,11 @@ void MessagePassingServer::NotifyAcquireRequestFailed(std::int32_t pid) bool MessagePassingServer::SessionHandle::AcquireRequest() const { - if (!sender_state_.has_value()) - { - sender_->Start(score::message_passing::IClientConnection::StateCallback{}, - score::message_passing::IClientConnection::NotifyCallback{}); - } - - sender_state_ = sender_->GetState(); - if (sender_state_ != score::message_passing::IClientConnection::State::kReady) + if (server_ == nullptr) { return false; } - constexpr std::array kMessage{score::cpp::to_underlying(DatarouterMessageIdentifier::kAcquireRequest)}; - auto ret = sender_->Send(kMessage); - if (!ret) - { - if (server_ != nullptr) - { - server_->NotifyAcquireRequestFailed(pid_); - return true; - } - } - return true; + return server_->NotifyAcquireRequest(pid_); } } // namespace internal diff --git a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp index 628f4c6e..5e228581 100644 --- a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp +++ b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp @@ -28,6 +28,7 @@ #include #include +#include #include #include @@ -213,11 +214,6 @@ class MessagePassingServerFixture : public ::testing::Test return session; }; } - void ExpectClientDestruction(StrictMock<::score::message_passing::ClientConnectionMock>* client_mock) - { - EXPECT_CALL(*client_mock, Destruct()).Times(AnyNumber()); - } - void ExpectServerDestruction() const { EXPECT_CALL(*server_mock, Destruct()).Times(AnyNumber()); @@ -272,27 +268,22 @@ class MessagePassingServerFixture : public ::testing::Test return message; } - StrictMock<::score::message_passing::ClientConnectionMock>* ExpectConnectCallBackCalledAndClientCreated( - const pid_t pid) + StrictMock<::score::message_passing::ServerConnectionMock>* ConnectClientAndSendConnectMessage(const pid_t pid) { - auto client = score::cpp::pmr::make_unique>( - score::cpp::pmr::get_default_resource()); - - auto* client_mock = client.get(); + auto connection = std::make_unique>(); + auto* connection_ptr = connection.get(); + auto emplace_result = connections_.emplace(pid, std::move(connection)); + EXPECT_TRUE(emplace_result.second); - EXPECT_CALL(*client_factory_mock, - Create(Matcher(_), - Matcher(_))) - .WillOnce(Return(ByMove(std::move(client)))); - - StrictMock<::score::message_passing::ServerConnectionMock> connection; - score::message_passing::ClientIdentity client_identity{pid, 0, 0}; - EXPECT_CALL(connection, GetClientIdentity()).Times(AnyNumber()).WillRepeatedly(ReturnRef(client_identity)); + connection_identities_.insert_or_assign(pid, score::message_passing::ClientIdentity{pid, 0, 0}); + EXPECT_CALL(*connection_ptr, GetClientIdentity()) + .Times(AnyNumber()) + .WillRepeatedly(ReturnRef(connection_identities_.at(pid))); auto message = CreateConnectMessageSample(pid); - sent_callback(connection, message); + sent_callback(*connection_ptr, message); - return client_mock; + return connection_ptr; } void UninstantiateServer() @@ -305,11 +296,11 @@ class MessagePassingServerFixture : public ::testing::Test EXPECT_CALL(*unistd_mock, getpid()).WillRepeatedly(Return(kOurPid)); } - void ExpectMessageSendInSequence(const DatarouterMessageIdentifier& id, - ::testing::Sequence& seq, - StrictMock<::score::message_passing::ClientConnectionMock>* client_mock) + void ExpectAcquireNotifyInSequence(const DatarouterMessageIdentifier& id, + ::testing::Sequence& seq, + StrictMock<::score::message_passing::ServerConnectionMock>* connection_mock) { - EXPECT_CALL(*client_mock, Send(An>())) + EXPECT_CALL(*connection_mock, Notify(An>())) .InSequence(seq) .WillOnce([id](const auto m) { score::cpp::expected_blank ret{}; @@ -321,9 +312,9 @@ class MessagePassingServerFixture : public ::testing::Test }); } - void ExpectAndFailShortMessageSend(StrictMock<::score::message_passing::ClientConnectionMock>* client_mock) + void ExpectAndFailAcquireNotify(StrictMock<::score::message_passing::ServerConnectionMock>* connection_mock) { - EXPECT_CALL(*client_mock, Send(Matcher>(_))) + EXPECT_CALL(*connection_mock, Notify(Matcher>(_))) .WillOnce(Return(score::cpp::make_unexpected(score::os::Error::createFromErrno(EINVAL)))); } @@ -338,6 +329,9 @@ class MessagePassingServerFixture : public ::testing::Test score::message_passing::MessageCallback sent_callback; score::message_passing::MessageCallback sent_with_reply_callback; + std::unordered_map>> connections_; + std::map connection_identities_; + std::mutex map_mutex; std::condition_variable map_cond; // currently only used for destruction std::unordered_map session_map; @@ -428,40 +422,29 @@ TEST_F(MessagePassingServerFixture, TestOneConnectAcquireRelease) EXPECT_EQ(tick_count, 0); EXPECT_EQ(construct_count, 0); - auto* client = ExpectConnectCallBackCalledAndClientCreated(kClienT0Pid); + auto* connection_ptr = ConnectClientAndSendConnectMessage(kClienT0Pid); EXPECT_EQ(construct_count, 1); - EXPECT_CALL(*client, - Start(Matcher(_), - Matcher(_))); - - EXPECT_CALL(*client, GetState()).WillRepeatedly(Return(score::message_passing::IClientConnection::State::kReady)); - ::testing::Sequence seq; - ExpectMessageSendInSequence(DatarouterMessageIdentifier::kAcquireRequest, seq, client); + ExpectAcquireNotifyInSequence(DatarouterMessageIdentifier::kAcquireRequest, seq, connection_ptr); session_map.at(kClienT0Pid).handle->AcquireRequest(); EXPECT_EQ(acquire_response_count, 0); - StrictMock<::score::message_passing::ServerConnectionMock> connection; - score::message_passing::ClientIdentity client_identity{kClienT0Pid, 0, 0}; - EXPECT_CALL(connection, GetClientIdentity()).Times(AnyNumber()).WillRepeatedly(ReturnRef(client_identity)); - score::mw::log::detail::ReadAcquireResult acquire_result{0U}; std::array message{}; message[0] = score::cpp::to_underlying(DatarouterMessageIdentifier::kAcquireResponse); std::memcpy(&message[1], &acquire_result, sizeof(acquire_result)); - sent_callback(connection, message); + sent_callback(*connection_ptr, message); EXPECT_EQ(acquire_response_count, 1); EXPECT_EQ(closed_by_peer_count, 0); EXPECT_FALSE(session_map.empty()); - ExpectAndFailShortMessageSend(client); + ExpectAndFailAcquireNotify(connection_ptr); ExpectServerDestruction(); - ExpectClientDestruction(client); session_map.at(kClienT0Pid).handle->AcquireRequest(); { // let the worker thread process the fault; wait until it erases the client @@ -485,15 +468,15 @@ TEST_F(MessagePassingServerFixture, TestTripleConnectDifferentPids) EXPECT_EQ(construct_count, 0); - auto* client0 = ExpectConnectCallBackCalledAndClientCreated(kClienT0Pid); - auto* client1 = ExpectConnectCallBackCalledAndClientCreated(kClienT1Pid); - auto* client2 = ExpectConnectCallBackCalledAndClientCreated(kClienT2Pid); + auto* connection0 = ConnectClientAndSendConnectMessage(kClienT0Pid); + auto* connection1 = ConnectClientAndSendConnectMessage(kClienT1Pid); + auto* connection2 = ConnectClientAndSendConnectMessage(kClienT2Pid); EXPECT_EQ(construct_count, 3); ExpectServerDestruction(); - ExpectClientDestruction(client0); - ExpectClientDestruction(client1); - ExpectClientDestruction(client2); + std::ignore = connection0; + std::ignore = connection1; + std::ignore = connection2; EXPECT_EQ(closed_by_peer_count, 0); EXPECT_EQ(destruct_count, 0); @@ -516,22 +499,25 @@ TEST_F(MessagePassingServerFixture, TestTripleConnectSamePid) EXPECT_EQ(construct_count, 0); // Recieving new connect with old pid means that old pid owner died and disconnect_callback was called. - auto* client0 = ExpectConnectCallBackCalledAndClientCreated(kClienT0Pid); + auto* connection0 = ConnectClientAndSendConnectMessage(kClienT0Pid); EXPECT_CALL(connection, GetClientIdentity()).WillOnce(ReturnRef(client_identity)); - ExpectClientDestruction(client0); this->disconnect_callback(connection); using namespace std::chrono_literals; std::this_thread::sleep_for(100ms); - auto* client1 = ExpectConnectCallBackCalledAndClientCreated(kClienT0Pid); + connections_.erase(kClienT0Pid); + auto* connection1 = ConnectClientAndSendConnectMessage(kClienT0Pid); EXPECT_CALL(connection, GetClientIdentity()).WillOnce(ReturnRef(client_identity)); - ExpectClientDestruction(client1); this->disconnect_callback(connection); std::this_thread::sleep_for(100ms); - auto* client2 = ExpectConnectCallBackCalledAndClientCreated(kClienT0Pid); - ExpectClientDestruction(client2); + connections_.erase(kClienT0Pid); + auto* connection2 = ConnectClientAndSendConnectMessage(kClienT0Pid); EXPECT_EQ(construct_count, 3); + std::ignore = connection0; + std::ignore = connection1; + std::ignore = connection2; + ExpectServerDestruction(); EXPECT_EQ(closed_by_peer_count, 2); @@ -554,14 +540,13 @@ TEST_F(MessagePassingServerFixture, TestSamePidWhileRunning) tick_blocker = true; EXPECT_EQ(tick_count, 0); EXPECT_EQ(construct_count, 0); - auto* client0 = ExpectConnectCallBackCalledAndClientCreated(kClienT0Pid); - auto* client1 = ExpectConnectCallBackCalledAndClientCreated(kClienT1Pid); - auto* client2 = ExpectConnectCallBackCalledAndClientCreated(kClienT2Pid); + auto* connection0 = ConnectClientAndSendConnectMessage(kClienT0Pid); + auto* connection1 = ConnectClientAndSendConnectMessage(kClienT1Pid); + auto* connection2 = ConnectClientAndSendConnectMessage(kClienT2Pid); EXPECT_EQ(construct_count, 3); ExpectServerDestruction(); - // ExpectClientDestruction(client0); // wait until CLIENT0 is blocked inside the first tick session_map.at(kClienT0Pid).WaitStartOfFirstTick(); @@ -574,12 +559,13 @@ TEST_F(MessagePassingServerFixture, TestSamePidWhileRunning) StrictMock<::score::message_passing::ServerConnectionMock> connection; score::message_passing::ClientIdentity client_identity{kClienT0Pid, 0, 0}; EXPECT_CALL(connection, GetClientIdentity()).WillOnce(ReturnRef(client_identity)); - ExpectClientDestruction(client0); this->disconnect_callback(connection); std::this_thread::sleep_for(100ms); - auto* new_client = ExpectConnectCallBackCalledAndClientCreated(kClienT0Pid); - ExpectClientDestruction(new_client); + connections_.erase(kClienT0Pid); + + auto* new_connection = ConnectClientAndSendConnectMessage(kClienT0Pid); + std::ignore = new_connection; }); EXPECT_EQ(destruct_count, 0); // no destruction while we are still in the tick @@ -592,8 +578,9 @@ TEST_F(MessagePassingServerFixture, TestSamePidWhileRunning) EXPECT_EQ(destruct_count, 1); EXPECT_GE(tick_count, 2); - ExpectClientDestruction(client1); - ExpectClientDestruction(client2); + std::ignore = connection0; + std::ignore = connection1; + std::ignore = connection2; UninstantiateServer(); EXPECT_EQ(closed_by_peer_count, 1); @@ -609,9 +596,9 @@ TEST_F(MessagePassingServerFixture, TestSamePidWhileQueued) tick_blocker = true; EXPECT_EQ(tick_count, 0); EXPECT_EQ(construct_count, 0); - auto* client0 = ExpectConnectCallBackCalledAndClientCreated(kClienT0Pid); - auto* client1 = ExpectConnectCallBackCalledAndClientCreated(kClienT1Pid); - auto* client2 = ExpectConnectCallBackCalledAndClientCreated(kClienT2Pid); + auto* connection0 = ConnectClientAndSendConnectMessage(kClienT0Pid); + auto* connection1 = ConnectClientAndSendConnectMessage(kClienT1Pid); + auto* connection2 = ConnectClientAndSendConnectMessage(kClienT2Pid); EXPECT_EQ(construct_count, 3); ExpectServerDestruction(); @@ -628,12 +615,13 @@ TEST_F(MessagePassingServerFixture, TestSamePidWhileQueued) StrictMock<::score::message_passing::ServerConnectionMock> connection; score::message_passing::ClientIdentity client_identity{kClienT2Pid, 0, 0}; EXPECT_CALL(connection, GetClientIdentity()).WillOnce(ReturnRef(client_identity)); - ExpectClientDestruction(client2); this->disconnect_callback(connection); std::this_thread::sleep_for(100ms); - auto* new_client = ExpectConnectCallBackCalledAndClientCreated(kClienT2Pid); - ExpectClientDestruction(new_client); + connections_.erase(kClienT2Pid); + + auto* new_connection = ConnectClientAndSendConnectMessage(kClienT2Pid); + std::ignore = new_connection; }); EXPECT_EQ(destruct_count, 0); // no destruction while we are still in the tick @@ -646,8 +634,9 @@ TEST_F(MessagePassingServerFixture, TestSamePidWhileQueued) EXPECT_EQ(destruct_count, 1); EXPECT_GE(tick_count, 2); - ExpectClientDestruction(client0); - ExpectClientDestruction(client1); + std::ignore = connection0; + std::ignore = connection1; + std::ignore = connection2; UninstantiateServer(); EXPECT_EQ(closed_by_peer_count, 1); @@ -681,25 +670,10 @@ TEST(MessagePassingServerTests, sessionWrapperCreateTest) TEST(MessagePassingServerTests, sessionHandleCreateTest) { const pid_t pid = 0; - - auto client = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); - - auto* client_raw_ptr = client.get(); MessagePassingServer* msg_server = nullptr; - EXPECT_CALL(*client_raw_ptr, - Start(Matcher(_), - Matcher(_))); - - EXPECT_CALL(*client_raw_ptr, GetState()) - .WillRepeatedly(Return(score::message_passing::IClientConnection::State::kReady)); - - EXPECT_CALL(*client_raw_ptr, Send(An>())).Times(1); - - MessagePassingServer::SessionHandle session_handle(pid, msg_server, std::move(client)); - - EXPECT_NO_FATAL_FAILURE(session_handle.AcquireRequest()); - EXPECT_CALL(*client_raw_ptr, Destruct()).Times(AnyNumber()); + MessagePassingServer::SessionHandle session_handle(pid, msg_server); + EXPECT_FALSE(session_handle.AcquireRequest()); } struct TestParams From 25f44b055eeec95a75a06b6949102bc926bcdb24 Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Sun, 15 Feb 2026 19:17:48 +0100 Subject: [PATCH 09/26] mw/log: Handle acquire via NotifyCallback Register an IClientConnection NotifyCallback and process kAcquireRequest notifications by switching buffers and replying with kAcquireResponse. This is the client-side Notify-based acquire design. GIT_ORIGIN_SPP_REV_ID: 735123e22884507b8c9ab85f0833ae28a5b7865e --- .../data_router_message_client_impl.cpp | 20 ++- .../data_router_message_client_impl.h | 1 + .../data_router_message_client_test.cpp | 123 +++++++++++++++++- 3 files changed, 137 insertions(+), 7 deletions(-) diff --git a/score/mw/log/detail/data_router/data_router_message_client_impl.cpp b/score/mw/log/detail/data_router/data_router_message_client_impl.cpp index 7a6f27c6..cd1058d3 100644 --- a/score/mw/log/detail/data_router/data_router_message_client_impl.cpp +++ b/score/mw/log/detail/data_router/data_router_message_client_impl.cpp @@ -363,11 +363,29 @@ score::cpp::expected_blank DatarouterMessageClientImpl::Create state_condition_.notify_all(); }; + auto notify_callback = [this](score::cpp::span message) noexcept { + this->OnNotify(message); + }; // coverity[autosar_cpp14_a5_1_4_violation]: See justification above - sender_->Start(state_callback, score::message_passing::IClientConnection::NotifyCallback{}); + sender_->Start(state_callback, notify_callback); return {}; } +void DatarouterMessageClientImpl::OnNotify(const score::cpp::span message) noexcept +{ + if (message.size() != 1U) + { + return; + } + + if (message.front() != score::cpp::to_underlying(DatarouterMessageIdentifier::kAcquireRequest)) + { + return; + } + + OnAcquireRequest(); +} + void DatarouterMessageClientImpl::OnAcquireRequest() noexcept { // The acquire request shall be the first message Datarouter sends to the client. diff --git a/score/mw/log/detail/data_router/data_router_message_client_impl.h b/score/mw/log/detail/data_router/data_router_message_client_impl.h index 5109ed2b..5500a731 100644 --- a/score/mw/log/detail/data_router/data_router_message_client_impl.h +++ b/score/mw/log/detail/data_router/data_router_message_client_impl.h @@ -99,6 +99,7 @@ class DatarouterMessageClientImpl : public DatarouterMessageClient private: void RunConnectTask(); void OnAcquireRequest() noexcept; + void OnNotify(score::cpp::span message) noexcept; void UnlinkSharedMemoryFile() noexcept; void HandleFirstMessageReceived() noexcept; void RequestInternalShutdown() noexcept; diff --git a/score/mw/log/detail/data_router/data_router_message_client_test.cpp b/score/mw/log/detail/data_router/data_router_message_client_test.cpp index 38704437..47a81959 100644 --- a/score/mw/log/detail/data_router/data_router_message_client_test.cpp +++ b/score/mw/log/detail/data_router/data_router_message_client_test.cpp @@ -105,6 +105,7 @@ constexpr pthread_t kThreadId = 42; constexpr auto kLoggerThreadName = "logger"; constexpr uid_t kDatarouterDummyUid = 111; constexpr std::uint32_t kMaxSendBytes{17U}; +constexpr std::uint32_t kMaxNotifyBytes{1U}; constexpr std::uint32_t kMaxNumberMessagesInReceiverQueue{0UL}; class DatarouterMessageClientFixture : public ::testing::Test @@ -225,14 +226,15 @@ class DatarouterMessageClientFixture : public ::testing::Test score::message_passing::ClientConnectionMock* ExpectSenderCreation( score::message_passing::IClientConnection::StateCallback* state_callback = nullptr, - std::promise* callback_registered = nullptr) + std::promise* callback_registered = nullptr, + score::message_passing::IClientConnection::NotifyCallback* notify_callback = nullptr) { sender_mock_in_transit_ = score::cpp::pmr::make_unique>( score::cpp::pmr::get_default_resource()); auto* sender_mock = sender_mock_in_transit_.get(); const score::message_passing::ServiceProtocolConfig service_protocol_config{ - kDatarouterReceiverIdentifier, kMaxSendBytes, 0U, 0U}; + kDatarouterReceiverIdentifier, kMaxSendBytes, 0U, kMaxNotifyBytes}; const score::message_passing::IClientFactory::ClientConfig client_config{0, 10, false, true, false}; @@ -243,13 +245,17 @@ class DatarouterMessageClientFixture : public ::testing::Test EXPECT_CALL(*sender_mock, Start(Matcher(_), Matcher(_))) - .WillOnce([state_callback, callback_registered]( + .WillOnce([state_callback, callback_registered, notify_callback]( score::message_passing::IClientConnection::StateCallback st_callback, - score::message_passing::IClientConnection::NotifyCallback) { + score::message_passing::IClientConnection::NotifyCallback nt_callback) { if (state_callback != nullptr) { *state_callback = std::move(st_callback); } + if (notify_callback != nullptr) + { + *notify_callback = std::move(nt_callback); + } if (callback_registered != nullptr) { callback_registered->set_value(); @@ -340,6 +346,25 @@ class DatarouterMessageClientFixture : public ::testing::Test acquire_callback(connection, message); } + void SendAcquireNotifyAndExpectResponse(score::message_passing::IClientConnection::NotifyCallback& notify_callback, + score::message_passing::ClientConnectionMock** sender_ptr, + bool first_message, + bool unlink_successful = true) + { + ReadAcquireResult acquired_data{}; + acquired_data.acquired_buffer = shared_data_.control_block.switch_count_points_active_for_writing.load(); + + if (first_message) + { + ExpectUnlinkMwsrWriterFile(unlink_successful); + } + + ExpectSendAcquireResponse(*sender_ptr, acquired_data); + + const std::array message{score::cpp::to_underlying(DatarouterMessageIdentifier::kAcquireRequest)}; + notify_callback(message); + } + void ExpectSenderAndReceiverCreation( score::message_passing::ServerMock** receiver_ptr, score::message_passing::ClientConnectionMock** sender_ptr, @@ -352,7 +377,8 @@ class DatarouterMessageClientFixture : public ::testing::Test score::message_passing::MessageCallback* sent_callback = nullptr, score::message_passing::MessageCallback* sent_with_reply_callback = nullptr, bool block_termination_signal_pass = true, - bool receiver_start_listening = true) + bool receiver_start_listening = true, + score::message_passing::IClientConnection::NotifyCallback* notify_callback = nullptr) { std::ignore = block_termination_signal_pass; // TODO: remove this param @@ -373,7 +399,7 @@ class DatarouterMessageClientFixture : public ::testing::Test ExpectSetLoggerThreadName(); - auto* sender = ExpectSenderCreation(state_callback, callback_registered); + auto* sender = ExpectSenderCreation(state_callback, callback_registered, notify_callback); if (sender_ptr != nullptr) { *sender_ptr = sender; @@ -696,6 +722,91 @@ TEST_F(DatarouterMessageClientFixture, AcquireRequestShouldSendExpectedAcquireRe ExpectClientDestruction(sender_ptr); } +TEST_F(DatarouterMessageClientFixture, AcquireNotifyShouldSendExpectedAcquireResponse) +{ + RecordProperty("ASIL", "B"); + RecordProperty("Description", "Verifies that an acquire request delivered via NotifyCallback sends the expected acquire response."); + RecordProperty("TestType", "Interface test"); + RecordProperty("DerivationTechnique", "Generation and analysis of equivalence classes"); + + testing::InSequence order_matters; + + score::message_passing::ClientConnectionMock* sender_ptr{}; + score::message_passing::ServerMock* receiver_ptr{}; + score::message_passing::ConnectCallback connect_callback; + score::message_passing::DisconnectCallback disconnect_callback; + score::message_passing::MessageCallback sent_callback; + score::message_passing::MessageCallback sent_with_reply_callback; + score::message_passing::IClientConnection::StateCallback state_callback; + score::message_passing::IClientConnection::NotifyCallback notify_callback; + + ExpectSenderAndReceiverCreation(&receiver_ptr, + &sender_ptr, + &state_callback, + nullptr, + {}, + &connect_callback, + &disconnect_callback, + &sent_callback, + &sent_with_reply_callback, + true, + true, + ¬ify_callback); + + ExecuteCreateSenderAndReceiverSequence(true, &state_callback); + + bool first_message = true; + SendAcquireNotifyAndExpectResponse(notify_callback, &sender_ptr, first_message, false); + + ExpectServerDestruction(receiver_ptr); + ExpectClientDestruction(sender_ptr); +} + +TEST_F(DatarouterMessageClientFixture, InvalidNotifyShouldNotSendAcquireResponse) +{ + RecordProperty("ASIL", "B"); + RecordProperty("Description", "Verifies that invalid NotifyCallback payloads are ignored."); + RecordProperty("TestType", "Interface test"); + RecordProperty("DerivationTechnique", "Generation and analysis of equivalence classes"); + + testing::InSequence order_matters; + + score::message_passing::ClientConnectionMock* sender_ptr{}; + score::message_passing::ServerMock* receiver_ptr{}; + score::message_passing::IClientConnection::StateCallback state_callback; + score::message_passing::IClientConnection::NotifyCallback notify_callback; + + ExpectSenderAndReceiverCreation(&receiver_ptr, + &sender_ptr, + &state_callback, + nullptr, + {}, + nullptr, + nullptr, + nullptr, + nullptr, + true, + true, + ¬ify_callback); + + ExecuteCreateSenderAndReceiverSequence(true, &state_callback); + + EXPECT_CALL(*sender_ptr, Send(Matcher>(_))).Times(0); + + const score::cpp::span empty_message{}; + notify_callback(empty_message); + + const std::array oversized_message{score::cpp::to_underlying(DatarouterMessageIdentifier::kAcquireRequest), + std::uint8_t{0U}}; + notify_callback(oversized_message); + + const std::array wrong_id_message{score::cpp::to_underlying(DatarouterMessageIdentifier::kConnect)}; + notify_callback(wrong_id_message); + + ExpectServerDestruction(receiver_ptr); + ExpectClientDestruction(sender_ptr); +} + TEST_F(DatarouterMessageClientFixture, SecondAcquireRequestShouldNotSetMwsrReader) { RecordProperty("ASIL", "B"); From 2919e363580c227bf55494cea05de59b282479fa Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Sun, 15 Feb 2026 19:23:07 +0100 Subject: [PATCH 10/26] pas/logging: Check ongoing acquire notifies Track per-session state and avoid sending additional kAcquireRequest notifications while a previous request is still outstanding. Clear stored server connection pointers on disconnect to avoid stale references. GIT_ORIGIN_SPP_REV_ID: 5cafcea87edf14043e3ebe1a85a11d90dde75e75 --- .../include/daemon/message_passing_server.h | 80 +++++------ .../src/daemon/message_passing_server.cpp | 129 ++++++++++-------- .../test_message_passing_server.cpp | 1 + 3 files changed, 111 insertions(+), 99 deletions(-) diff --git a/score/datarouter/include/daemon/message_passing_server.h b/score/datarouter/include/daemon/message_passing_server.h index 722c4a55..02f9b57e 100644 --- a/score/datarouter/include/daemon/message_passing_server.h +++ b/score/datarouter/include/daemon/message_passing_server.h @@ -86,10 +86,10 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper class ISession { public: - virtual bool Tick() = 0; - virtual void OnAcquireResponse(const score::mw::log::detail::ReadAcquireResult&) = 0; - virtual void OnClosedByPeer() = 0; - virtual bool IsSourceClosed() = 0; + virtual bool tick() = 0; + virtual void on_acquire_response(const score::mw::log::detail::ReadAcquireResult&) = 0; + virtual void on_closed_by_peer() = 0; + virtual bool is_source_closed() = 0; virtual ~ISession() = default; }; @@ -121,62 +121,62 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper const score::cpp::span message, pid_t pid); - using TimestampT = std::chrono::steady_clock::time_point; + using timestamp_t = std::chrono::steady_clock::time_point; struct SessionWrapper { - SessionWrapper(IMessagePassingServerSessionWrapper* server_instance, - pid_t process_id, - std::unique_ptr session_instance) - : server(server_instance), - pid(process_id), - session(std::move(session_instance)), - connection(nullptr), - enqueued(false), - running(false), - to_delete(false), - closed_by_peer(false), - to_force_finish(false) + SessionWrapper(IMessagePassingServerSessionWrapper* server, pid_t pid, std::unique_ptr session) + : server_(server), + pid_(pid), + session_(std::move(session)), + connection_(nullptr), + acquire_in_flight_(false), + enqueued_(false), + running_(false), + to_delete_(false), + closed_by_peer_(false), + to_force_finish_(false) { } - void EnqueueForDeleteWhileLocked(bool by_peer = false); - bool IsMarkedForDelete() const + void enqueue_for_delete_while_locked(bool by_peer = false); + bool is_marked_for_delete() { - return to_delete; + return to_delete_; } - bool GetResetClosedByPeer() + bool get_reset_closed_by_peer() { - bool by_peer = closed_by_peer; - closed_by_peer = false; + bool by_peer = closed_by_peer_; + closed_by_peer_ = false; return by_peer; } - bool TickAtWorkerThread() const; - void NotifyClosedByPeer() const; + bool tick_at_worker_thread(); + void notify_closed_by_peer(); - void SetRunningWhileLocked(); - bool ResetRunningWhileLocked(bool requeue); + void set_running_while_locked(); + bool reset_running_while_locked(bool requeue); - void EnqueueTickWhileLocked(); + void enqueue_tick_while_locked(); - inline bool GetIsSourceClosed() const + inline bool GetIsSourceClosed() { - return session->IsSourceClosed(); + return session_->is_source_closed(); } - IMessagePassingServerSessionWrapper* server; - pid_t pid; - std::unique_ptr session; + IMessagePassingServerSessionWrapper* server_; + pid_t pid_; + std::unique_ptr session_; - score::message_passing::IServerConnection* connection; + score::message_passing::IServerConnection* connection_; + bool acquire_in_flight_; - bool enqueued; - bool running; - bool to_delete; - bool closed_by_peer; - bool to_force_finish; + bool enqueued_; + bool running_; + bool to_delete_; + bool closed_by_peer_; + bool to_force_finish_; }; void FinishPreviousSessionWhileLocked(std::unordered_map::iterator it, @@ -190,7 +190,7 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper std::mutex mutex_; score::cpp::stop_source stop_source_; - TimestampT connection_timeout_; + timestamp_t connection_timeout_; score::cpp::jthread worker_thread_; std::condition_variable worker_cond_; // to wake up worker thread std::unordered_map pid_session_map_; diff --git a/score/datarouter/src/daemon/message_passing_server.cpp b/score/datarouter/src/daemon/message_passing_server.cpp index d7ffb6bb..4e1b6e85 100644 --- a/score/datarouter/src/daemon/message_passing_server.cpp +++ b/score/datarouter/src/daemon/message_passing_server.cpp @@ -19,7 +19,6 @@ #include "score/memory.hpp" #include -#include #include #include #include @@ -36,58 +35,58 @@ namespace internal using score::mw::log::detail::DatarouterMessageIdentifier; using score::mw::log::detail::MessagePassingConfig; -void MessagePassingServer::SessionWrapper::EnqueueForDeleteWhileLocked(bool by_peer) +void MessagePassingServer::SessionWrapper::enqueue_for_delete_while_locked(bool by_peer) { - to_delete = true; - closed_by_peer = by_peer; + to_delete_ = true; + closed_by_peer_ = by_peer; // in order not to mess with the logic of the queue, we don't enqueue currently running tick. Instead, we mark it // to be deleted (or re-enqueued for post-mortem processing, if closed by peer) at the end of the tick processing - if (!running && !enqueued) + if (!running_ && !enqueued_) { - server->EnqueueTickWhileLocked(pid); - enqueued = true; + server_->EnqueueTickWhileLocked(pid_); + enqueued_ = true; } } -bool MessagePassingServer::SessionWrapper::TickAtWorkerThread() const +bool MessagePassingServer::SessionWrapper::tick_at_worker_thread() { - bool requeue = session->Tick(); + bool requeue = session_->tick(); return requeue; } -void MessagePassingServer::SessionWrapper::NotifyClosedByPeer() const +void MessagePassingServer::SessionWrapper::notify_closed_by_peer() { - session->OnClosedByPeer(); + session_->on_closed_by_peer(); } -void MessagePassingServer::SessionWrapper::SetRunningWhileLocked() +void MessagePassingServer::SessionWrapper::set_running_while_locked() { - enqueued = false; - running = true; + enqueued_ = false; + running_ = true; } -bool MessagePassingServer::SessionWrapper::ResetRunningWhileLocked(bool requeue) +bool MessagePassingServer::SessionWrapper::reset_running_while_locked(bool requeue) { - running = false; + running_ = false; // check if we need to re-enqueue the tick after running again. It may happen because: // 1. not all the work in tick was done (returned early to avoid congestion); // 2. the tick was marked for delete as "closed by peer" when running, but we don't expedite its finishing. - if (requeue || closed_by_peer) + if (requeue || closed_by_peer_) { - enqueued = true; + enqueued_ = true; } - return enqueued; + return enqueued_; } -void MessagePassingServer::SessionWrapper::EnqueueTickWhileLocked() +void MessagePassingServer::SessionWrapper::enqueue_tick_while_locked() { - if (!enqueued && !to_delete) + if (!enqueued_ && !to_delete_) { - if (!running) + if (!running_) { - server->EnqueueTickWhileLocked(pid); + server_->EnqueueTickWhileLocked(pid_); } - enqueued = true; + enqueued_ = true; } } /* @@ -125,17 +124,17 @@ MessagePassingServer::MessagePassingServer(MessagePassingServer::SessionFactory std::cerr << "setname_np: " << ret_pthread.error() << std::endl; } - constexpr score::message_passing::ServiceProtocolConfig kServiceProtocolConfig{ + constexpr score::message_passing::ServiceProtocolConfig service_protocol_config{ MessagePassingConfig::kDatarouterReceiverIdentifier, MessagePassingConfig::kMaxMessageSize, MessagePassingConfig::kMaxReplySize, MessagePassingConfig::kMaxNotifySize}; - constexpr score::message_passing::IServerFactory::ServerConfig kServerConfig{ + constexpr score::message_passing::IServerFactory::ServerConfig server_config{ MessagePassingConfig::kMaxReceiverQueueSize, MessagePassingConfig::kPreAllocConnections, MessagePassingConfig::kMaxQueuedNotifies}; - receiver_ = server_factory_->Create(kServiceProtocolConfig, kServerConfig); + receiver_ = server_factory_->Create(service_protocol_config, server_config); auto connect_callback = [](score::message_passing::IServerConnection& connection) noexcept -> std::uintptr_t { const pid_t client_pid = connection.GetClientIdentity().pid; @@ -148,8 +147,9 @@ MessagePassingServer::MessagePassingServer(MessagePassingServer::SessionFactory if (found != pid_session_map_ptr->end()) { SessionWrapper& wrapper = found->second; - wrapper.to_force_finish = true; - found->second.EnqueueForDeleteWhileLocked(true); + wrapper.connection_ = nullptr; + wrapper.to_force_finish_ = true; + found->second.enqueue_for_delete_while_locked(true); } }; auto received_send_message_callback = [this_ptr = this]( @@ -213,8 +213,8 @@ MessagePassingServer::~MessagePassingServer() noexcept void MessagePassingServer::RunWorkerThread() { - constexpr std::int32_t kTimeoutInMs = 100; - TimestampT t1 = TimestampT::clock::now() + std::chrono::milliseconds(kTimeoutInMs); + constexpr std::int32_t TIMEOUT_IN_MS = 100; + timestamp_t t1 = timestamp_t::clock::now() + std::chrono::milliseconds(TIMEOUT_IN_MS); std::unique_lock lock(mutex_); while (!workers_exit_) @@ -224,15 +224,15 @@ void MessagePassingServer::RunWorkerThread() }); if (!workers_exit_) { - TimestampT now = TimestampT::clock::now(); - if (connection_timeout_ != TimestampT{} && now >= connection_timeout_) + timestamp_t now = timestamp_t::clock::now(); + if (connection_timeout_ != timestamp_t{} && now >= connection_timeout_) { - connection_timeout_ = TimestampT{}; + connection_timeout_ = timestamp_t{}; stop_source_.request_stop(); } if (now >= t1) { - t1 = now + std::chrono::milliseconds(kTimeoutInMs); + t1 = now + std::chrono::milliseconds(TIMEOUT_IN_MS); for (auto& ps : pid_session_map_) { if (ps.second.GetIsSourceClosed()) @@ -241,12 +241,12 @@ void MessagePassingServer::RunWorkerThread() this is private functions so it cannot be test. */ // LCOV_EXCL_START - ps.second.EnqueueForDeleteWhileLocked(true); + ps.second.enqueue_for_delete_while_locked(true); // LCOV_EXCL_STOP } else { - ps.second.EnqueueTickWhileLocked(); + ps.second.enqueue_tick_while_locked(); } } } @@ -257,16 +257,16 @@ void MessagePassingServer::RunWorkerThread() pid_t pid = work_queue_.front(); work_queue_.pop(); SessionWrapper& wrapper = pid_session_map_.at(pid); - wrapper.SetRunningWhileLocked(); - bool closed_by_peer = wrapper.GetResetClosedByPeer(); + wrapper.set_running_while_locked(); + bool closed_by_peer = wrapper.get_reset_closed_by_peer(); lock.unlock(); if (closed_by_peer) { - wrapper.NotifyClosedByPeer(); + wrapper.notify_closed_by_peer(); } - bool requeue = wrapper.TickAtWorkerThread(); + bool requeue = wrapper.tick_at_worker_thread(); lock.lock(); - if (wrapper.to_force_finish) + if (wrapper.to_force_finish_) { if (!closed_by_peer) { @@ -276,7 +276,7 @@ void MessagePassingServer::RunWorkerThread() this is private functions so it cannot be test. */ // LCOV_EXCL_START - wrapper.NotifyClosedByPeer(); + wrapper.notify_closed_by_peer(); requeue = true; // LCOV_EXCL_STOP } @@ -288,7 +288,7 @@ void MessagePassingServer::RunWorkerThread() lock.unlock(); do { - requeue = wrapper.TickAtWorkerThread(); + requeue = wrapper.tick_at_worker_thread(); } while (requeue); lock.lock(); // LCOV_EXCL_STOP @@ -303,13 +303,13 @@ void MessagePassingServer::RunWorkerThread() node = {}; lock.lock(); } - else if (wrapper.ResetRunningWhileLocked(requeue)) + else if (wrapper.reset_running_while_locked(requeue)) { // LCOV_EXCL_START: see above EnqueueTickWhileLocked(pid); // LCOV_EXCL_STOP } - else if (wrapper.IsMarkedForDelete()) + else if (wrapper.is_marked_for_delete()) { // Extract the session wrapper to destroy it outside the mutex lock auto node = pid_session_map_.extract(pid); @@ -338,10 +338,10 @@ void MessagePassingServer::FinishPreviousSessionWhileLocked( { const pid_t pid = it->first; SessionWrapper& wrapper = it->second; - wrapper.to_force_finish = true; - wrapper.EnqueueForDeleteWhileLocked(true); + wrapper.to_force_finish_ = true; + wrapper.enqueue_for_delete_while_locked(true); // if enqueued_ (i.e. not running) expedite the workload toward the front of the queue - if (wrapper.enqueued) + if (wrapper.enqueued_) { pid_t front_pid = work_queue_.front(); while (front_pid != pid) @@ -368,7 +368,7 @@ void MessagePassingServer::MessageCallback(score::message_passing::IServerConnec score::cpp::span message) { const pid_t pid = connection.GetClientIdentity().pid; - if (message.empty()) + if (message.size() < 1) { std::cerr << "MessagePassingServer: Empty message received from " << pid; return; @@ -419,6 +419,7 @@ void MessagePassingServer::OnConnectRequest(score::message_passing::IServerConne auto appid_sv = conn.GetAppId().GetStringView(); std::string appid{appid_sv.data(), appid_sv.size()}; + // check for timeout or exit request if (stop_source_.stop_requested()) { @@ -455,9 +456,9 @@ void MessagePassingServer::OnConnectRequest(score::message_passing::IServerConne { std::unique_lock lock(mutex_); auto emplace_result = pid_session_map_.emplace(pid, SessionWrapper{this, pid, std::move(session)}); - emplace_result.first->second.connection = &connection; + emplace_result.first->second.connection_ = &connection; // enqueue the tick to speed up processing connection - emplace_result.first->second.EnqueueTickWhileLocked(); + emplace_result.first->second.enqueue_tick_while_locked(); } } @@ -471,7 +472,7 @@ void MessagePassingServer::OnAcquireResponse(score::message_passing::IServerConn { auto& [key, session] = *found; std::ignore = key; - if (session.connection != &connection) + if (session.connection_ != &connection) { return; } @@ -487,9 +488,10 @@ void MessagePassingServer::OnAcquireResponse(score::message_passing::IServerConn // coverity[autosar_cpp14_m5_2_8_violation] score::cpp::span acq_span{static_cast(static_cast(&acq)), sizeof(acq)}; std::ignore = std::copy(message.begin(), message.end(), acq_span.begin()); - session.session->OnAcquireResponse(acq); + session.session_->on_acquire_response(acq); + session.acquire_in_flight_ = false; // enqueue the tick to speed up processing acquire response - session.EnqueueTickWhileLocked(); + session.enqueue_tick_while_locked(); } } @@ -502,16 +504,25 @@ bool MessagePassingServer::NotifyAcquireRequestWhileLocked(const pid_t pid) } auto& wrapper = found->second; - if (wrapper.connection == nullptr) + if (wrapper.connection_ == nullptr) { return false; } + if (wrapper.acquire_in_flight_) + { + return true; + } + constexpr std::array message{score::cpp::to_underlying(DatarouterMessageIdentifier::kAcquireRequest)}; - auto ret = wrapper.connection->Notify(message); + auto ret = wrapper.connection_->Notify(message); if (!ret) { - wrapper.EnqueueForDeleteWhileLocked(true); + wrapper.enqueue_for_delete_while_locked(true); + } + else + { + wrapper.acquire_in_flight_ = true; } return true; } @@ -536,7 +547,7 @@ void MessagePassingServer::NotifyAcquireRequestFailed(std::int32_t pid) return; // LCOV_EXCL_STOP } - found->second.EnqueueForDeleteWhileLocked(true); + found->second.enqueue_for_delete_while_locked(true); } bool MessagePassingServer::SessionHandle::AcquireRequest() const diff --git a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp index 5e228581..89ee9fc5 100644 --- a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp +++ b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp @@ -428,6 +428,7 @@ TEST_F(MessagePassingServerFixture, TestOneConnectAcquireRelease) ::testing::Sequence seq; ExpectAcquireNotifyInSequence(DatarouterMessageIdentifier::kAcquireRequest, seq, connection_ptr); + session_map.at(kClienT0Pid).handle->AcquireRequest(); session_map.at(kClienT0Pid).handle->AcquireRequest(); EXPECT_EQ(acquire_response_count, 0); From 2f995351cd1a93a48a9751ed2bb191e2eb9e82d4 Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Sun, 15 Feb 2026 19:25:56 +0100 Subject: [PATCH 11/26] pas/logging: Add acquire watchdog teardown Track per-session acquire deadlines and miss counts and tear down sessions that do not reply with kAcquireResponse within the configured deadline for N consecutive misses. The watchdog runs off the existing mp_worker periodic tick to avoid per-session OS timers. GIT_ORIGIN_SPP_REV_ID: 84bb226ff8e017049e94740294234de06310a7f6 --- .../include/daemon/message_passing_server.h | 34 ++++++++---- .../src/daemon/message_passing_server.cpp | 22 +++++++- .../test_message_passing_server.cpp | 55 +++++++++++++++++-- .../data_router_message_client_test.cpp | 8 ++- 4 files changed, 100 insertions(+), 19 deletions(-) diff --git a/score/datarouter/include/daemon/message_passing_server.h b/score/datarouter/include/daemon/message_passing_server.h index 02f9b57e..b4ebacd5 100644 --- a/score/datarouter/include/daemon/message_passing_server.h +++ b/score/datarouter/include/daemon/message_passing_server.h @@ -28,6 +28,7 @@ #include "score/concurrency/interruptible_wait.h" #include +#include #include #include #include @@ -68,14 +69,22 @@ class IMessagePassingServerSessionWrapper class MessagePassingServer : public IMessagePassingServerSessionWrapper { public: - class SessionHandle : public daemon::ISessionHandle + struct AcquireWatchdogConfig { - public: - SessionHandle(pid_t pid, MessagePassingServer* server) - : daemon::ISessionHandle(), pid_(pid), server_(server) + AcquireWatchdogConfig(std::chrono::milliseconds deadline_in = std::chrono::milliseconds{1000}, + std::uint32_t max_misses_in = 3U) + : deadline(deadline_in), max_misses(max_misses_in) { } + std::chrono::milliseconds deadline; + std::uint32_t max_misses; + }; + class SessionHandle : public daemon::ISessionHandle + { + public: + SessionHandle(pid_t pid, MessagePassingServer* server) : daemon::ISessionHandle(), pid_(pid), server_(server) {} + bool AcquireRequest() const override; private: @@ -100,7 +109,8 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper explicit MessagePassingServer(SessionFactory factory, std::shared_ptr server_factory = nullptr, - std::shared_ptr client_factory = nullptr); + std::shared_ptr client_factory = nullptr, + AcquireWatchdogConfig watchdog_config = AcquireWatchdogConfig{}); ~MessagePassingServer() noexcept; // for unit test only. to keep rest of functions in private @@ -115,11 +125,11 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper void MessageCallback(score::message_passing::IServerConnection& connection, score::cpp::span message); void OnConnectRequest(score::message_passing::IServerConnection& connection, - const score::cpp::span message, - pid_t pid); + const score::cpp::span message, + pid_t pid); void OnAcquireResponse(score::message_passing::IServerConnection& connection, - const score::cpp::span message, - pid_t pid); + const score::cpp::span message, + pid_t pid); using timestamp_t = std::chrono::steady_clock::time_point; @@ -130,7 +140,7 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper pid_(pid), session_(std::move(session)), connection_(nullptr), - acquire_in_flight_(false), + acquire_in_flight_(false), enqueued_(false), running_(false), to_delete_(false), @@ -171,6 +181,8 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper score::message_passing::IServerConnection* connection_; bool acquire_in_flight_; + timestamp_t acquire_deadline_; + std::uint32_t acquire_miss_count_{0U}; bool enqueued_; bool running_; @@ -201,6 +213,8 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper std::shared_ptr server_factory_; std::shared_ptr client_factory_; + + AcquireWatchdogConfig watchdog_config_; }; } // namespace internal diff --git a/score/datarouter/src/daemon/message_passing_server.cpp b/score/datarouter/src/daemon/message_passing_server.cpp index 4e1b6e85..5f081ad7 100644 --- a/score/datarouter/src/daemon/message_passing_server.cpp +++ b/score/datarouter/src/daemon/message_passing_server.cpp @@ -99,7 +99,8 @@ void MessagePassingServer::SessionWrapper::enqueue_tick_while_locked() // coverity[autosar_cpp14_a3_1_1_violation] MessagePassingServer::MessagePassingServer(MessagePassingServer::SessionFactory factory, std::shared_ptr server_factory, - std::shared_ptr client_factory) + std::shared_ptr client_factory, + AcquireWatchdogConfig watchdog_config) : IMessagePassingServerSessionWrapper(), factory_{std::move(factory)}, mutex_{}, @@ -112,7 +113,8 @@ MessagePassingServer::MessagePassingServer(MessagePassingServer::SessionFactory server_cond_{}, session_finishing_{false}, server_factory_{server_factory}, - client_factory_{client_factory} + client_factory_{client_factory}, + watchdog_config_{watchdog_config} { worker_thread_ = score::cpp::jthread([this]() { RunWorkerThread(); @@ -246,6 +248,19 @@ void MessagePassingServer::RunWorkerThread() } else { + auto& wrapper = ps.second; + if (wrapper.acquire_in_flight_ && (wrapper.acquire_deadline_ != timestamp_t{}) && + (now >= wrapper.acquire_deadline_)) + { + wrapper.acquire_in_flight_ = false; + ++wrapper.acquire_miss_count_; + wrapper.acquire_deadline_ = timestamp_t{}; + if (wrapper.acquire_miss_count_ >= watchdog_config_.max_misses) + { + wrapper.enqueue_for_delete_while_locked(true); + continue; + } + } ps.second.enqueue_tick_while_locked(); } } @@ -490,6 +505,8 @@ void MessagePassingServer::OnAcquireResponse(score::message_passing::IServerConn std::ignore = std::copy(message.begin(), message.end(), acq_span.begin()); session.session_->on_acquire_response(acq); session.acquire_in_flight_ = false; + session.acquire_deadline_ = timestamp_t{}; + session.acquire_miss_count_ = 0U; // enqueue the tick to speed up processing acquire response session.enqueue_tick_while_locked(); } @@ -523,6 +540,7 @@ bool MessagePassingServer::NotifyAcquireRequestWhileLocked(const pid_t pid) else { wrapper.acquire_in_flight_ = true; + wrapper.acquire_deadline_ = timestamp_t::clock::now() + watchdog_config_.deadline; } return true; } diff --git a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp index 89ee9fc5..741a5dfc 100644 --- a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp +++ b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp @@ -163,10 +163,10 @@ class MessagePassingServerFixture : public ::testing::Test score::cpp::pmr::get_default_resource()); server_mock = server_ptr.get(); - EXPECT_CALL( - *server_factory_mock, - Create(CompareServiceProtocol(ServiceProtocolConfig{"/logging.datarouter_recv", kMaxSendBytes, 0U, kMaxNotifyBytes}), - CompareServerConfig(server_config))) + EXPECT_CALL(*server_factory_mock, + Create(CompareServiceProtocol( + ServiceProtocolConfig{"/logging.datarouter_recv", kMaxSendBytes, 0U, kMaxNotifyBytes}), + CompareServerConfig(server_config))) .WillOnce(Return(ByMove(std::move(server_ptr)))); } @@ -254,6 +254,28 @@ class MessagePassingServerFixture : public ::testing::Test server.emplace(factory, server_factory_mock, client_factory_mock); } + void InstantiateServerWithWatchdog(MessagePassingServer::SessionFactory factory, + MessagePassingServer::AcquireWatchdogConfig watchdog_config) + { + EXPECT_CALL(*server_mock, + StartListening(Matcher(_), + Matcher(_), + Matcher(_), + Matcher(_))) + .WillOnce([this](score::message_passing::ConnectCallback con_callback, + score::message_passing::DisconnectCallback discon_callback, + score::message_passing::MessageCallback sn_callback, + score::message_passing::MessageCallback sn_rep_callback) { + this->connect_callback = std::move(con_callback); + this->disconnect_callback = std::move(discon_callback); + this->sent_callback = std::move(sn_callback); + this->sent_with_reply_callback = std::move(sn_rep_callback); + return score::cpp::expected_blank{}; + }); + + server.emplace(factory, server_factory_mock, client_factory_mock, watchdog_config); + } + auto CreateConnectMessageSample(const pid_t) { score::mw::log::detail::ConnectMessageFromClient msg; @@ -644,6 +666,31 @@ TEST_F(MessagePassingServerFixture, TestSamePidWhileQueued) EXPECT_EQ(destruct_count, 4); } +TEST_F(MessagePassingServerFixture, WatchdogShouldTearDownUnresponsiveClient) +{ + ExpectOurPidIsQueried(); + + MessagePassingServer::AcquireWatchdogConfig watchdog_config; + watchdog_config.deadline = std::chrono::milliseconds{0}; + watchdog_config.max_misses = 1U; + InstantiateServerWithWatchdog(GetCountingSessionFactory(), watchdog_config); + + auto* connection_ptr = ConnectClientAndSendConnectMessage(kClienT0Pid); + ::testing::Sequence seq; + ExpectAcquireNotifyInSequence(DatarouterMessageIdentifier::kAcquireRequest, seq, connection_ptr); + session_map.at(kClienT0Pid).handle->AcquireRequest(); + + { + std::unique_lock lock(map_mutex); + map_cond.wait(lock, [this]() { + return session_map.empty(); + }); + } + + ExpectServerDestruction(); + UninstantiateServer(); +} + TEST(MessagePassingServerTests, sessionWrapperCreateTest) { InSequence s; diff --git a/score/mw/log/detail/data_router/data_router_message_client_test.cpp b/score/mw/log/detail/data_router/data_router_message_client_test.cpp index 47a81959..81585940 100644 --- a/score/mw/log/detail/data_router/data_router_message_client_test.cpp +++ b/score/mw/log/detail/data_router/data_router_message_client_test.cpp @@ -725,7 +725,9 @@ TEST_F(DatarouterMessageClientFixture, AcquireRequestShouldSendExpectedAcquireRe TEST_F(DatarouterMessageClientFixture, AcquireNotifyShouldSendExpectedAcquireResponse) { RecordProperty("ASIL", "B"); - RecordProperty("Description", "Verifies that an acquire request delivered via NotifyCallback sends the expected acquire response."); + RecordProperty( + "Description", + "Verifies that an acquire request delivered via NotifyCallback sends the expected acquire response."); RecordProperty("TestType", "Interface test"); RecordProperty("DerivationTechnique", "Generation and analysis of equivalence classes"); @@ -796,8 +798,8 @@ TEST_F(DatarouterMessageClientFixture, InvalidNotifyShouldNotSendAcquireResponse const score::cpp::span empty_message{}; notify_callback(empty_message); - const std::array oversized_message{score::cpp::to_underlying(DatarouterMessageIdentifier::kAcquireRequest), - std::uint8_t{0U}}; + const std::array oversized_message{ + score::cpp::to_underlying(DatarouterMessageIdentifier::kAcquireRequest), std::uint8_t{0U}}; notify_callback(oversized_message); const std::array wrong_id_message{score::cpp::to_underlying(DatarouterMessageIdentifier::kConnect)}; From db507e2dc6cd75525978b9839c256e5584f6725b Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Sun, 15 Feb 2026 19:28:11 +0100 Subject: [PATCH 12/26] pas/logging: Drop unused client factory - Remove the unused per-client IClientFactory dependency from the message passing server. - NotifyAcquireRequestFailed() is no longer used after the Notify based acquire refactoring. GIT_ORIGIN_SPP_REV_ID: 48aeeefb01510f1d9599c339796e11a13a422e30 --- .../include/daemon/message_passing_server.h | 10 +++------- .../src/daemon/message_passing_server.cpp | 19 ------------------- score/datarouter/src/daemon/socketserver.cpp | 4 +--- .../test_message_passing_server.cpp | 9 +++------ 4 files changed, 7 insertions(+), 35 deletions(-) diff --git a/score/datarouter/include/daemon/message_passing_server.h b/score/datarouter/include/daemon/message_passing_server.h index b4ebacd5..a012bdc3 100644 --- a/score/datarouter/include/daemon/message_passing_server.h +++ b/score/datarouter/include/daemon/message_passing_server.h @@ -18,7 +18,6 @@ #include "score/mw/log/detail/data_router/shared_memory/common.h" -#include "score/message_passing/i_client_factory.h" #include "score/message_passing/i_server_connection.h" #include "score/message_passing/i_server_factory.h" #include "score/mw/log/detail/logging_identifier.h" @@ -107,10 +106,9 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper const score::mw::log::detail::ConnectMessageFromClient&, score::cpp::pmr::unique_ptr)>; - explicit MessagePassingServer(SessionFactory factory, - std::shared_ptr server_factory = nullptr, - std::shared_ptr client_factory = nullptr, - AcquireWatchdogConfig watchdog_config = AcquireWatchdogConfig{}); + MessagePassingServer(SessionFactory factory, + std::shared_ptr server_factory = nullptr, + AcquireWatchdogConfig watchdog_config = AcquireWatchdogConfig{}); ~MessagePassingServer() noexcept; // for unit test only. to keep rest of functions in private @@ -121,7 +119,6 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper bool NotifyAcquireRequest(pid_t pid); bool NotifyAcquireRequestWhileLocked(pid_t pid); - void NotifyAcquireRequestFailed(std::int32_t pid); void MessageCallback(score::message_passing::IServerConnection& connection, score::cpp::span message); void OnConnectRequest(score::message_passing::IServerConnection& connection, @@ -212,7 +209,6 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper bool session_finishing_; std::shared_ptr server_factory_; - std::shared_ptr client_factory_; AcquireWatchdogConfig watchdog_config_; }; diff --git a/score/datarouter/src/daemon/message_passing_server.cpp b/score/datarouter/src/daemon/message_passing_server.cpp index 5f081ad7..8a12b0d3 100644 --- a/score/datarouter/src/daemon/message_passing_server.cpp +++ b/score/datarouter/src/daemon/message_passing_server.cpp @@ -99,7 +99,6 @@ void MessagePassingServer::SessionWrapper::enqueue_tick_while_locked() // coverity[autosar_cpp14_a3_1_1_violation] MessagePassingServer::MessagePassingServer(MessagePassingServer::SessionFactory factory, std::shared_ptr server_factory, - std::shared_ptr client_factory, AcquireWatchdogConfig watchdog_config) : IMessagePassingServerSessionWrapper(), factory_{std::move(factory)}, @@ -113,7 +112,6 @@ MessagePassingServer::MessagePassingServer(MessagePassingServer::SessionFactory server_cond_{}, session_finishing_{false}, server_factory_{server_factory}, - client_factory_{client_factory}, watchdog_config_{watchdog_config} { worker_thread_ = score::cpp::jthread([this]() { @@ -551,23 +549,6 @@ bool MessagePassingServer::NotifyAcquireRequest(const pid_t pid) return NotifyAcquireRequestWhileLocked(pid); } -void MessagePassingServer::NotifyAcquireRequestFailed(std::int32_t pid) -{ - std::lock_guard lock(mutex_); - const auto found = pid_session_map_.find(pid); - if (found == pid_session_map_.end()) - { - /* - Code will be hit only in case of pid changed, - but since this is private functions so it cannot be test. - */ - // LCOV_EXCL_START - return; - // LCOV_EXCL_STOP - } - found->second.enqueue_for_delete_while_locked(true); -} - bool MessagePassingServer::SessionHandle::AcquireRequest() const { if (server_ == nullptr) diff --git a/score/datarouter/src/daemon/socketserver.cpp b/score/datarouter/src/daemon/socketserver.cpp index 8d73e3c5..ddcba930 100644 --- a/score/datarouter/src/daemon/socketserver.cpp +++ b/score/datarouter/src/daemon/socketserver.cpp @@ -385,8 +385,6 @@ void SocketServer::DoWork(const std::atomic_bool& exit_requested, const bool no_ }; std::shared_ptr server_factory = std::make_shared(); - std::shared_ptr client_factory = - std::make_shared(/*server_factory_->GetEngine() Ticket-234313*/); /* Deviation from Rule A5-1-4: @@ -395,7 +393,7 @@ void SocketServer::DoWork(const std::atomic_bool& exit_requested, const bool no_ - mp_server does not exist inside any lambda. */ // coverity[autosar_cpp14_a5_1_4_violation: FALSE] - MessagePassingServer mp_server(mp_factory, std::move(server_factory), std::move(client_factory)); + MessagePassingServer mp_server(mp_factory, std::move(server_factory)); // Run main event loop RunEventLoop(exit_requested, router, *dlt_server, stats_logger); diff --git a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp index 741a5dfc..b55166f4 100644 --- a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp +++ b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp @@ -14,7 +14,6 @@ #include "score/datarouter/include/daemon/message_passing_server.h" #include "score/message_passing/mock/client_connection_mock.h" -#include "score/message_passing/mock/client_factory_mock.h" #include "score/message_passing/mock/server_connection_mock.h" #include "score/message_passing/mock/server_factory_mock.h" #include "score/message_passing/mock/server_mock.h" @@ -155,7 +154,6 @@ class MessagePassingServerFixture : public ::testing::Test void SetUp() override { server_factory_mock = std::make_shared>(); - client_factory_mock = std::make_shared>(); const score::message_passing::IServerFactory::ServerConfig server_config{gKReceiverQueueMaxSize, 0U, 1U}; @@ -251,7 +249,7 @@ class MessagePassingServerFixture : public ::testing::Test }); // instantiate MessagePassingServer - server.emplace(factory, server_factory_mock, client_factory_mock); + server.emplace(factory, server_factory_mock); } void InstantiateServerWithWatchdog(MessagePassingServer::SessionFactory factory, @@ -273,7 +271,7 @@ class MessagePassingServerFixture : public ::testing::Test return score::cpp::expected_blank{}; }); - server.emplace(factory, server_factory_mock, client_factory_mock, watchdog_config); + server.emplace(factory, server_factory_mock, watchdog_config); } auto CreateConnectMessageSample(const pid_t) @@ -341,7 +339,6 @@ class MessagePassingServerFixture : public ::testing::Test } StrictMock<::score::message_passing::ServerMock>* server_mock{}; - std::shared_ptr> client_factory_mock; std::shared_ptr> server_factory_mock; ::score::os::MockGuard unistd_mock{}; @@ -412,7 +409,7 @@ TEST_F(MessagePassingServerFixture, TestFailedStartListening) return score::cpp::expected_blank{}; }); // instantiate MessagePassingServer - server.emplace(factory, server_factory_mock, client_factory_mock); + server.emplace(factory, server_factory_mock); ExpectServerDestruction(); UninstantiateServer(); From d2165896d696fb0ea2ade9d1efef5a16883f7351 Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Sun, 15 Feb 2026 19:52:00 +0100 Subject: [PATCH 13/26] pas/logging: Close early-disconnect connect race - If a client disconnects while OnConnectRequest is creating a session outside mutex_, disconnect_callback previously could not clear connection_ because the PID was not yet in pid_session_map_. - This could lead to storing &connection after the framework already tore the connection down. - Track early disconnects per PID and refuse to store a connection pointer when a disconnect was observed. GIT_ORIGIN_SPP_REV_ID: 879672cc335db046848fe15571a0672c1616ee0a --- .../include/daemon/message_passing_server.h | 5 +++ .../src/daemon/message_passing_server.cpp | 34 +++++++++++++++---- 2 files changed, 33 insertions(+), 6 deletions(-) diff --git a/score/datarouter/include/daemon/message_passing_server.h b/score/datarouter/include/daemon/message_passing_server.h index a012bdc3..6c041c9c 100644 --- a/score/datarouter/include/daemon/message_passing_server.h +++ b/score/datarouter/include/daemon/message_passing_server.h @@ -35,6 +35,7 @@ #include #include #include +#include namespace score { @@ -203,6 +204,10 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper score::cpp::jthread worker_thread_; std::condition_variable worker_cond_; // to wake up worker thread std::unordered_map pid_session_map_; + // Tracks client PIDs that disconnected before a session could be created/emplaced. + // This closes a race where OnConnectRequest creates a session outside mutex_ while + // disconnect_callback may already have run and the connection object may be gone. + std::unordered_set disconnected_pids_; std::queue work_queue_; std::atomic workers_exit_; std::condition_variable server_cond_; // to wake up server thread diff --git a/score/datarouter/src/daemon/message_passing_server.cpp b/score/datarouter/src/daemon/message_passing_server.cpp index 8a12b0d3..f1b8089a 100644 --- a/score/datarouter/src/daemon/message_passing_server.cpp +++ b/score/datarouter/src/daemon/message_passing_server.cpp @@ -136,15 +136,22 @@ MessagePassingServer::MessagePassingServer(MessagePassingServer::SessionFactory MessagePassingConfig::kMaxQueuedNotifies}; receiver_ = server_factory_->Create(service_protocol_config, server_config); - auto connect_callback = [](score::message_passing::IServerConnection& connection) noexcept -> std::uintptr_t { + auto connect_callback = [this_ptr = this](score::message_passing::IServerConnection& connection) noexcept + -> std::uintptr_t { const pid_t client_pid = connection.GetClientIdentity().pid; + { + std::lock_guard lock(this_ptr->mutex_); + this_ptr->disconnected_pids_.erase(client_pid); + } return static_cast(client_pid); }; - auto disconnect_callback = [mutex_ptr = &mutex_, pid_session_map_ptr = &pid_session_map_]( - score::message_passing::IServerConnection& connection) noexcept { - std::unique_lock lock(*mutex_ptr); - const auto found = pid_session_map_ptr->find(connection.GetClientIdentity().pid); - if (found != pid_session_map_ptr->end()) + auto disconnect_callback = [this_ptr = this](score::message_passing::IServerConnection& connection) noexcept { + const pid_t client_pid = connection.GetClientIdentity().pid; + std::unique_lock lock(this_ptr->mutex_); + this_ptr->disconnected_pids_.insert(client_pid); + + const auto found = this_ptr->pid_session_map_.find(client_pid); + if (found != this_ptr->pid_session_map_.end()) { SessionWrapper& wrapper = found->second; wrapper.connection_ = nullptr; @@ -468,7 +475,22 @@ void MessagePassingServer::OnConnectRequest(score::message_passing::IServerConne if (session) { std::unique_lock lock(mutex_); + if (disconnected_pids_.find(pid) != disconnected_pids_.end()) + { + // Client disconnected before we could create/emplace the session. + // Do not store &connection (may be already destroyed by the framework). + return; + } + auto emplace_result = pid_session_map_.emplace(pid, SessionWrapper{this, pid, std::move(session)}); + if (!emplace_result.second) + { + // Existing session for this PID is still present; do not overwrite it. + // The reconnect path is handled by disconnect_callback + worker-thread teardown. + return; + } + + // connection_ points to framework-owned object. It is cleared in disconnect_callback. emplace_result.first->second.connection_ = &connection; // enqueue the tick to speed up processing connection emplace_result.first->second.enqueue_tick_while_locked(); From 76d1c56094dfef725634b0779092e781e0fef0bd Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Sun, 15 Feb 2026 19:53:18 +0100 Subject: [PATCH 14/26] logging: Use optional acquire watchdog deadline Avoid relying on implementation-defined steady_clock epochs and make the deadline not set state explicit. GIT_ORIGIN_SPP_REV_ID: 5f3da32556784c74bde3d52de069446907633c3d --- score/datarouter/include/daemon/message_passing_server.h | 2 +- score/datarouter/src/daemon/message_passing_server.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/score/datarouter/include/daemon/message_passing_server.h b/score/datarouter/include/daemon/message_passing_server.h index 6c041c9c..6f3a4b33 100644 --- a/score/datarouter/include/daemon/message_passing_server.h +++ b/score/datarouter/include/daemon/message_passing_server.h @@ -179,7 +179,7 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper score::message_passing::IServerConnection* connection_; bool acquire_in_flight_; - timestamp_t acquire_deadline_; + std::optional acquire_deadline_; std::uint32_t acquire_miss_count_{0U}; bool enqueued_; diff --git a/score/datarouter/src/daemon/message_passing_server.cpp b/score/datarouter/src/daemon/message_passing_server.cpp index f1b8089a..caabccab 100644 --- a/score/datarouter/src/daemon/message_passing_server.cpp +++ b/score/datarouter/src/daemon/message_passing_server.cpp @@ -254,12 +254,12 @@ void MessagePassingServer::RunWorkerThread() else { auto& wrapper = ps.second; - if (wrapper.acquire_in_flight_ && (wrapper.acquire_deadline_ != timestamp_t{}) && - (now >= wrapper.acquire_deadline_)) + if (wrapper.acquire_in_flight_ && wrapper.acquire_deadline_.has_value() && + (now >= *wrapper.acquire_deadline_)) { wrapper.acquire_in_flight_ = false; ++wrapper.acquire_miss_count_; - wrapper.acquire_deadline_ = timestamp_t{}; + wrapper.acquire_deadline_.reset(); if (wrapper.acquire_miss_count_ >= watchdog_config_.max_misses) { wrapper.enqueue_for_delete_while_locked(true); @@ -525,7 +525,7 @@ void MessagePassingServer::OnAcquireResponse(score::message_passing::IServerConn std::ignore = std::copy(message.begin(), message.end(), acq_span.begin()); session.session_->on_acquire_response(acq); session.acquire_in_flight_ = false; - session.acquire_deadline_ = timestamp_t{}; + session.acquire_deadline_.reset(); session.acquire_miss_count_ = 0U; // enqueue the tick to speed up processing acquire response session.enqueue_tick_while_locked(); From 523ed113d620cb156a881534d0e9b7b9e8a26be9 Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Sun, 15 Feb 2026 19:54:12 +0100 Subject: [PATCH 15/26] pas/logging: Verify watchdog miss reset Add a unit test that verifies the acquire watchdog. After an initial missed deadline, a late but valid AcquireResponse must reset the miss counter so the client is only torn down after the configured number of subsequent misses. GIT_ORIGIN_SPP_REV_ID: 4667d0ea0811633d2fe10b57e1293aa0810be185 --- .../test_message_passing_server.cpp | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp index b55166f4..ed07c804 100644 --- a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp +++ b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp @@ -688,6 +688,52 @@ TEST_F(MessagePassingServerFixture, WatchdogShouldTearDownUnresponsiveClient) UninstantiateServer(); } +TEST_F(MessagePassingServerFixture, WatchdogMissCountShouldResetOnValidResponse) +{ + ExpectOurPidIsQueried(); + + MessagePassingServer::AcquireWatchdogConfig watchdog_config; + watchdog_config.deadline = std::chrono::milliseconds{0}; + watchdog_config.max_misses = 2U; + InstantiateServerWithWatchdog(GetCountingSessionFactory(), watchdog_config); + + auto* connection_ptr = ConnectClientAndSendConnectMessage(kClienT0Pid); + + ::testing::Sequence seq; + ExpectAcquireNotifyInSequence(DatarouterMessageIdentifier::kAcquireRequest, seq, connection_ptr); + ExpectAcquireNotifyInSequence(DatarouterMessageIdentifier::kAcquireRequest, seq, connection_ptr); + ExpectAcquireNotifyInSequence(DatarouterMessageIdentifier::kAcquireRequest, seq, connection_ptr); + + // 1) First acquire request is missed by the client -> miss_count becomes 1. + session_map.at(kClienT0Pid).handle->AcquireRequest(); + using namespace std::chrono_literals; + std::this_thread::sleep_for(150ms); + + // 2) Late valid response arrives -> miss_count should reset to 0. + score::mw::log::detail::ReadAcquireResult acquire_result{0U}; + std::array response{}; + response[0] = score::cpp::to_underlying(DatarouterMessageIdentifier::kAcquireResponse); + std::memcpy(&response[1], &acquire_result, sizeof(acquire_result)); + sent_callback(*connection_ptr, response); + + // 3) One more missed acquire should NOT tear down (max_misses = 2, miss_count should be 1). + session_map.at(kClienT0Pid).handle->AcquireRequest(); + std::this_thread::sleep_for(150ms); + EXPECT_FALSE(session_map.empty()); + + // 4) Second miss after the reset should now tear down. + session_map.at(kClienT0Pid).handle->AcquireRequest(); + { + std::unique_lock lock(map_mutex); + map_cond.wait(lock, [this]() { + return session_map.empty(); + }); + } + + ExpectServerDestruction(); + UninstantiateServer(); +} + TEST(MessagePassingServerTests, sessionWrapperCreateTest) { InSequence s; From 308a6ef1839b93a1bcd28cba61664ce43cdc8bd5 Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Sun, 15 Feb 2026 19:55:22 +0100 Subject: [PATCH 16/26] pas/logging: test stale connection - test ensuring that OnAcquireResponse ignores messages coming from a stale server connection after a client reconnects with the same PID. GIT_ORIGIN_SPP_REV_ID: 927c11ac7b4fd20cbd8e91930b25b4505f08788d --- .../test_message_passing_server.cpp | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp index ed07c804..8cf1936a 100644 --- a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp +++ b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp @@ -300,6 +300,9 @@ class MessagePassingServerFixture : public ::testing::Test .Times(AnyNumber()) .WillRepeatedly(ReturnRef(connection_identities_.at(pid))); + // Mirror production behavior: connect_callback runs before any messages. + std::ignore = connect_callback(*connection_ptr); + auto message = CreateConnectMessageSample(pid); sent_callback(*connection_ptr, message); @@ -550,6 +553,48 @@ TEST_F(MessagePassingServerFixture, TestTripleConnectSamePid) EXPECT_EQ(destruct_count, 3); } +TEST_F(MessagePassingServerFixture, StaleConnectionAcquireResponseShouldBeIgnored) +{ + ExpectOurPidIsQueried(); + InstantiateServer(GetCountingSessionFactory()); + + // Connect client (connection0) and create session. + auto* connection0_ptr = ConnectClientAndSendConnectMessage(kClienT0Pid); + + // Disconnect the client and wait until its session is torn down. + this->disconnect_callback(*connection0_ptr); + { + std::unique_lock lock(map_mutex); + map_cond.wait(lock, [this]() { + return session_map.empty(); + }); + } + + // Keep the old connection object alive, but free the PID slot for the new connection. + auto old_connection = std::move(connections_.at(kClienT0Pid)); + connections_.erase(kClienT0Pid); + auto* stale_connection_ptr = old_connection.get(); + + // Reconnect client with the same PID (connection1) and create a new session. + auto* connection1_ptr = ConnectClientAndSendConnectMessage(kClienT0Pid); + + score::mw::log::detail::ReadAcquireResult acquire_result{0U}; + std::array response{}; + response[0] = score::cpp::to_underlying(DatarouterMessageIdentifier::kAcquireResponse); + std::memcpy(&response[1], &acquire_result, sizeof(acquire_result)); + + // Response on stale connection must be ignored. + sent_callback(*stale_connection_ptr, response); + EXPECT_EQ(acquire_response_count, 0); + + // Response on the current connection must be accepted. + sent_callback(*connection1_ptr, response); + EXPECT_EQ(acquire_response_count, 1); + + ExpectServerDestruction(); + UninstantiateServer(); +} + TEST_F(MessagePassingServerFixture, TestSamePidWhileRunning) { From d3e8268e9e7f06340441294f1654a1acaea646c7 Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Fri, 20 Feb 2026 12:02:45 +0100 Subject: [PATCH 17/26] Fix client teardown after datarouter disconnect - Now that datarouter does not connect to client's IServer, the disconnect callback is never called. - Addds RequestInternatShutdown when the state callback kStopped is received. GIT_ORIGIN_SPP_REV_ID: fd475ea00de2bc097c8ae6f128344bf8641bddc1 --- .../include/daemon/message_passing_server.h | 24 +- .../src/daemon/message_passing_server.cpp | 6 +- .../test_message_passing_server.cpp | 2 +- .../data_router_message_client_impl.cpp | 5 + .../data_router_message_client_test.cpp | 279 ++++-------------- .../data_router/message_passing_config.h | 4 +- 6 files changed, 81 insertions(+), 239 deletions(-) diff --git a/score/datarouter/include/daemon/message_passing_server.h b/score/datarouter/include/daemon/message_passing_server.h index 6f3a4b33..22112452 100644 --- a/score/datarouter/include/daemon/message_passing_server.h +++ b/score/datarouter/include/daemon/message_passing_server.h @@ -133,17 +133,19 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper struct SessionWrapper { - SessionWrapper(IMessagePassingServerSessionWrapper* server, pid_t pid, std::unique_ptr session) - : server_(server), - pid_(pid), - session_(std::move(session)), - connection_(nullptr), - acquire_in_flight_(false), - enqueued_(false), - running_(false), - to_delete_(false), - closed_by_peer_(false), - to_force_finish_(false) + SessionWrapper(IMessagePassingServerSessionWrapper* message_passing_server, + pid_t client_pid, + std::unique_ptr message_passing_session) + : server(message_passing_server), + pid(client_pid), + session(std::move(message_passing_session)), + connection(nullptr), + acquire_in_flight(false), + enqueued(false), + running(false), + to_delete(false), + closed_by_peer(false), + to_force_finish(false) { } diff --git a/score/datarouter/src/daemon/message_passing_server.cpp b/score/datarouter/src/daemon/message_passing_server.cpp index caabccab..445daaa8 100644 --- a/score/datarouter/src/daemon/message_passing_server.cpp +++ b/score/datarouter/src/daemon/message_passing_server.cpp @@ -19,6 +19,8 @@ #include "score/memory.hpp" #include +#include +#include #include #include #include @@ -136,8 +138,8 @@ MessagePassingServer::MessagePassingServer(MessagePassingServer::SessionFactory MessagePassingConfig::kMaxQueuedNotifies}; receiver_ = server_factory_->Create(service_protocol_config, server_config); - auto connect_callback = [this_ptr = this](score::message_passing::IServerConnection& connection) noexcept - -> std::uintptr_t { + auto connect_callback = [this_ptr = + this](score::message_passing::IServerConnection& connection) noexcept -> std::uintptr_t { const pid_t client_pid = connection.GetClientIdentity().pid; { std::lock_guard lock(this_ptr->mutex_); diff --git a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp index 8cf1936a..453484c5 100644 --- a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp +++ b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp @@ -81,7 +81,7 @@ constexpr pid_t kClienT2Pid = 1002; constexpr std::uint32_t kMaxSendBytes{17U}; constexpr std::uint32_t kMaxNotifyBytes{1U}; -std::uint32_t gKReceiverQueueMaxSize = 0; +std::uint32_t gKReceiverQueueMaxSize = 1; class MockSession : public MessagePassingServer::ISession { diff --git a/score/mw/log/detail/data_router/data_router_message_client_impl.cpp b/score/mw/log/detail/data_router/data_router_message_client_impl.cpp index cd1058d3..8e82e41f 100644 --- a/score/mw/log/detail/data_router/data_router_message_client_impl.cpp +++ b/score/mw/log/detail/data_router/data_router_message_client_impl.cpp @@ -361,6 +361,11 @@ score::cpp::expected_blank DatarouterMessageClientImpl::Create sender_state_ = new_state; } state_condition_.notify_all(); + + if (new_state == score::message_passing::IClientConnection::State::kStopped) + { + RequestInternalShutdown(); + } }; auto notify_callback = [this](score::cpp::span message) noexcept { diff --git a/score/mw/log/detail/data_router/data_router_message_client_test.cpp b/score/mw/log/detail/data_router/data_router_message_client_test.cpp index 81585940..dcc3ef6a 100644 --- a/score/mw/log/detail/data_router/data_router_message_client_test.cpp +++ b/score/mw/log/detail/data_router/data_router_message_client_test.cpp @@ -106,7 +106,7 @@ constexpr auto kLoggerThreadName = "logger"; constexpr uid_t kDatarouterDummyUid = 111; constexpr std::uint32_t kMaxSendBytes{17U}; constexpr std::uint32_t kMaxNotifyBytes{1U}; -constexpr std::uint32_t kMaxNumberMessagesInReceiverQueue{0UL}; +constexpr std::uint32_t kMaxNumberMessagesInReceiverQueue{1UL}; class DatarouterMessageClientFixture : public ::testing::Test { @@ -1077,17 +1077,19 @@ TEST_F(DatarouterMessageClientFixture, FailedToEmptySignalSet) TEST_F(DatarouterMessageClientFixture, ConnectToDatarouterShouldReportErrorAndShutdownWhenCreateSenderFails) { - + RecordProperty("ASIL", "B"); + RecordProperty("Description", + "Verifies ConnectToDatarouter reports an error and shuts down when CreateSender fails."); + RecordProperty("TestType", "Interface test"); + RecordProperty("DerivationTechnique", "Generation and analysis of equivalence classes"); testing::InSequence order_matters; - auto* receiver_ptr = ExpectReceiverCreated(); ExpectBlockTerminationSignalPass(); ExpectSetLoggerThreadName(); - // CreateClient returns nullptr, causing CreateSender to return nullopt - const score::message_passing::ServiceProtocolConfig service_protocol_config{ - kDatarouterReceiverIdentifier, kMaxSendBytes, 0U, 0U}; + const score::message_passing::ServiceProtocolConfig service_protocol_config{ + kDatarouterReceiverIdentifier, kMaxSendBytes, 0U, kMaxNotifyBytes}; const score::message_passing::IClientFactory::ClientConfig client_config{0, 10, false, true, false}; EXPECT_CALL(*message_passing_factory_, @@ -1095,275 +1097,106 @@ TEST_F(DatarouterMessageClientFixture, ConnectToDatarouterShouldReportErrorAndSh .WillOnce(Return(ByMove(nullptr))); ExpectUnlinkMwsrWriterFile(); - ExpectServerDestruction(receiver_ptr); - client_->SetupReceiver(); client_->ConnectToDatarouter(); -} - -TEST_F(DatarouterMessageClientFixture, ConnectCallbackBlocksSignalAndReturnsClientPid) -{ - constexpr pid_t kExpectedPid = 42; - - auto* receiver_ptr = ExpectReceiverCreated(); - EXPECT_CALL(*signal_mock_, SigEmptySet(_)).Times(2).WillRepeatedly(Return(0)); - EXPECT_CALL(*signal_mock_, SigAddSet(_, SIGTERM)).Times(2).WillRepeatedly(Return(0)); - EXPECT_CALL(*signal_mock_, PthreadSigMask(_, _)).Times(2).WillRepeatedly(Return(0)); - ExpectSetLoggerThreadName(); - - sender_mock_in_transit_ = score::cpp::pmr::make_unique>( - score::cpp::pmr::get_default_resource()); - auto* sender_ptr = sender_mock_in_transit_.get(); - - const score::message_passing::ServiceProtocolConfig service_protocol_config{ - kDatarouterReceiverIdentifier, kMaxSendBytes, 0U, 0U}; - const score::message_passing::IClientFactory::ClientConfig client_config{0, 10, false, true, false}; - - EXPECT_CALL(*message_passing_factory_, - CreateClient(CompareServiceProtocol(service_protocol_config), CompareClientConfig(client_config))) - .WillOnce(Return(ByMove(std::move(sender_mock_in_transit_)))); - - EXPECT_CALL(*sender_ptr, - Start(Matcher(_), - Matcher(_))) - .WillOnce([](score::message_passing::IClientConnection::StateCallback state_callback, - score::message_passing::IClientConnection::NotifyCallback) { - state_callback(score::message_passing::IClientConnection::State::kReady); - }); - - testing::StrictMock server_conn_mock; - - const score::message_passing::ClientIdentity expected_identity{kExpectedPid, 0, 0}; - EXPECT_CALL(server_conn_mock, GetClientIdentity()).WillOnce(ReturnRef(expected_identity)); - - // ExpectBlockTerminationSignalPass(); - - EXPECT_CALL(*receiver_ptr, - StartListening(Matcher(_), - Matcher(_), - Matcher(_), - Matcher(_))) - .WillOnce([&server_conn_mock](score::message_passing::ConnectCallback connect_cb, - score::message_passing::DisconnectCallback, - score::message_passing::MessageCallback, - score::message_passing::MessageCallback) { - auto result = connect_cb(server_conn_mock); - - EXPECT_TRUE(result.has_value()); - EXPECT_EQ(std::get(result.value()), static_cast(kExpectedPid)); - return score::cpp::expected_blank{}; - }); - - ExpectSendConnectMessage(sender_ptr); - - ExpectServerDestruction(receiver_ptr); - ExpectClientDestruction(sender_ptr); - - client_->SetupReceiver(); - client_->ConnectToDatarouter(); + EXPECT_TRUE(stop_source_.stop_requested()); } -TEST_F(DatarouterMessageClientFixture, DisconnectCallbackRequestsInternalShutdown) +TEST_F(DatarouterMessageClientFixture, CreateSenderFailsWhenFactoryReturnsNullptr) { - auto* receiver_ptr = ExpectReceiverCreated(); - ExpectBlockTerminationSignalPass(); - ExpectSetLoggerThreadName(); - - sender_mock_in_transit_ = score::cpp::pmr::make_unique>( - score::cpp::pmr::get_default_resource()); - auto* sender_ptr = sender_mock_in_transit_.get(); + RecordProperty("ASIL", "B"); + RecordProperty("Description", + "Verifies CreateSender reports an error and returns unexpected when the factory returns nullptr."); + RecordProperty("TestType", "Interface test"); + RecordProperty("DerivationTechnique", "Generation and analysis of equivalence classes"); const score::message_passing::ServiceProtocolConfig service_protocol_config{ - kDatarouterReceiverIdentifier, kMaxSendBytes, 0U, 0U}; + kDatarouterReceiverIdentifier, kMaxSendBytes, 0U, kMaxNotifyBytes}; const score::message_passing::IClientFactory::ClientConfig client_config{0, 10, false, true, false}; EXPECT_CALL(*message_passing_factory_, CreateClient(CompareServiceProtocol(service_protocol_config), CompareClientConfig(client_config))) - .WillOnce(Return(ByMove(std::move(sender_mock_in_transit_)))); - - EXPECT_CALL(*sender_ptr, - Start(Matcher(_), - Matcher(_))) - .WillOnce([](score::message_passing::IClientConnection::StateCallback state_callback, - score::message_passing::IClientConnection::NotifyCallback) { - state_callback(score::message_passing::IClientConnection::State::kReady); - }); - - testing::StrictMock server_conn_mock; - - EXPECT_CALL(*receiver_ptr, - StartListening(Matcher(_), - Matcher(_), - Matcher(_), - Matcher(_))) - .WillOnce([&server_conn_mock](score::message_passing::ConnectCallback, - score::message_passing::DisconnectCallback disconnect_cb, - score::message_passing::MessageCallback, - score::message_passing::MessageCallback) { - disconnect_cb(server_conn_mock); - return score::cpp::expected_blank{}; - }); - - ExpectUnlinkMwsrWriterFile(); - - ExpectServerDestruction(receiver_ptr); - ExpectClientDestruction(sender_ptr); + .WillOnce(Return(ByMove(nullptr))); + const auto result = client_->CreateSender(); + ASSERT_FALSE(result.has_value()); - client_->SetupReceiver(); - client_->ConnectToDatarouter(); - EXPECT_TRUE(stop_source_.stop_requested()); } -TEST_F(DatarouterMessageClientFixture, ReceivedSendMessageWithReplyCallbackDoesNothing) +TEST_F(DatarouterMessageClientFixture, ConnectToDatarouterShouldReportErrorAndShutdownWhenCreateSenderFails) { - auto* receiver_ptr = ExpectReceiverCreated(); + RecordProperty("ASIL", "B"); + RecordProperty("Description", + "Verifies ConnectToDatarouter reports an error and shuts down when CreateSender fails."); + RecordProperty("TestType", "Interface test"); + RecordProperty("DerivationTechnique", "Generation and analysis of equivalence classes"); + + testing::InSequence order_matters; ExpectBlockTerminationSignalPass(); ExpectSetLoggerThreadName(); - sender_mock_in_transit_ = score::cpp::pmr::make_unique>( - score::cpp::pmr::get_default_resource()); - auto* sender_ptr = sender_mock_in_transit_.get(); - const score::message_passing::ServiceProtocolConfig service_protocol_config{ - kDatarouterReceiverIdentifier, kMaxSendBytes, 0U, 0U}; + kDatarouterReceiverIdentifier, kMaxSendBytes, 0U, kMaxNotifyBytes}; const score::message_passing::IClientFactory::ClientConfig client_config{0, 10, false, true, false}; EXPECT_CALL(*message_passing_factory_, CreateClient(CompareServiceProtocol(service_protocol_config), CompareClientConfig(client_config))) - .WillOnce(Return(ByMove(std::move(sender_mock_in_transit_)))); - - EXPECT_CALL(*sender_ptr, - Start(Matcher(_), - Matcher(_))) - .WillOnce([](score::message_passing::IClientConnection::StateCallback state_callback, - score::message_passing::IClientConnection::NotifyCallback) { - state_callback(score::message_passing::IClientConnection::State::kReady); - }); - - EXPECT_CALL(*sender_ptr, Send(Matcher>(_))) - .WillOnce(Return(score::cpp::expected_blank{})); - - testing::StrictMock server_conn_mock; - - EXPECT_CALL(*receiver_ptr, - StartListening(Matcher(_), - Matcher(_), - Matcher(_), - Matcher(_))) - .WillOnce([&server_conn_mock](score::message_passing::ConnectCallback, - score::message_passing::DisconnectCallback, - score::message_passing::MessageCallback, - score::message_passing::MessageCallback send_with_reply_cb) { - const std::array message_data{0x01, 0x02, 0x03, 0x04}; - const score::cpp::span message_span{message_data}; - - const auto result = send_with_reply_cb(server_conn_mock, message_span); - static_cast(result); - - return score::cpp::expected_blank{}; - }); + .WillOnce(Return(ByMove(nullptr))); ExpectUnlinkMwsrWriterFile(); - ExpectServerDestruction(receiver_ptr); - ExpectClientDestruction(sender_ptr); - client_->SetupReceiver(); client_->ConnectToDatarouter(); + + EXPECT_TRUE(stop_source_.stop_requested()); } -TEST_F(DatarouterMessageClientFixture, StopRequestedDuringReceiverStartReportsShutdownDuringInitialization) +TEST_F(DatarouterMessageClientFixture, CreateSenderFailsWhenFactoryReturnsNullptr) { - auto* receiver_ptr = ExpectReceiverCreated(); - - ExpectBlockTerminationSignalPass(); - ExpectSetLoggerThreadName(); + RecordProperty("ASIL", "B"); + RecordProperty("Description", + "Verifies CreateSender reports an error and returns unexpected when the factory returns nullptr."); + RecordProperty("TestType", "Interface test"); + RecordProperty("DerivationTechnique", "Error guessing based on knowledge or experience"); - sender_mock_in_transit_ = score::cpp::pmr::make_unique>( - score::cpp::pmr::get_default_resource()); - auto* sender_ptr = sender_mock_in_transit_.get(); + testing::InSequence order_matters; const score::message_passing::ServiceProtocolConfig service_protocol_config{ - kDatarouterReceiverIdentifier, kMaxSendBytes, 0U, 0U}; + kDatarouterReceiverIdentifier, kMaxSendBytes, 0U, kMaxNotifyBytes}; const score::message_passing::IClientFactory::ClientConfig client_config{0, 10, false, true, false}; + // Factory returns nullptr — this is the key to hitting the branch. EXPECT_CALL(*message_passing_factory_, CreateClient(CompareServiceProtocol(service_protocol_config), CompareClientConfig(client_config))) - .WillOnce(Return(ByMove(std::move(sender_mock_in_transit_)))); - - EXPECT_CALL(*sender_ptr, - Start(Matcher(_), - Matcher(_))) - .WillOnce([](score::message_passing::IClientConnection::StateCallback state_callback, - score::message_passing::IClientConnection::NotifyCallback) { - state_callback(score::message_passing::IClientConnection::State::kReady); - }); - - // SendConnectMessage must never be reached - EXPECT_CALL(*sender_ptr, Send(Matcher>(_))).Times(0); - - testing::StrictMock server_conn_mock; - - EXPECT_CALL(*receiver_ptr, - StartListening(Matcher(_), - Matcher(_), - Matcher(_), - Matcher(_))) - .WillOnce([&server_conn_mock](score::message_passing::ConnectCallback, - score::message_passing::DisconnectCallback disconnect_cb, - score::message_passing::MessageCallback, - score::message_passing::MessageCallback) { - // Trigger disconnect during StartListening — this calls RequestInternalShutdown(), - // setting stop_source_ to stop_requested AFTER the earlier stop check in - // ConnectToDatarouter() has already passed. - disconnect_cb(server_conn_mock); - - return score::cpp::expected_blank{}; - }); - - ExpectUnlinkMwsrWriterFile(); - ExpectServerDestruction(receiver_ptr); - ExpectClientDestruction(sender_ptr); + .WillOnce(Return(ByMove(nullptr))); - client_->SetupReceiver(); - client_->ConnectToDatarouter(); + const auto result = client_->CreateSender(); - EXPECT_TRUE(stop_source_.stop_requested()); + ASSERT_FALSE(result.has_value()); } - -TEST_F(DatarouterMessageClientFixture, CreateSenderFailsWhenFactoryReturnsNullptr) +TEST_F(DatarouterMessageClientFixture, StateCallbackKStoppedShouldTriggerInternalShutdown) { - auto* receiver_ptr = ExpectReceiverCreated(); + RecordProperty("ASIL", "QM"); + RecordProperty("Description", "Verifies dataRouter termination triggers internal shutdown on client side"); + RecordProperty("TestType", "Verification of the control flow and data flow"); + RecordProperty("DerivationTechnique", "Error guessing based on knowledge or experience"); - ExpectBlockTerminationSignalPass(); - ExpectSetLoggerThreadName(); + testing::InSequence order_matters; - const score::message_passing::ServiceProtocolConfig service_protocol_config{ - kDatarouterReceiverIdentifier, kMaxSendBytes, 0U, 0U}; - const score::message_passing::IClientFactory::ClientConfig client_config{0, 10, false, true, false}; + score::message_passing::ClientConnectionMock* sender_ptr{}; + score::message_passing::IClientConnection::StateCallback state_callback; - // Factory returns nullptr — this is the key to hitting the branch - EXPECT_CALL(*message_passing_factory_, - CreateClient(CompareServiceProtocol(service_protocol_config), CompareClientConfig(client_config))) - .WillOnce(Return(ByMove(nullptr))); + ExpectSenderCreationSequence(&sender_ptr, &state_callback); - // Since CreateSender fails, Start should never be called - // Since CreateSender fails, StartListening should never be called - EXPECT_CALL(*receiver_ptr, - StartListening(Matcher(_), - Matcher(_), - Matcher(_), - Matcher(_))) - .Times(0); + ExecuteCreateSenderSequence(&state_callback); ExpectUnlinkMwsrWriterFile(); - ExpectServerDestruction(receiver_ptr); - client_->SetupReceiver(); - client_->ConnectToDatarouter(); + state_callback(score::message_passing::IClientConnection::State::kStopped); EXPECT_TRUE(stop_source_.stop_requested()); + + ExpectClientDestruction(sender_ptr); } } // namespace diff --git a/score/mw/log/detail/data_router/message_passing_config.h b/score/mw/log/detail/data_router/message_passing_config.h index 5ec6ddfb..17201377 100644 --- a/score/mw/log/detail/data_router/message_passing_config.h +++ b/score/mw/log/detail/data_router/message_passing_config.h @@ -32,8 +32,8 @@ struct MessagePassingConfig static constexpr std::uint32_t kMaxMessageSize{17U}; /// \brief Maximum number of messages in receiver queue. - /// \note Value not used at the moment of integration with message passing library. May change in the future. - static constexpr std::uint32_t kMaxReceiverQueueSize{0U}; + /// \note Value set based on the recommendation in message_passing/i_server_factory.h + static constexpr std::uint32_t kMaxReceiverQueueSize{1U}; /// \brief Number of pre-allocated connections. static constexpr std::uint32_t kPreAllocConnections{0U}; From ee1b0160bb19022d9557f1709018e02e012534da Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Sun, 15 Feb 2026 19:56:47 +0100 Subject: [PATCH 18/26] pas/logging: Fix watchdog config formatting GIT_ORIGIN_SPP_REV_ID: 7d681ddd0dae1e8b63ace4e3fccab211a2773380 --- .../include/daemon/message_passing_server.h | 66 ++++---- .../src/daemon/message_passing_server.cpp | 150 +++++++++--------- .../src/daemon/persistentlogging_config.cpp | 16 +- .../test/ut/ut_logging/test_dltprotocol.cpp | 2 +- .../test_message_passing_server.cpp | 41 +++-- 5 files changed, 147 insertions(+), 128 deletions(-) diff --git a/score/datarouter/include/daemon/message_passing_server.h b/score/datarouter/include/daemon/message_passing_server.h index 22112452..6cf11485 100644 --- a/score/datarouter/include/daemon/message_passing_server.h +++ b/score/datarouter/include/daemon/message_passing_server.h @@ -95,10 +95,10 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper class ISession { public: - virtual bool tick() = 0; - virtual void on_acquire_response(const score::mw::log::detail::ReadAcquireResult&) = 0; - virtual void on_closed_by_peer() = 0; - virtual bool is_source_closed() = 0; + virtual bool Tick() = 0; + virtual void OnAcquireResponse(const score::mw::log::detail::ReadAcquireResult&) = 0; + virtual void OnClosedByPeer() = 0; + virtual bool IsSourceClosed() = 0; virtual ~ISession() = default; }; @@ -129,7 +129,7 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper const score::cpp::span message, pid_t pid); - using timestamp_t = std::chrono::steady_clock::time_point; + using TimestampT = std::chrono::steady_clock::time_point; struct SessionWrapper { @@ -149,46 +149,46 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper { } - void enqueue_for_delete_while_locked(bool by_peer = false); - bool is_marked_for_delete() + void EnqueueForDeleteWhileLocked(bool by_peer = false); + bool IsMarkedForDelete() const { - return to_delete_; + return to_delete; } - bool get_reset_closed_by_peer() + bool GetResetClosedByPeer() { - bool by_peer = closed_by_peer_; - closed_by_peer_ = false; + bool by_peer = closed_by_peer; + closed_by_peer = false; return by_peer; } - bool tick_at_worker_thread(); - void notify_closed_by_peer(); + bool TickAtWorkerThread() const; + void NotifyClosedByPeer() const; - void set_running_while_locked(); - bool reset_running_while_locked(bool requeue); + void SetRunningWhileLocked(); + bool ResetRunningWhileLocked(bool requeue); - void enqueue_tick_while_locked(); + void EnqueueTickWhileLocked(); - inline bool GetIsSourceClosed() + inline bool GetIsSourceClosed() const { - return session_->is_source_closed(); + return session->IsSourceClosed(); } - IMessagePassingServerSessionWrapper* server_; - pid_t pid_; - std::unique_ptr session_; - - score::message_passing::IServerConnection* connection_; - bool acquire_in_flight_; - std::optional acquire_deadline_; - std::uint32_t acquire_miss_count_{0U}; - - bool enqueued_; - bool running_; - bool to_delete_; - bool closed_by_peer_; - bool to_force_finish_; + IMessagePassingServerSessionWrapper* server; + pid_t pid; + std::unique_ptr session; + + score::message_passing::IServerConnection* connection; + bool acquire_in_flight; + std::optional acquire_deadline; + std::uint32_t acquire_miss_count{0U}; + + bool enqueued; + bool running; + bool to_delete; + bool closed_by_peer; + bool to_force_finish; }; void FinishPreviousSessionWhileLocked(std::unordered_map::iterator it, @@ -202,7 +202,7 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper std::mutex mutex_; score::cpp::stop_source stop_source_; - timestamp_t connection_timeout_; + TimestampT connection_timeout_; score::cpp::jthread worker_thread_; std::condition_variable worker_cond_; // to wake up worker thread std::unordered_map pid_session_map_; diff --git a/score/datarouter/src/daemon/message_passing_server.cpp b/score/datarouter/src/daemon/message_passing_server.cpp index 445daaa8..751eb02d 100644 --- a/score/datarouter/src/daemon/message_passing_server.cpp +++ b/score/datarouter/src/daemon/message_passing_server.cpp @@ -37,58 +37,58 @@ namespace internal using score::mw::log::detail::DatarouterMessageIdentifier; using score::mw::log::detail::MessagePassingConfig; -void MessagePassingServer::SessionWrapper::enqueue_for_delete_while_locked(bool by_peer) +void MessagePassingServer::SessionWrapper::EnqueueForDeleteWhileLocked(bool by_peer) { - to_delete_ = true; - closed_by_peer_ = by_peer; + to_delete = true; + closed_by_peer = by_peer; // in order not to mess with the logic of the queue, we don't enqueue currently running tick. Instead, we mark it // to be deleted (or re-enqueued for post-mortem processing, if closed by peer) at the end of the tick processing - if (!running_ && !enqueued_) + if (!running && !enqueued) { - server_->EnqueueTickWhileLocked(pid_); - enqueued_ = true; + server->EnqueueTickWhileLocked(pid); + enqueued = true; } } -bool MessagePassingServer::SessionWrapper::tick_at_worker_thread() +bool MessagePassingServer::SessionWrapper::TickAtWorkerThread() const { - bool requeue = session_->tick(); + bool requeue = session->Tick(); return requeue; } -void MessagePassingServer::SessionWrapper::notify_closed_by_peer() +void MessagePassingServer::SessionWrapper::NotifyClosedByPeer() const { - session_->on_closed_by_peer(); + session->OnClosedByPeer(); } -void MessagePassingServer::SessionWrapper::set_running_while_locked() +void MessagePassingServer::SessionWrapper::SetRunningWhileLocked() { - enqueued_ = false; - running_ = true; + enqueued = false; + running = true; } -bool MessagePassingServer::SessionWrapper::reset_running_while_locked(bool requeue) +bool MessagePassingServer::SessionWrapper::ResetRunningWhileLocked(bool requeue) { - running_ = false; + running = false; // check if we need to re-enqueue the tick after running again. It may happen because: // 1. not all the work in tick was done (returned early to avoid congestion); // 2. the tick was marked for delete as "closed by peer" when running, but we don't expedite its finishing. - if (requeue || closed_by_peer_) + if (requeue || closed_by_peer) { - enqueued_ = true; + enqueued = true; } - return enqueued_; + return enqueued; } -void MessagePassingServer::SessionWrapper::enqueue_tick_while_locked() +void MessagePassingServer::SessionWrapper::EnqueueTickWhileLocked() { - if (!enqueued_ && !to_delete_) + if (!enqueued && !to_delete) { - if (!running_) + if (!running) { - server_->EnqueueTickWhileLocked(pid_); + server->EnqueueTickWhileLocked(pid); } - enqueued_ = true; + enqueued = true; } } /* @@ -126,17 +126,17 @@ MessagePassingServer::MessagePassingServer(MessagePassingServer::SessionFactory std::cerr << "setname_np: " << ret_pthread.error() << std::endl; } - constexpr score::message_passing::ServiceProtocolConfig service_protocol_config{ + constexpr score::message_passing::ServiceProtocolConfig kServiceProtocolConfig{ MessagePassingConfig::kDatarouterReceiverIdentifier, MessagePassingConfig::kMaxMessageSize, MessagePassingConfig::kMaxReplySize, MessagePassingConfig::kMaxNotifySize}; - constexpr score::message_passing::IServerFactory::ServerConfig server_config{ + constexpr score::message_passing::IServerFactory::ServerConfig kServerConfig{ MessagePassingConfig::kMaxReceiverQueueSize, MessagePassingConfig::kPreAllocConnections, MessagePassingConfig::kMaxQueuedNotifies}; - receiver_ = server_factory_->Create(service_protocol_config, server_config); + receiver_ = server_factory_->Create(kServiceProtocolConfig, kServerConfig); auto connect_callback = [this_ptr = this](score::message_passing::IServerConnection& connection) noexcept -> std::uintptr_t { @@ -156,9 +156,9 @@ MessagePassingServer::MessagePassingServer(MessagePassingServer::SessionFactory if (found != this_ptr->pid_session_map_.end()) { SessionWrapper& wrapper = found->second; - wrapper.connection_ = nullptr; - wrapper.to_force_finish_ = true; - found->second.enqueue_for_delete_while_locked(true); + wrapper.connection = nullptr; + wrapper.to_force_finish = true; + found->second.EnqueueForDeleteWhileLocked(true); } }; auto received_send_message_callback = [this_ptr = this]( @@ -222,8 +222,8 @@ MessagePassingServer::~MessagePassingServer() noexcept void MessagePassingServer::RunWorkerThread() { - constexpr std::int32_t TIMEOUT_IN_MS = 100; - timestamp_t t1 = timestamp_t::clock::now() + std::chrono::milliseconds(TIMEOUT_IN_MS); + constexpr std::int32_t kTimeoutInMs = 100; + TimestampT t1 = TimestampT::clock::now() + std::chrono::milliseconds(kTimeoutInMs); std::unique_lock lock(mutex_); while (!workers_exit_) @@ -233,15 +233,15 @@ void MessagePassingServer::RunWorkerThread() }); if (!workers_exit_) { - timestamp_t now = timestamp_t::clock::now(); - if (connection_timeout_ != timestamp_t{} && now >= connection_timeout_) + TimestampT now = TimestampT::clock::now(); + if (connection_timeout_ != TimestampT{} && now >= connection_timeout_) { - connection_timeout_ = timestamp_t{}; + connection_timeout_ = TimestampT{}; stop_source_.request_stop(); } if (now >= t1) { - t1 = now + std::chrono::milliseconds(TIMEOUT_IN_MS); + t1 = now + std::chrono::milliseconds(kTimeoutInMs); for (auto& ps : pid_session_map_) { if (ps.second.GetIsSourceClosed()) @@ -250,25 +250,25 @@ void MessagePassingServer::RunWorkerThread() this is private functions so it cannot be test. */ // LCOV_EXCL_START - ps.second.enqueue_for_delete_while_locked(true); + ps.second.EnqueueForDeleteWhileLocked(true); // LCOV_EXCL_STOP } else { auto& wrapper = ps.second; - if (wrapper.acquire_in_flight_ && wrapper.acquire_deadline_.has_value() && - (now >= *wrapper.acquire_deadline_)) + if (wrapper.acquire_in_flight && wrapper.acquire_deadline.has_value() && + (now >= *wrapper.acquire_deadline)) { - wrapper.acquire_in_flight_ = false; - ++wrapper.acquire_miss_count_; - wrapper.acquire_deadline_.reset(); - if (wrapper.acquire_miss_count_ >= watchdog_config_.max_misses) + wrapper.acquire_in_flight = false; + ++wrapper.acquire_miss_count; + wrapper.acquire_deadline.reset(); + if (wrapper.acquire_miss_count >= watchdog_config_.max_misses) { - wrapper.enqueue_for_delete_while_locked(true); + wrapper.EnqueueForDeleteWhileLocked(true); continue; } } - ps.second.enqueue_tick_while_locked(); + ps.second.EnqueueTickWhileLocked(); } } } @@ -279,16 +279,16 @@ void MessagePassingServer::RunWorkerThread() pid_t pid = work_queue_.front(); work_queue_.pop(); SessionWrapper& wrapper = pid_session_map_.at(pid); - wrapper.set_running_while_locked(); - bool closed_by_peer = wrapper.get_reset_closed_by_peer(); + wrapper.SetRunningWhileLocked(); + bool closed_by_peer = wrapper.GetResetClosedByPeer(); lock.unlock(); if (closed_by_peer) { - wrapper.notify_closed_by_peer(); + wrapper.NotifyClosedByPeer(); } - bool requeue = wrapper.tick_at_worker_thread(); + bool requeue = wrapper.TickAtWorkerThread(); lock.lock(); - if (wrapper.to_force_finish_) + if (wrapper.to_force_finish) { if (!closed_by_peer) { @@ -298,7 +298,7 @@ void MessagePassingServer::RunWorkerThread() this is private functions so it cannot be test. */ // LCOV_EXCL_START - wrapper.notify_closed_by_peer(); + wrapper.NotifyClosedByPeer(); requeue = true; // LCOV_EXCL_STOP } @@ -310,7 +310,7 @@ void MessagePassingServer::RunWorkerThread() lock.unlock(); do { - requeue = wrapper.tick_at_worker_thread(); + requeue = wrapper.TickAtWorkerThread(); } while (requeue); lock.lock(); // LCOV_EXCL_STOP @@ -325,13 +325,13 @@ void MessagePassingServer::RunWorkerThread() node = {}; lock.lock(); } - else if (wrapper.reset_running_while_locked(requeue)) + else if (wrapper.ResetRunningWhileLocked(requeue)) { // LCOV_EXCL_START: see above EnqueueTickWhileLocked(pid); // LCOV_EXCL_STOP } - else if (wrapper.is_marked_for_delete()) + else if (wrapper.IsMarkedForDelete()) { // Extract the session wrapper to destroy it outside the mutex lock auto node = pid_session_map_.extract(pid); @@ -360,10 +360,10 @@ void MessagePassingServer::FinishPreviousSessionWhileLocked( { const pid_t pid = it->first; SessionWrapper& wrapper = it->second; - wrapper.to_force_finish_ = true; - wrapper.enqueue_for_delete_while_locked(true); + wrapper.to_force_finish = true; + wrapper.EnqueueForDeleteWhileLocked(true); // if enqueued_ (i.e. not running) expedite the workload toward the front of the queue - if (wrapper.enqueued_) + if (wrapper.enqueued) { pid_t front_pid = work_queue_.front(); while (front_pid != pid) @@ -390,7 +390,7 @@ void MessagePassingServer::MessageCallback(score::message_passing::IServerConnec score::cpp::span message) { const pid_t pid = connection.GetClientIdentity().pid; - if (message.size() < 1) + if (message.empty()) { std::cerr << "MessagePassingServer: Empty message received from " << pid; return; @@ -437,7 +437,8 @@ void MessagePassingServer::OnConnectRequest(score::message_passing::IServerConne */ // coverity[autosar_cpp14_m5_2_8_violation] score::cpp::span conn_span{static_cast(static_cast(&conn)), sizeof(conn)}; - std::ignore = std::copy(message.begin(), message.end(), conn_span.begin()); + std::ignore = std::copy_n( + message.begin(), std::min(message.size(), static_cast(conn_span.size())), conn_span.begin()); auto appid_sv = conn.GetAppId().GetStringView(); std::string appid{appid_sv.data(), appid_sv.size()}; @@ -493,9 +494,9 @@ void MessagePassingServer::OnConnectRequest(score::message_passing::IServerConne } // connection_ points to framework-owned object. It is cleared in disconnect_callback. - emplace_result.first->second.connection_ = &connection; + emplace_result.first->second.connection = &connection; // enqueue the tick to speed up processing connection - emplace_result.first->second.enqueue_tick_while_locked(); + emplace_result.first->second.EnqueueTickWhileLocked(); } } @@ -509,7 +510,7 @@ void MessagePassingServer::OnAcquireResponse(score::message_passing::IServerConn { auto& [key, session] = *found; std::ignore = key; - if (session.connection_ != &connection) + if (session.connection != &connection) { return; } @@ -524,13 +525,14 @@ void MessagePassingServer::OnAcquireResponse(score::message_passing::IServerConn */ // coverity[autosar_cpp14_m5_2_8_violation] score::cpp::span acq_span{static_cast(static_cast(&acq)), sizeof(acq)}; - std::ignore = std::copy(message.begin(), message.end(), acq_span.begin()); - session.session_->on_acquire_response(acq); - session.acquire_in_flight_ = false; - session.acquire_deadline_.reset(); - session.acquire_miss_count_ = 0U; + std::ignore = std::copy_n( + message.begin(), std::min(message.size(), static_cast(acq_span.size())), acq_span.begin()); + session.session->OnAcquireResponse(acq); + session.acquire_in_flight = false; + session.acquire_deadline.reset(); + session.acquire_miss_count = 0U; // enqueue the tick to speed up processing acquire response - session.enqueue_tick_while_locked(); + session.EnqueueTickWhileLocked(); } } @@ -543,26 +545,26 @@ bool MessagePassingServer::NotifyAcquireRequestWhileLocked(const pid_t pid) } auto& wrapper = found->second; - if (wrapper.connection_ == nullptr) + if (wrapper.connection == nullptr) { return false; } - if (wrapper.acquire_in_flight_) + if (wrapper.acquire_in_flight) { return true; } - constexpr std::array message{score::cpp::to_underlying(DatarouterMessageIdentifier::kAcquireRequest)}; - auto ret = wrapper.connection_->Notify(message); + constexpr std::array kMessage{score::cpp::to_underlying(DatarouterMessageIdentifier::kAcquireRequest)}; + auto ret = wrapper.connection->Notify(kMessage); if (!ret) { - wrapper.enqueue_for_delete_while_locked(true); + wrapper.EnqueueForDeleteWhileLocked(true); } else { - wrapper.acquire_in_flight_ = true; - wrapper.acquire_deadline_ = timestamp_t::clock::now() + watchdog_config_.deadline; + wrapper.acquire_in_flight = true; + wrapper.acquire_deadline = TimestampT::clock::now() + watchdog_config_.deadline; } return true; } diff --git a/score/datarouter/src/daemon/persistentlogging_config.cpp b/score/datarouter/src/daemon/persistentlogging_config.cpp index 5a585c1f..616b3001 100644 --- a/score/datarouter/src/daemon/persistentlogging_config.cpp +++ b/score/datarouter/src/daemon/persistentlogging_config.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include #include @@ -39,11 +40,20 @@ const std::string kDefaultPersistentLoggingJsonFilepath = "etc/persistent-loggin PersistentLoggingConfig ReadPersistentLoggingConfig(const std::string& file_path) { using ReadResult = PersistentLoggingConfig::ReadResult; - using FileCloseFn = int(*)(std::FILE*); PersistentLoggingConfig config; - using UniqueFileT = std::unique_ptr; - UniqueFileT fp(std::fopen(file_path.c_str(), "r"), &fclose); + struct FileCloser + { + void operator()(std::FILE* file) const noexcept + { + if (file != nullptr) + { + std::fclose(file); + } + } + }; + using UniqueFileT = std::unique_ptr; + UniqueFileT fp(std::fopen(file_path.c_str(), "r"), FileCloser{}); if (nullptr == fp) { config.read_result = ReadResult::kErrorOpen; diff --git a/score/datarouter/test/ut/ut_logging/test_dltprotocol.cpp b/score/datarouter/test/ut/ut_logging/test_dltprotocol.cpp index f004187f..ac006ad5 100644 --- a/score/datarouter/test/ut/ut_logging/test_dltprotocol.cpp +++ b/score/datarouter/test/ut/ut_logging/test_dltprotocol.cpp @@ -90,7 +90,7 @@ TEST(DltProtocolTest, DISABLED_PackageFileDataShallReturnsNulloptIfItWorkedOnAlr ASSERT_TRUE(file != nullptr) << "The file used in the unit test is missed! The file: " << kFileName; // Close the file immediately. fclose(file); - file = nullptr; + file = nullptr; auto result = PackageFileData(data_span, file, serial_number, pkg_number); EXPECT_EQ(result, std::nullopt); diff --git a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp index 453484c5..0679c55b 100644 --- a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp +++ b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp @@ -292,13 +292,13 @@ class MessagePassingServerFixture : public ::testing::Test { auto connection = std::make_unique>(); auto* connection_ptr = connection.get(); - auto emplace_result = connections_.emplace(pid, std::move(connection)); + auto emplace_result = connections.emplace(pid, std::move(connection)); EXPECT_TRUE(emplace_result.second); - connection_identities_.insert_or_assign(pid, score::message_passing::ClientIdentity{pid, 0, 0}); + connection_identities.insert_or_assign(pid, score::message_passing::ClientIdentity{pid, 0, 0}); EXPECT_CALL(*connection_ptr, GetClientIdentity()) .Times(AnyNumber()) - .WillRepeatedly(ReturnRef(connection_identities_.at(pid))); + .WillRepeatedly(ReturnRef(connection_identities.at(pid))); // Mirror production behavior: connect_callback runs before any messages. std::ignore = connect_callback(*connection_ptr); @@ -351,8 +351,8 @@ class MessagePassingServerFixture : public ::testing::Test score::message_passing::MessageCallback sent_callback; score::message_passing::MessageCallback sent_with_reply_callback; - std::unordered_map>> connections_; - std::map connection_identities_; + std::unordered_map>> connections; + std::map connection_identities; std::mutex map_mutex; std::condition_variable map_cond; // currently only used for destruction @@ -463,6 +463,13 @@ TEST_F(MessagePassingServerFixture, TestOneConnectAcquireRelease) EXPECT_EQ(acquire_response_count, 1); + { + std::array bad_message{}; + bad_message[0] = score::cpp::to_underlying(DatarouterMessageIdentifier::kAcquireResponse); + sent_callback(*connection_ptr, bad_message); + EXPECT_EQ(acquire_response_count, 2); + } + EXPECT_EQ(closed_by_peer_count, 0); EXPECT_FALSE(session_map.empty()); @@ -527,13 +534,13 @@ TEST_F(MessagePassingServerFixture, TestTripleConnectSamePid) this->disconnect_callback(connection); using namespace std::chrono_literals; std::this_thread::sleep_for(100ms); - connections_.erase(kClienT0Pid); + connections.erase(kClienT0Pid); auto* connection1 = ConnectClientAndSendConnectMessage(kClienT0Pid); EXPECT_CALL(connection, GetClientIdentity()).WillOnce(ReturnRef(client_identity)); this->disconnect_callback(connection); std::this_thread::sleep_for(100ms); - connections_.erase(kClienT0Pid); + connections.erase(kClienT0Pid); auto* connection2 = ConnectClientAndSendConnectMessage(kClienT0Pid); EXPECT_EQ(construct_count, 3); @@ -571,8 +578,8 @@ TEST_F(MessagePassingServerFixture, StaleConnectionAcquireResponseShouldBeIgnore } // Keep the old connection object alive, but free the PID slot for the new connection. - auto old_connection = std::move(connections_.at(kClienT0Pid)); - connections_.erase(kClienT0Pid); + auto old_connection = std::move(connections.at(kClienT0Pid)); + connections.erase(kClienT0Pid); auto* stale_connection_ptr = old_connection.get(); // Reconnect client with the same PID (connection1) and create a new session. @@ -627,7 +634,7 @@ TEST_F(MessagePassingServerFixture, TestSamePidWhileRunning) this->disconnect_callback(connection); std::this_thread::sleep_for(100ms); - connections_.erase(kClienT0Pid); + connections.erase(kClienT0Pid); auto* new_connection = ConnectClientAndSendConnectMessage(kClienT0Pid); std::ignore = new_connection; @@ -683,7 +690,7 @@ TEST_F(MessagePassingServerFixture, TestSamePidWhileQueued) this->disconnect_callback(connection); std::this_thread::sleep_for(100ms); - connections_.erase(kClienT2Pid); + connections.erase(kClienT2Pid); auto* new_connection = ConnectClientAndSendConnectMessage(kClienT2Pid); std::ignore = new_connection; @@ -724,9 +731,9 @@ TEST_F(MessagePassingServerFixture, WatchdogShouldTearDownUnresponsiveClient) { std::unique_lock lock(map_mutex); - map_cond.wait(lock, [this]() { + ASSERT_TRUE(map_cond.wait_for(lock, std::chrono::seconds{3}, [this]() { return session_map.empty(); - }); + })) << "Timed out waiting for watchdog teardown"; } ExpectServerDestruction(); @@ -752,7 +759,7 @@ TEST_F(MessagePassingServerFixture, WatchdogMissCountShouldResetOnValidResponse) // 1) First acquire request is missed by the client -> miss_count becomes 1. session_map.at(kClienT0Pid).handle->AcquireRequest(); using namespace std::chrono_literals; - std::this_thread::sleep_for(150ms); + std::this_thread::sleep_for(1s); // 2) Late valid response arrives -> miss_count should reset to 0. score::mw::log::detail::ReadAcquireResult acquire_result{0U}; @@ -763,16 +770,16 @@ TEST_F(MessagePassingServerFixture, WatchdogMissCountShouldResetOnValidResponse) // 3) One more missed acquire should NOT tear down (max_misses = 2, miss_count should be 1). session_map.at(kClienT0Pid).handle->AcquireRequest(); - std::this_thread::sleep_for(150ms); + std::this_thread::sleep_for(1s); EXPECT_FALSE(session_map.empty()); // 4) Second miss after the reset should now tear down. session_map.at(kClienT0Pid).handle->AcquireRequest(); { std::unique_lock lock(map_mutex); - map_cond.wait(lock, [this]() { + ASSERT_TRUE(map_cond.wait_for(lock, std::chrono::seconds{3}, [this]() { return session_map.empty(); - }); + })) << "Timed out waiting for watchdog teardown after miss-count reset"; } ExpectServerDestruction(); From 8f2e1020e056d97a3d59d405d3b6daac8db03b2e Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Wed, 11 Mar 2026 13:22:40 +0100 Subject: [PATCH 19/26] Removes stale receive in data_router_message_client - The server already uses IServerConnection::Notify() on the existing single channel to send acquire requests. The client's second channel is redundant. GIT_ORIGIN_SPP_REV_ID: e0802ae92ba9090de244ac7ef14872cb3432c213 --- ...ata_router_message_client_factory_test.cpp | 3 - .../data_router_message_client_impl.cpp | 84 +--- .../data_router_message_client_impl.h | 18 +- .../data_router_message_client_test.cpp | 449 ++---------------- 4 files changed, 36 insertions(+), 518 deletions(-) diff --git a/score/mw/log/detail/data_router/data_router_message_client_factory_test.cpp b/score/mw/log/detail/data_router/data_router_message_client_factory_test.cpp index fc7564e5..816c2798 100644 --- a/score/mw/log/detail/data_router/data_router_message_client_factory_test.cpp +++ b/score/mw/log/detail/data_router/data_router_message_client_factory_test.cpp @@ -41,7 +41,6 @@ using ::testing::StrEq; const auto kMwsrFileName = ""; constexpr pid_t kThisProcessPid = 1234; constexpr uid_t kUid = 1234; -const std::string kClientReceiverIdentifier = "/" + std::string(""); class DatarouterMessageClientFactoryFixture : public ::testing::Test { @@ -111,8 +110,6 @@ TEST_F(DatarouterMessageClientFactoryFixture, CreateOnceShouldReturnClientWithEx auto* client_impl = dynamic_cast(client.get()); // Using the getters check that the factory provided the expected values to the constructor. - - EXPECT_EQ(client_impl->GetReceiverIdentifier(), kClientReceiverIdentifier); EXPECT_EQ(client_impl->GetAppid(), LoggingIdentifier{config_.GetAppId()}); EXPECT_EQ(client_impl->GetThisProcessPid(), kThisProcessPid); EXPECT_EQ(client_impl->GetWriterFileName(), kMwsrFileName); diff --git a/score/mw/log/detail/data_router/data_router_message_client_impl.cpp b/score/mw/log/detail/data_router/data_router_message_client_impl.cpp index 8e82e41f..a29eca48 100644 --- a/score/mw/log/detail/data_router/data_router_message_client_impl.cpp +++ b/score/mw/log/detail/data_router/data_router_message_client_impl.cpp @@ -19,8 +19,6 @@ #include "score/mw/log/detail/error.h" #include "score/mw/log/detail/initialization_reporter.h" -#include "score/os/utils/signal_impl.h" -#include "score/mw/log/detail/utils/signal_handling/signal_handling.h" #include #include #include @@ -53,7 +51,6 @@ DatarouterMessageClientImpl::DatarouterMessageClientImpl(const MsgClientIdentifi state_condition_{}, sender_state_{}, sender_{nullptr}, - receiver_{nullptr}, connect_thread_{} { } @@ -69,7 +66,6 @@ void DatarouterMessageClientImpl::Run() // coverity[autosar_cpp14_a15_4_2_violation] SCORE_LANGUAGE_FUTURECPP_PRECONDITION_PRD_MESSAGE(run_started_ == false, "Run() must be called only once"); run_started_ = true; - SetupReceiver(); RunConnectTask(); } @@ -95,7 +91,7 @@ void DatarouterMessageClientImpl::ConnectToDatarouter() noexcept return; } - // Wait for the sender to be in Ready state before starting receiver + // Wait for the sender to be in Ready state before sending connect message { std::unique_lock lock(sender_state_change_mutex_); state_condition_.wait(lock, [&stop_source = stop_source_, &sender_state = sender_state_]() { @@ -124,12 +120,6 @@ void DatarouterMessageClientImpl::ConnectToDatarouter() noexcept } // LCOV_EXCL_STOP - if (StartReceiver() == false) - { - RequestInternalShutdown(); - return; - } - CheckExitRequestAndSendConnectMessage(); } @@ -182,72 +172,6 @@ void DatarouterMessageClientImpl::SetThreadName() noexcept } } -void DatarouterMessageClientImpl::SetupReceiver() noexcept -{ - const score::message_passing::ServiceProtocolConfig service_protocol_config{ - msg_client_ids_.GetReceiverID(), MessagePassingConfig::kMaxMessageSize, 0U, 0U}; - - constexpr score::message_passing::IServerFactory::ServerConfig kServerConfig{ - MessagePassingConfig::kMaxReceiverQueueSize, 0U, 0U}; - receiver_ = message_passing_factory_->CreateServer(service_protocol_config, kServerConfig); -} - -bool DatarouterMessageClientImpl::StartReceiver() -{ - // When the receiver starts listening, receive callbacks may be called that use the sender to reply. - // Thus we must create the sender before starting to listen to messages. - // Note that the receiver callback may only be called after the connect task finished. - SCORE_LANGUAGE_FUTURECPP_PRECONDITION_PRD_MESSAGE(sender_ != nullptr, "The sender must be created before the receiver."); - - auto* this_ptr = this; - auto connect_callback = [this_ptr](score::message_passing::IServerConnection& connection) noexcept -> std::uintptr_t { - std::ignore = SignalHandling::PThreadBlockSigTerm(this_ptr->utils_.GetSignal()); - const pid_t client_pid = connection.GetClientIdentity().pid; - return static_cast(client_pid); - }; - auto disconnect_callback = [this_ptr](score::message_passing::IServerConnection& /*connection*/) noexcept { - this_ptr->RequestInternalShutdown(); - }; - auto received_send_message_callback = [this_ptr]( - score::message_passing::IServerConnection& /*connection*/, - const score::cpp::span /*message*/) noexcept -> score::cpp::blank { - this_ptr->OnAcquireRequest(); - return {}; - }; - auto received_send_message_with_reply_callback = - [](score::message_passing::IServerConnection& /*connection*/, - score::cpp::span /*message*/) noexcept -> score::cpp::blank { - return {}; - }; - - const auto result = receiver_->StartListening(connect_callback, - disconnect_callback, - received_send_message_callback, - received_send_message_with_reply_callback); - - if (result.has_value() == false) - { - const std::string underlying_error = result.error().ToString(); - ReportInitializationError(mw::log::detail::Error::kReceiverInitializationError, - std::string_view{underlying_error}, - msg_client_ids_.GetAppID().GetStringView()); - - std::array app_zero_terminated{}; - std::ignore = std::copy_n(msg_client_ids_.GetAppID().GetStringView().begin(), - std::min(msg_client_ids_.GetAppID().GetStringView().size(), - app_zero_terminated.size() - static_cast(1)), - app_zero_terminated.begin()); - std::cerr - << "[[mw::log]] Application " << app_zero_terminated.data() << " (PID: " << msg_client_ids_.GetThisProcID() - << ") failed to start message passing receiver. Please add the 'PROCMGR_AID_PATHSPACE' ability to your" - "'app_config.json'." - << '\n'; - - return false; - } - return true; -} - void DatarouterMessageClientImpl::RequestInternalShutdown() noexcept { // Unlink the shared memory file as early as possible to prevent memory leaks. @@ -323,7 +247,6 @@ void DatarouterMessageClientImpl::Shutdown() noexcept connect_thread_.join(); } - receiver_.reset(); { std::unique_lock lock(sender_mutex_); sender_.reset(); @@ -456,11 +379,6 @@ void DatarouterMessageClientImpl::UnlinkSharedMemoryFile() noexcept } } -const std::string& DatarouterMessageClientImpl::GetReceiverIdentifier() const noexcept -{ - return msg_client_ids_.GetReceiverID(); -} - const pid_t& DatarouterMessageClientImpl::GetThisProcessPid() const noexcept { return msg_client_ids_.GetThisProcID(); diff --git a/score/mw/log/detail/data_router/data_router_message_client_impl.h b/score/mw/log/detail/data_router/data_router_message_client_impl.h index 5500a731..daf21a32 100644 --- a/score/mw/log/detail/data_router/data_router_message_client_impl.h +++ b/score/mw/log/detail/data_router/data_router_message_client_impl.h @@ -18,7 +18,6 @@ #include "score/jthread.hpp" #include "score/optional.hpp" #include "score/stop_token.hpp" -#include "score/message_passing/i_server_connection.h" #include "score/os/errno.h" #include "score/mw/log/detail/data_router/data_router_message_client.h" #include "score/mw/log/detail/data_router/data_router_message_client_backend.h" @@ -70,28 +69,21 @@ class DatarouterMessageClientImpl : public DatarouterMessageClient /// \pre Shall not be called concurrently to Run(). void Shutdown() noexcept override; - void SetupReceiver() noexcept; - /// \brief Creates the message passing client (sender) for communication with Datarouter. /// \returns An empty expected on success, or an error if the sender could not be created. score::cpp::expected_blank CreateSender() noexcept; - /// \pre SetupReceiver and CreateSender() called before. - /// \returns true if the receiver was started successfully. - bool StartReceiver(); - /// \pre CreateSender() called before. void SendConnectMessage() noexcept; /// \brief Sets the thread name of the logger thread. void SetThreadName() noexcept; - /// \pre SetupReceiver() called before. + /// \brief Connects to the Datarouter by creating the sender and sending the connect message. void ConnectToDatarouter() noexcept; void BlockTermSignal() const noexcept; - const std::string& GetReceiverIdentifier() const noexcept; const pid_t& GetThisProcessPid() const noexcept; const std::string& GetWriterFileName() const noexcept; const LoggingIdentifier& GetAppid() const noexcept; @@ -130,14 +122,12 @@ class DatarouterMessageClientImpl : public DatarouterMessageClient score::cpp::optional sender_state_; // The construction/destruction order is critical here! - // Sender and receiver both may contain running tasks. - // Receiver tasks (callbacks) may use the sender. - // Thus the receiver needs to destruct first, and then the sender. - // Finally it is safe to join the connect thread. + // The sender may contain running tasks. + // The connect thread may use the sender. + // Thus the sender needs to destruct before joining the connect thread. // Only then we can ensure that there are no concurrent tasks // accessing private data from another thread. score::cpp::pmr::unique_ptr sender_; - score::cpp::pmr::unique_ptr receiver_; score::cpp::jthread connect_thread_; }; diff --git a/score/mw/log/detail/data_router/data_router_message_client_test.cpp b/score/mw/log/detail/data_router/data_router_message_client_test.cpp index dcc3ef6a..4bee1149 100644 --- a/score/mw/log/detail/data_router/data_router_message_client_test.cpp +++ b/score/mw/log/detail/data_router/data_router_message_client_test.cpp @@ -13,9 +13,6 @@ #include "score/assert_support.hpp" #include "score/message_passing/mock/client_connection_mock.h" -#include "score/message_passing/mock/server_connection_mock.h" -#include "score/message_passing/mock/server_mock.h" -#include "score/message_passing/server_types.h" #include "score/os/mocklib/mock_pthread.h" #include "score/os/mocklib/unistdmock.h" #include "score/os/utils/mocklib/signalmock.h" @@ -43,7 +40,6 @@ using ::testing::_; using ::testing::ByMove; using ::testing::Matcher; using ::testing::Return; -using ::testing::ReturnRef; using ::testing::StrEq; class DatarouterMessageClientMockTest : public ::testing::Test @@ -73,17 +69,6 @@ MATCHER_P(CompareServiceProtocol, expected, "") return true; } -MATCHER_P(CompareServerConfig, expected, "") -{ - if (arg.max_queued_sends != expected.max_queued_sends || - arg.pre_alloc_connections != expected.pre_alloc_connections || - arg.max_queued_notifies != expected.max_queued_notifies) - { - return false; - } - return true; -} - MATCHER_P(CompareClientConfig, expected, "") { if (arg.max_async_replies != expected.max_async_replies || arg.max_queued_sends != expected.max_queued_sends || @@ -106,7 +91,6 @@ constexpr auto kLoggerThreadName = "logger"; constexpr uid_t kDatarouterDummyUid = 111; constexpr std::uint32_t kMaxSendBytes{17U}; constexpr std::uint32_t kMaxNotifyBytes{1U}; -constexpr std::uint32_t kMaxNumberMessagesInReceiverQueue{1UL}; class DatarouterMessageClientFixture : public ::testing::Test { @@ -170,60 +154,6 @@ class DatarouterMessageClientFixture : public ::testing::Test .WillOnce(Return(score::cpp::make_unexpected(score::os::Error::createUnspecifiedError()))); } - score::message_passing::ServerMock* ExpectReceiverCreated() - { - auto receiver = score::cpp::pmr::make_unique>( - score::cpp::pmr::get_default_resource()); - auto* receiver_ptr = receiver.get(); - const score::message_passing::ServiceProtocolConfig service_protocol_config{ - kClientReceiverIdentifier, kMaxSendBytes, 0U, 0U}; - - const score::message_passing::IServerFactory::ServerConfig server_config{ - kMaxNumberMessagesInReceiverQueue, 0U, 0U}; - EXPECT_CALL(*message_passing_factory_, - CreateServer(CompareServiceProtocol(service_protocol_config), CompareServerConfig(server_config))) - .WillOnce(Return(ByMove(std::move(receiver)))); - return receiver_ptr; - } - - void ExpectReceiverStartListening( - score::message_passing::ServerMock* receiver_ptr, - score::message_passing::ConnectCallback* connect_callback = nullptr, - score::message_passing::DisconnectCallback* disconnect_callback = nullptr, - score::message_passing::MessageCallback* sent_callback = nullptr, - score::message_passing::MessageCallback* sent_with_reply_callback = nullptr, - score::cpp::expected_blank result = score::cpp::expected_blank{}) - { - EXPECT_CALL(*receiver_ptr, - StartListening(Matcher(_), - Matcher(_), - Matcher(_), - Matcher(_))) - .WillOnce([connect_callback, disconnect_callback, sent_callback, sent_with_reply_callback, result]( - score::message_passing::ConnectCallback con_callback, - score::message_passing::DisconnectCallback discon_callback, - score::message_passing::MessageCallback sn_callback, - score::message_passing::MessageCallback sn_rep_callback) { - if (connect_callback != nullptr) - { - *connect_callback = std::move(con_callback); - } - if (disconnect_callback != nullptr) - { - *disconnect_callback = std::move(discon_callback); - } - if (sent_callback != nullptr) - { - *sent_callback = std::move(sn_callback); - } - if (sent_with_reply_callback != nullptr) - { - *sent_with_reply_callback = std::move(sn_rep_callback); - } - return result; - }); - } - score::message_passing::ClientConnectionMock* ExpectSenderCreation( score::message_passing::IClientConnection::StateCallback* state_callback = nullptr, std::promise* callback_registered = nullptr, @@ -270,10 +200,6 @@ class DatarouterMessageClientFixture : public ::testing::Test EXPECT_CALL(*sender_mock, Destruct()); } - void ExpectServerDestruction(score::message_passing::ServerMock* receiver_mock) - { - EXPECT_CALL(*receiver_mock, Destruct()); - } void ExpectSendAcquireResponse( score::message_passing::ClientConnectionMock* sender_ptr, ReadAcquireResult expected_content, @@ -325,27 +251,6 @@ class DatarouterMessageClientFixture : public ::testing::Test }); } - void SendAcquireRequestAndExpectResponse(score::message_passing::MessageCallback& acquire_callback, - score::message_passing::ClientConnectionMock** sender_ptr, - bool first_message, - bool unlink_successful = true) - { - ReadAcquireResult acquired_data{}; - acquired_data.acquired_buffer = shared_data_.control_block.switch_count_points_active_for_writing.load(); - - if (first_message) - { - // MwsrWriter file shall be unlinked on first acquire request. - ExpectUnlinkMwsrWriterFile(unlink_successful); - } - - ExpectSendAcquireResponse(*sender_ptr, acquired_data); - - score::message_passing::ServerConnectionMock connection; - const score::cpp::span message{}; - acquire_callback(connection, message); - } - void SendAcquireNotifyAndExpectResponse(score::message_passing::IClientConnection::NotifyCallback& notify_callback, score::message_passing::ClientConnectionMock** sender_ptr, bool first_message, @@ -365,29 +270,13 @@ class DatarouterMessageClientFixture : public ::testing::Test notify_callback(message); } - void ExpectSenderAndReceiverCreation( - score::message_passing::ServerMock** receiver_ptr, + void ExpectSenderCreationSequence( score::message_passing::ClientConnectionMock** sender_ptr, - score::message_passing::IClientConnection::StateCallback* state_callback = nullptr, std::promise* callback_registered = nullptr, - score::cpp::expected_blank listen_result = score::cpp::expected_blank{}, - score::message_passing::ConnectCallback* connect_callback = nullptr, - score::message_passing::DisconnectCallback* disconnect_callback = nullptr, - score::message_passing::MessageCallback* sent_callback = nullptr, - score::message_passing::MessageCallback* sent_with_reply_callback = nullptr, bool block_termination_signal_pass = true, - bool receiver_start_listening = true, score::message_passing::IClientConnection::NotifyCallback* notify_callback = nullptr) - { - std::ignore = block_termination_signal_pass; // TODO: remove this param - auto* receiver = ExpectReceiverCreated(); - if (receiver_ptr != nullptr) - { - *receiver_ptr = receiver; - } - if (block_termination_signal_pass) { ExpectBlockTerminationSignalPass(); @@ -404,15 +293,6 @@ class DatarouterMessageClientFixture : public ::testing::Test { *sender_ptr = sender; } - if (receiver_start_listening) - { - ExpectReceiverStartListening(receiver, - connect_callback, - disconnect_callback, - sent_callback, - sent_with_reply_callback, - listen_result); - } } void ExpectSendConnectMessage(score::message_passing::ClientConnectionMock* sender_ptr) @@ -450,16 +330,12 @@ class DatarouterMessageClientFixture : public ::testing::Test EXPECT_CALL(*pthread_mock_, setname_np(kThreadId, StrEq(kLoggerThreadName))).WillOnce(Return(setname_result)); } - void ExecuteCreateSenderAndReceiverSequence( - bool expect_receiver_success = true, - score::message_passing::IClientConnection::StateCallback* state_callback = nullptr) + void ExecuteCreateSenderSequence(score::message_passing::IClientConnection::StateCallback* state_callback = nullptr) { - client_->SetupReceiver(); client_->BlockTermSignal(); client_->SetThreadName(); client_->CreateSender(); (*state_callback)(score::message_passing::IClientConnection::State::kReady); - EXPECT_EQ(client_->StartReceiver(), expect_receiver_success); } bool unlink_done_{false}; @@ -510,58 +386,6 @@ TEST_F(DatarouterMessageClientFixture, CreateSenderShouldCreateSenderWithExpecte client_->CreateSender(); } -TEST_F(DatarouterMessageClientFixture, StartReceiverShouldStartListenSuccessfully) -{ - RecordProperty("ASIL", "B"); - RecordProperty("Description", "Verifies creating the receiver works properly."); - RecordProperty("TestType", "Interface test"); - RecordProperty("DerivationTechnique", "Generation and analysis of equivalence classes"); - - testing::InSequence order_matters; - - score::message_passing::ClientConnectionMock* sender_ptr{}; - score::message_passing::ServerMock* receiver_ptr{}; - score::message_passing::IClientConnection::StateCallback state_callback; - - ExpectSenderAndReceiverCreation(&receiver_ptr, &sender_ptr, &state_callback); - - ExpectServerDestruction(receiver_ptr); - ExpectClientDestruction(sender_ptr); - ExecuteCreateSenderAndReceiverSequence(true, &state_callback); -} - -TEST_F(DatarouterMessageClientFixture, StartReceiverWithoutSenderAndReceiverShouldFail) -{ - RecordProperty("ASIL", "B"); - RecordProperty("Description", "Verifies creating the receiver works properly."); - RecordProperty("TestType", "Interface test"); - RecordProperty("DerivationTechnique", "Generation and analysis of equivalence classes"); - - testing::InSequence order_matters; - - EXPECT_DEATH(client_->StartReceiver(), ""); -} -TEST_F(DatarouterMessageClientFixture, ReceiverStartListeningFailsShouldBeHandledGracefully) -{ - RecordProperty("ASIL", "B"); - RecordProperty("Description", "Verifies the ability of handling the receiver listen failure properly."); - RecordProperty("TestType", "Interface test"); - RecordProperty("DerivationTechnique", "Generation and analysis of equivalence classes"); - - testing::InSequence order_matters; - - score::message_passing::ClientConnectionMock* sender_ptr{}; - score::message_passing::ServerMock* receiver_ptr{}; - score::message_passing::IClientConnection::StateCallback state_callback; - - auto start_listening_error = score::cpp::make_unexpected(score::os::Error::createFromErrno()); - ExpectSenderAndReceiverCreation(&receiver_ptr, &sender_ptr, &state_callback, nullptr, start_listening_error); - - ExpectServerDestruction(receiver_ptr); - ExpectClientDestruction(sender_ptr); - ExecuteCreateSenderAndReceiverSequence(false, &state_callback); -} - TEST_F(DatarouterMessageClientFixture, SendConnectMessageShouldSendExpectedPayload) { RecordProperty("ASIL", "B"); @@ -632,14 +456,11 @@ TEST_F(DatarouterMessageClientFixture, ConnectToDatarouterShouldSendConnectMessa testing::InSequence order_matters; score::message_passing::ClientConnectionMock* sender_ptr{}; - score::message_passing::ServerMock* receiver_ptr{}; - ExpectSenderAndReceiverCreation(&receiver_ptr, &sender_ptr, &state_callback, &callback_registered); + ExpectSenderCreationSequence(&sender_ptr, &state_callback, &callback_registered); ExpectSendConnectMessage(sender_ptr); - ExpectServerDestruction(receiver_ptr); ExpectClientDestruction(sender_ptr); - client_->SetupReceiver(); // We need to unblock waiting for the connection so we change the state in a separate thread std::thread connect_thread([this]() noexcept { client_->ConnectToDatarouter(); @@ -651,77 +472,6 @@ TEST_F(DatarouterMessageClientFixture, ConnectToDatarouterShouldSendConnectMessa connect_thread.join(); } -TEST_F(DatarouterMessageClientFixture, ConnectToDatarouterGivenThatReceiverFailedShouldNotSendConnectMessage) -{ - RecordProperty("ASIL", "B"); - RecordProperty("Description", "Verifies the in-ability of sending connect message when receiver fails."); - RecordProperty("TestType", "Interface test"); - RecordProperty("DerivationTechnique", "Generation and analysis of equivalence classes"); - - testing::InSequence order_matters; - - score::message_passing::ClientConnectionMock* sender_ptr{}; - score::message_passing::ServerMock* receiver_ptr{}; - score::message_passing::IClientConnection::StateCallback state_callback; - std::promise callback_registered; - - ExpectSenderAndReceiverCreation(&receiver_ptr, - &sender_ptr, - &state_callback, - &callback_registered, - score::cpp::make_unexpected(score::os::Error::createFromErrno())); - - ExpectUnlinkMwsrWriterFile(); - - ExpectServerDestruction(receiver_ptr); - ExpectClientDestruction(sender_ptr); - client_->SetupReceiver(); - // We need to unblock waiting for the connection so we change the state in a separate thread - std::thread connect_thread([this]() noexcept { - client_->ConnectToDatarouter(); - }); - - callback_registered.get_future().wait(); - state_callback(score::message_passing::IClientConnection::State::kReady); - - connect_thread.join(); -} - -TEST_F(DatarouterMessageClientFixture, AcquireRequestShouldSendExpectedAcquireResponse) -{ - RecordProperty("ASIL", "B"); - RecordProperty("Description", "Verifies that acquired request shall send the expected acquired response."); - RecordProperty("TestType", "Interface test"); - RecordProperty("DerivationTechnique", "Generation and analysis of equivalence classes"); - - testing::InSequence order_matters; - - score::message_passing::ClientConnectionMock* sender_ptr{}; - score::message_passing::ServerMock* receiver_ptr{}; - score::message_passing::ConnectCallback connect_callback; - score::message_passing::DisconnectCallback disconnect_callback; - score::message_passing::MessageCallback sent_callback; - score::message_passing::MessageCallback sent_with_reply_callback; - score::message_passing::IClientConnection::StateCallback state_callback; - - ExpectSenderAndReceiverCreation(&receiver_ptr, - &sender_ptr, - &state_callback, - nullptr, - {}, - &connect_callback, - &disconnect_callback, - &sent_callback, - &sent_with_reply_callback); - - ExecuteCreateSenderAndReceiverSequence(true, &state_callback); - - bool first_message = true; - SendAcquireRequestAndExpectResponse(sent_callback, &sender_ptr, first_message, false); - ExpectServerDestruction(receiver_ptr); - ExpectClientDestruction(sender_ptr); -} - TEST_F(DatarouterMessageClientFixture, AcquireNotifyShouldSendExpectedAcquireResponse) { RecordProperty("ASIL", "B"); @@ -734,33 +484,16 @@ TEST_F(DatarouterMessageClientFixture, AcquireNotifyShouldSendExpectedAcquireRes testing::InSequence order_matters; score::message_passing::ClientConnectionMock* sender_ptr{}; - score::message_passing::ServerMock* receiver_ptr{}; - score::message_passing::ConnectCallback connect_callback; - score::message_passing::DisconnectCallback disconnect_callback; - score::message_passing::MessageCallback sent_callback; - score::message_passing::MessageCallback sent_with_reply_callback; score::message_passing::IClientConnection::StateCallback state_callback; score::message_passing::IClientConnection::NotifyCallback notify_callback; - ExpectSenderAndReceiverCreation(&receiver_ptr, - &sender_ptr, - &state_callback, - nullptr, - {}, - &connect_callback, - &disconnect_callback, - &sent_callback, - &sent_with_reply_callback, - true, - true, - ¬ify_callback); - - ExecuteCreateSenderAndReceiverSequence(true, &state_callback); + ExpectSenderCreationSequence(&sender_ptr, &state_callback, nullptr, true, ¬ify_callback); + + ExecuteCreateSenderSequence(&state_callback); bool first_message = true; SendAcquireNotifyAndExpectResponse(notify_callback, &sender_ptr, first_message, false); - ExpectServerDestruction(receiver_ptr); ExpectClientDestruction(sender_ptr); } @@ -774,24 +507,12 @@ TEST_F(DatarouterMessageClientFixture, InvalidNotifyShouldNotSendAcquireResponse testing::InSequence order_matters; score::message_passing::ClientConnectionMock* sender_ptr{}; - score::message_passing::ServerMock* receiver_ptr{}; score::message_passing::IClientConnection::StateCallback state_callback; score::message_passing::IClientConnection::NotifyCallback notify_callback; - ExpectSenderAndReceiverCreation(&receiver_ptr, - &sender_ptr, - &state_callback, - nullptr, - {}, - nullptr, - nullptr, - nullptr, - nullptr, - true, - true, - ¬ify_callback); - - ExecuteCreateSenderAndReceiverSequence(true, &state_callback); + ExpectSenderCreationSequence(&sender_ptr, &state_callback, nullptr, true, ¬ify_callback); + + ExecuteCreateSenderSequence(&state_callback); EXPECT_CALL(*sender_ptr, Send(Matcher>(_))).Times(0); @@ -805,49 +526,34 @@ TEST_F(DatarouterMessageClientFixture, InvalidNotifyShouldNotSendAcquireResponse const std::array wrong_id_message{score::cpp::to_underlying(DatarouterMessageIdentifier::kConnect)}; notify_callback(wrong_id_message); - ExpectServerDestruction(receiver_ptr); ExpectClientDestruction(sender_ptr); } -TEST_F(DatarouterMessageClientFixture, SecondAcquireRequestShouldNotSetMwsrReader) +TEST_F(DatarouterMessageClientFixture, SecondAcquireNotifyShouldNotUnlinkMwsrWriter) { RecordProperty("ASIL", "B"); - RecordProperty("Description", "Verifies that the second acquire request should not set mwsr reader."); + RecordProperty("Description", "Verifies that the second acquire notify should not unlink the mwsr writer file."); RecordProperty("TestType", "Interface test"); RecordProperty("DerivationTechnique", "Generation and analysis of equivalence classes"); testing::InSequence order_matters; score::message_passing::ClientConnectionMock* sender_ptr{}; - score::message_passing::ServerMock* receiver_ptr{}; - score::message_passing::ConnectCallback connect_callback; - score::message_passing::DisconnectCallback disconnect_callback; - score::message_passing::MessageCallback sent_callback; - score::message_passing::MessageCallback sent_with_reply_callback; score::message_passing::IClientConnection::StateCallback state_callback; + score::message_passing::IClientConnection::NotifyCallback notify_callback; - ExpectSenderAndReceiverCreation(&receiver_ptr, - &sender_ptr, - &state_callback, - nullptr, - {}, - &connect_callback, - &disconnect_callback, - &sent_callback, - &sent_with_reply_callback); + ExpectSenderCreationSequence(&sender_ptr, &state_callback, nullptr, true, ¬ify_callback); - ExecuteCreateSenderAndReceiverSequence(true, &state_callback); + ExecuteCreateSenderSequence(&state_callback); bool first_message = true; - SendAcquireRequestAndExpectResponse(sent_callback, &sender_ptr, first_message, false); + SendAcquireNotifyAndExpectResponse(notify_callback, &sender_ptr, first_message, false); first_message = false; - SendAcquireRequestAndExpectResponse(sent_callback, &sender_ptr, first_message); - ExpectServerDestruction(receiver_ptr); + SendAcquireNotifyAndExpectResponse(notify_callback, &sender_ptr, first_message); ExpectClientDestruction(sender_ptr); } -// Refactor to acquire request TEST_F(DatarouterMessageClientFixture, ClientShouldShutdownAfterFailingToSendMessage) { RecordProperty("ASIL", "B"); @@ -858,23 +564,12 @@ TEST_F(DatarouterMessageClientFixture, ClientShouldShutdownAfterFailingToSendMes testing::InSequence order_matters; score::message_passing::ClientConnectionMock* sender_ptr{}; - score::message_passing::ServerMock* receiver_ptr{}; - score::message_passing::ConnectCallback connect_callback; - score::message_passing::DisconnectCallback disconnect_callback; - score::message_passing::MessageCallback sent_callback; - score::message_passing::MessageCallback sent_with_reply_callback; score::message_passing::IClientConnection::StateCallback state_callback; - ExpectSenderAndReceiverCreation(&receiver_ptr, - &sender_ptr, - &state_callback, - nullptr, - {}, - &connect_callback, - &disconnect_callback, - &sent_callback, - &sent_with_reply_callback); - - ExecuteCreateSenderAndReceiverSequence(true, &state_callback); + score::message_passing::IClientConnection::NotifyCallback notify_callback; + + ExpectSenderCreationSequence(&sender_ptr, &state_callback, nullptr, true, ¬ify_callback); + + ExecuteCreateSenderSequence(&state_callback); auto send_error = score::cpp::make_unexpected(score::os::Error::createFromErrno()); @@ -884,10 +579,8 @@ TEST_F(DatarouterMessageClientFixture, ClientShouldShutdownAfterFailingToSendMes ExpectUnlinkMwsrWriterFile(); ExpectSendAcquireResponse(sender_ptr, result, send_error); - score::message_passing::ServerConnectionMock connection; - const score::cpp::span message{}; - sent_callback(connection, message); - ExpectServerDestruction(receiver_ptr); + const std::array message{score::cpp::to_underlying(DatarouterMessageIdentifier::kAcquireRequest)}; + notify_callback(message); ExpectClientDestruction(sender_ptr); } @@ -901,14 +594,12 @@ TEST_F(DatarouterMessageClientFixture, RunShouldSetupAndConnect) testing::InSequence order_matters; score::message_passing::ClientConnectionMock* sender_ptr{}; - score::message_passing::ServerMock* receiver_ptr{}; score::message_passing::IClientConnection::StateCallback state_callback; std::promise callback_registered; - ExpectSenderAndReceiverCreation(&receiver_ptr, &sender_ptr, &state_callback, &callback_registered); + ExpectSenderCreationSequence(&sender_ptr, &state_callback, &callback_registered); ExpectSendConnectMessage(sender_ptr); - ExpectServerDestruction(receiver_ptr); ExpectClientDestruction(sender_ptr); ExpectUnlinkMwsrWriterFile(); client_->Run(); @@ -930,14 +621,12 @@ TEST_F(DatarouterMessageClientFixture, RunShallNotBeCalledMoreThanOnce) testing::InSequence order_matters; score::message_passing::ClientConnectionMock* sender_ptr{}; - score::message_passing::ServerMock* receiver_ptr{}; score::message_passing::IClientConnection::StateCallback state_callback; std::promise callback_registered; - ExpectSenderAndReceiverCreation(&receiver_ptr, &sender_ptr, &state_callback, &callback_registered); + ExpectSenderCreationSequence(&sender_ptr, &state_callback, &callback_registered); ExpectSendConnectMessage(sender_ptr); - ExpectServerDestruction(receiver_ptr); ExpectClientDestruction(sender_ptr); ExpectUnlinkMwsrWriterFile(); @@ -986,13 +675,11 @@ TEST_F(DatarouterMessageClientFixture, FailedToChownOwnMsrWriterFileForDataRoute testing::InSequence order_matters; score::message_passing::ClientConnectionMock* sender_ptr{}; - score::message_passing::ServerMock* receiver_ptr{}; score::message_passing::IClientConnection::StateCallback state_callback; std::promise callback_registered; - ExpectSenderAndReceiverCreation(&receiver_ptr, &sender_ptr, &state_callback, &callback_registered); + ExpectSenderCreationSequence(&sender_ptr, &state_callback, &callback_registered); ExpectSendConnectMessage(sender_ptr); - ExpectServerDestruction(receiver_ptr); ExpectClientDestruction(sender_ptr); ExpectUnlinkMwsrWriterFile(false); client_->Run(); @@ -1013,24 +700,11 @@ TEST_F(DatarouterMessageClientFixture, GivenExitRequestDuringConnectionShouldNot testing::InSequence order_matters; score::message_passing::ClientConnectionMock* sender_ptr{}; - score::message_passing::ServerMock* receiver_ptr{}; - - ExpectSenderAndReceiverCreation(&receiver_ptr, - &sender_ptr, - nullptr, - nullptr, - score::cpp::make_unexpected(score::os::Error::createFromErrno()), - nullptr, - nullptr, - nullptr, - nullptr, - true, - false); + + ExpectSenderCreationSequence(&sender_ptr); ExpectUnlinkMwsrWriterFile(); - ExpectServerDestruction(receiver_ptr); ExpectClientDestruction(sender_ptr); - client_->SetupReceiver(); stop_source_.request_stop(); client_->ConnectToDatarouter(); } @@ -1045,26 +719,13 @@ TEST_F(DatarouterMessageClientFixture, FailedToEmptySignalSet) testing::InSequence order_matters; score::message_passing::ClientConnectionMock* sender_ptr{}; - score::message_passing::ServerMock* receiver_ptr{}; score::message_passing::IClientConnection::StateCallback state_callback; std::promise callback_registered; - ExpectSenderAndReceiverCreation(&receiver_ptr, - &sender_ptr, - &state_callback, - &callback_registered, - score::cpp::make_unexpected(score::os::Error::createFromErrno()), - nullptr, - nullptr, - nullptr, - nullptr, - false); - ExpectUnlinkMwsrWriterFile(); - - ExpectServerDestruction(receiver_ptr); + ExpectSenderCreationSequence(&sender_ptr, &state_callback, &callback_registered, false); + ExpectSendConnectMessage(sender_ptr); ExpectClientDestruction(sender_ptr); - client_->SetupReceiver(); // We need to unblock waiting for the connection so we change the state in a separate thread std::thread connect_thread([this]() noexcept { client_->ConnectToDatarouter(); @@ -1081,55 +742,7 @@ TEST_F(DatarouterMessageClientFixture, ConnectToDatarouterShouldReportErrorAndSh RecordProperty("Description", "Verifies ConnectToDatarouter reports an error and shuts down when CreateSender fails."); RecordProperty("TestType", "Interface test"); - RecordProperty("DerivationTechnique", "Generation and analysis of equivalence classes"); - testing::InSequence order_matters; - - - ExpectBlockTerminationSignalPass(); - ExpectSetLoggerThreadName(); - - const score::message_passing::ServiceProtocolConfig service_protocol_config{ - kDatarouterReceiverIdentifier, kMaxSendBytes, 0U, kMaxNotifyBytes}; - const score::message_passing::IClientFactory::ClientConfig client_config{0, 10, false, true, false}; - - EXPECT_CALL(*message_passing_factory_, - CreateClient(CompareServiceProtocol(service_protocol_config), CompareClientConfig(client_config))) - .WillOnce(Return(ByMove(nullptr))); - - ExpectUnlinkMwsrWriterFile(); - - client_->ConnectToDatarouter(); - - EXPECT_TRUE(stop_source_.stop_requested()); -} - -TEST_F(DatarouterMessageClientFixture, CreateSenderFailsWhenFactoryReturnsNullptr) -{ - RecordProperty("ASIL", "B"); - RecordProperty("Description", - "Verifies CreateSender reports an error and returns unexpected when the factory returns nullptr."); - RecordProperty("TestType", "Interface test"); - RecordProperty("DerivationTechnique", "Generation and analysis of equivalence classes"); - - const score::message_passing::ServiceProtocolConfig service_protocol_config{ - kDatarouterReceiverIdentifier, kMaxSendBytes, 0U, kMaxNotifyBytes}; - const score::message_passing::IClientFactory::ClientConfig client_config{0, 10, false, true, false}; - - EXPECT_CALL(*message_passing_factory_, - CreateClient(CompareServiceProtocol(service_protocol_config), CompareClientConfig(client_config))) - .WillOnce(Return(ByMove(nullptr))); - const auto result = client_->CreateSender(); - ASSERT_FALSE(result.has_value()); - -} - -TEST_F(DatarouterMessageClientFixture, ConnectToDatarouterShouldReportErrorAndShutdownWhenCreateSenderFails) -{ - RecordProperty("ASIL", "B"); - RecordProperty("Description", - "Verifies ConnectToDatarouter reports an error and shuts down when CreateSender fails."); - RecordProperty("TestType", "Interface test"); - RecordProperty("DerivationTechnique", "Generation and analysis of equivalence classes"); + RecordProperty("DerivationTechnique", "Error guessing based on knowledge or experience"); testing::InSequence order_matters; From 487b8baf16256c1912011ca912ab7f82c963150a Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Fri, 13 Mar 2026 18:41:30 +0100 Subject: [PATCH 20/26] Handle ENOBUFS for Notify - Treat ENOBUFS as a transient error and let the watchdog handle the unresponsive client - this mitigates session disconnection if the client is slow usually during startups GIT_ORIGIN_SPP_REV_ID: 35579555a589dfeab63587b6c3cac7640984963d --- .../src/daemon/message_passing_server.cpp | 9 +++ .../test_message_passing_server.cpp | 55 +++++++++++++++++++ 2 files changed, 64 insertions(+) diff --git a/score/datarouter/src/daemon/message_passing_server.cpp b/score/datarouter/src/daemon/message_passing_server.cpp index 751eb02d..92752e34 100644 --- a/score/datarouter/src/daemon/message_passing_server.cpp +++ b/score/datarouter/src/daemon/message_passing_server.cpp @@ -559,6 +559,15 @@ bool MessagePassingServer::NotifyAcquireRequestWhileLocked(const pid_t pid) auto ret = wrapper.connection->Notify(kMessage); if (!ret) { + // ENOBUFS indicates the notify pool is temporarily exhausted (a previous notification could still be in + // flight). This is a transient condition - Let the watchdog will handle it if the client never responds. + if (ret.error().GetOsDependentErrorCode() == ENOBUFS) + { + std::cerr << "MessagePassingServer: Notify pool exhausted for pid " << pid << ", skipping acquire request" + << std::endl; + return true; + } + std::cerr << "MessagePassingServer: Notify failed for pid " << pid << ": " << ret.error() << std::endl; wrapper.EnqueueForDeleteWhileLocked(true); } else diff --git a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp index 0679c55b..d7ebb939 100644 --- a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp +++ b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp @@ -786,6 +786,61 @@ TEST_F(MessagePassingServerFixture, WatchdogMissCountShouldResetOnValidResponse) UninstantiateServer(); } +TEST_F(MessagePassingServerFixture, EnobufsFromNotifyShouldNotKillSession) +{ + ExpectOurPidIsQueried(); + + InstantiateServer(GetCountingSessionFactory()); + + auto* connection_ptr = ConnectClientAndSendConnectMessage(kClienT0Pid); + + // First Notify() fails with ENOBUFS (notify pool exhausted — transient). + EXPECT_CALL(*connection_ptr, Notify(Matcher>(_))) + .WillOnce(Return(score::cpp::make_unexpected(score::os::Error::createFromErrno(ENOBUFS)))); + + session_map.at(kClienT0Pid).handle->AcquireRequest(); + + // Session should still be alive — ENOBUFS is treated as a transient error. + using namespace std::chrono_literals; + std::this_thread::sleep_for(200ms); + EXPECT_FALSE(session_map.empty()); + + // A subsequent successful Notify() should work normally. + ::testing::Sequence seq; + ExpectAcquireNotifyInSequence(DatarouterMessageIdentifier::kAcquireRequest, seq, connection_ptr); + session_map.at(kClienT0Pid).handle->AcquireRequest(); + + // Verify session is still alive after successful notify. + std::this_thread::sleep_for(200ms); + EXPECT_FALSE(session_map.empty()); + + ExpectServerDestruction(); + UninstantiateServer(); +} + +TEST_F(MessagePassingServerFixture, NonEnobufsNotifyFailureShouldStillKillSession) +{ + ExpectOurPidIsQueried(); + + InstantiateServer(GetCountingSessionFactory()); + + auto* connection_ptr = ConnectClientAndSendConnectMessage(kClienT0Pid); + + // Notify() fails with EINVAL (not ENOBUFS) — should still tear down the session. + ExpectAndFailAcquireNotify(connection_ptr); + session_map.at(kClienT0Pid).handle->AcquireRequest(); + + { + std::unique_lock lock(map_mutex); + ASSERT_TRUE(map_cond.wait_for(lock, std::chrono::seconds{3}, [this]() { + return session_map.empty(); + })) << "Timed out waiting for session teardown after non-ENOBUFS failure"; + } + + ExpectServerDestruction(); + UninstantiateServer(); +} + TEST(MessagePassingServerTests, sessionWrapperCreateTest) { InSequence s; From 05a672719d23c549b7e9f42d3bf383f215311362 Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Fri, 13 Mar 2026 18:53:06 +0100 Subject: [PATCH 21/26] Refactor NotifyAcquireRequest - release the global mutex before calling connection->Notify() - Removed NotifyAcquireRequestWhileLocked() as it is no longer needed. GIT_ORIGIN_SPP_REV_ID: 0546d81a5efcccaabeb0fc843acc102d57f7ea84 --- .../include/daemon/message_passing_server.h | 9 +- .../src/daemon/message_passing_server.cpp | 26 ++++-- .../test_message_passing_server.cpp | 92 +++++++++++++++---- 3 files changed, 97 insertions(+), 30 deletions(-) diff --git a/score/datarouter/include/daemon/message_passing_server.h b/score/datarouter/include/daemon/message_passing_server.h index 6cf11485..b95435fd 100644 --- a/score/datarouter/include/daemon/message_passing_server.h +++ b/score/datarouter/include/daemon/message_passing_server.h @@ -92,6 +92,14 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper MessagePassingServer* server_; }; + /// Thread-safety contract: + /// - Tick() is called from the worker thread without the server mutex held. + /// - OnAcquireResponse() is called from the dispatch thread with the server mutex held. + /// - OnClosedByPeer() is called from the worker thread without the server mutex held. + /// - IsSourceClosed() is called from the worker thread with the server mutex held. + /// Implementations must ensure that shared state accessed by Tick() and by any method + /// called under the mutex (OnAcquireResponse, IsSourceClosed) is properly synchronized + /// (e.g., via atomics or an internal lock). class ISession { public: @@ -119,7 +127,6 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper friend class SessionHandle; bool NotifyAcquireRequest(pid_t pid); - bool NotifyAcquireRequestWhileLocked(pid_t pid); void MessageCallback(score::message_passing::IServerConnection& connection, score::cpp::span message); void OnConnectRequest(score::message_passing::IServerConnection& connection, diff --git a/score/datarouter/src/daemon/message_passing_server.cpp b/score/datarouter/src/daemon/message_passing_server.cpp index 92752e34..87fc1603 100644 --- a/score/datarouter/src/daemon/message_passing_server.cpp +++ b/score/datarouter/src/daemon/message_passing_server.cpp @@ -490,6 +490,8 @@ void MessagePassingServer::OnConnectRequest(score::message_passing::IServerConne { // Existing session for this PID is still present; do not overwrite it. // The reconnect path is handled by disconnect_callback + worker-thread teardown. + std::cerr << "MessagePassingServer: Session for pid " << pid << " already exists, dropping new session" + << std::endl; return; } @@ -536,8 +538,16 @@ void MessagePassingServer::OnAcquireResponse(score::message_passing::IServerConn } } -bool MessagePassingServer::NotifyAcquireRequestWhileLocked(const pid_t pid) +bool MessagePassingServer::NotifyAcquireRequest(const pid_t pid) { + // Guard against calls during server destruction (e.g., from session destructors + // during pid_session_map_.clear()). workers_exit_ is set before the map is cleared. + if (workers_exit_.load()) + { + return false; + } + + std::lock_guard lock(mutex_); const auto found = pid_session_map_.find(pid); if (found == pid_session_map_.end()) { @@ -555,12 +565,16 @@ bool MessagePassingServer::NotifyAcquireRequestWhileLocked(const pid_t pid) return true; } + // Notify() is non-blocking (QNX pulse), so holding the mutex is safe and avoids + // a use-after-free race where disconnect_callback could destroy the connection + // object between releasing the lock and calling Notify(). constexpr std::array kMessage{score::cpp::to_underlying(DatarouterMessageIdentifier::kAcquireRequest)}; auto ret = wrapper.connection->Notify(kMessage); + if (!ret) { - // ENOBUFS indicates the notify pool is temporarily exhausted (a previous notification could still be in - // flight). This is a transient condition - Let the watchdog will handle it if the client never responds. + // ENOBUFS indicates the notify pool is temporarily exhausted (a previous notification is still in flight). + // This is a transient condition — the watchdog will handle it if the client never responds. if (ret.error().GetOsDependentErrorCode() == ENOBUFS) { std::cerr << "MessagePassingServer: Notify pool exhausted for pid " << pid << ", skipping acquire request" @@ -578,12 +592,6 @@ bool MessagePassingServer::NotifyAcquireRequestWhileLocked(const pid_t pid) return true; } -bool MessagePassingServer::NotifyAcquireRequest(const pid_t pid) -{ - std::lock_guard lock(mutex_); - return NotifyAcquireRequestWhileLocked(pid); -} - bool MessagePassingServer::SessionHandle::AcquireRequest() const { if (server_ == nullptr) diff --git a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp index d7ebb939..d163fa5d 100644 --- a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp +++ b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp @@ -532,13 +532,22 @@ TEST_F(MessagePassingServerFixture, TestTripleConnectSamePid) auto* connection0 = ConnectClientAndSendConnectMessage(kClienT0Pid); EXPECT_CALL(connection, GetClientIdentity()).WillOnce(ReturnRef(client_identity)); this->disconnect_callback(connection); - using namespace std::chrono_literals; - std::this_thread::sleep_for(100ms); + { + std::unique_lock lock(map_mutex); + ASSERT_TRUE(map_cond.wait_for(lock, std::chrono::seconds{1}, [this]() { + return session_map.find(kClienT0Pid) == session_map.end(); + })) << "Timed out waiting for session cleanup after first disconnect"; + } connections.erase(kClienT0Pid); auto* connection1 = ConnectClientAndSendConnectMessage(kClienT0Pid); EXPECT_CALL(connection, GetClientIdentity()).WillOnce(ReturnRef(client_identity)); this->disconnect_callback(connection); - std::this_thread::sleep_for(100ms); + { + std::unique_lock lock(map_mutex); + ASSERT_TRUE(map_cond.wait_for(lock, std::chrono::seconds{1}, [this]() { + return session_map.find(kClienT0Pid) == session_map.end(); + })) << "Timed out waiting for session cleanup after second disconnect"; + } connections.erase(kClienT0Pid); auto* connection2 = ConnectClientAndSendConnectMessage(kClienT0Pid); @@ -622,17 +631,20 @@ TEST_F(MessagePassingServerFixture, TestSamePidWhileRunning) // wait until CLIENT0 is blocked inside the first tick session_map.at(kClienT0Pid).WaitStartOfFirstTick(); - // accumulate other ticks in the queue - using namespace std::chrono_literals; - std::this_thread::sleep_for(100ms); - // we will need to unblock the tick before the callback returns, so start it on a separate thread std::thread connect_thread([&]() { StrictMock<::score::message_passing::ServerConnectionMock> connection; score::message_passing::ClientIdentity client_identity{kClienT0Pid, 0, 0}; EXPECT_CALL(connection, GetClientIdentity()).WillOnce(ReturnRef(client_identity)); this->disconnect_callback(connection); - std::this_thread::sleep_for(100ms); + + // Wait for the old session to be fully destroyed before reconnecting + { + std::unique_lock lock(map_mutex); + ASSERT_TRUE(map_cond.wait_for(lock, std::chrono::seconds{1}, [this]() { + return session_map.find(kClienT0Pid) == session_map.end(); + })) << "Timed out waiting for old CLIENT0 session destruction"; + } connections.erase(kClienT0Pid); @@ -678,17 +690,20 @@ TEST_F(MessagePassingServerFixture, TestSamePidWhileQueued) // wait until CLIENT0 is blocked inside the first tick session_map.at(kClienT0Pid).WaitStartOfFirstTick(); - // accumulate other ticks (CLIENT2 in particular) in the queue - using namespace std::chrono_literals; - std::this_thread::sleep_for(250ms); - // we will need to unblock the tick before the callback returns, so start it on a separate thread std::thread connect_thread([&]() { StrictMock<::score::message_passing::ServerConnectionMock> connection; score::message_passing::ClientIdentity client_identity{kClienT2Pid, 0, 0}; EXPECT_CALL(connection, GetClientIdentity()).WillOnce(ReturnRef(client_identity)); this->disconnect_callback(connection); - std::this_thread::sleep_for(100ms); + + // Wait for the old session to be fully destroyed before reconnecting + { + std::unique_lock lock(map_mutex); + ASSERT_TRUE(map_cond.wait_for(lock, std::chrono::seconds{1}, [this]() { + return session_map.find(kClienT2Pid) == session_map.end(); + })) << "Timed out waiting for old CLIENT2 session destruction"; + } connections.erase(kClienT2Pid); @@ -731,7 +746,7 @@ TEST_F(MessagePassingServerFixture, WatchdogShouldTearDownUnresponsiveClient) { std::unique_lock lock(map_mutex); - ASSERT_TRUE(map_cond.wait_for(lock, std::chrono::seconds{3}, [this]() { + ASSERT_TRUE(map_cond.wait_for(lock, std::chrono::seconds{1}, [this]() { return session_map.empty(); })) << "Timed out waiting for watchdog teardown"; } @@ -759,7 +774,7 @@ TEST_F(MessagePassingServerFixture, WatchdogMissCountShouldResetOnValidResponse) // 1) First acquire request is missed by the client -> miss_count becomes 1. session_map.at(kClienT0Pid).handle->AcquireRequest(); using namespace std::chrono_literals; - std::this_thread::sleep_for(1s); + std::this_thread::sleep_for(100ms); // 2) Late valid response arrives -> miss_count should reset to 0. score::mw::log::detail::ReadAcquireResult acquire_result{0U}; @@ -770,14 +785,14 @@ TEST_F(MessagePassingServerFixture, WatchdogMissCountShouldResetOnValidResponse) // 3) One more missed acquire should NOT tear down (max_misses = 2, miss_count should be 1). session_map.at(kClienT0Pid).handle->AcquireRequest(); - std::this_thread::sleep_for(1s); + std::this_thread::sleep_for(100ms); EXPECT_FALSE(session_map.empty()); // 4) Second miss after the reset should now tear down. session_map.at(kClienT0Pid).handle->AcquireRequest(); { std::unique_lock lock(map_mutex); - ASSERT_TRUE(map_cond.wait_for(lock, std::chrono::seconds{3}, [this]() { + ASSERT_TRUE(map_cond.wait_for(lock, std::chrono::seconds{1}, [this]() { return session_map.empty(); })) << "Timed out waiting for watchdog teardown after miss-count reset"; } @@ -802,7 +817,7 @@ TEST_F(MessagePassingServerFixture, EnobufsFromNotifyShouldNotKillSession) // Session should still be alive — ENOBUFS is treated as a transient error. using namespace std::chrono_literals; - std::this_thread::sleep_for(200ms); + std::this_thread::sleep_for(50ms); EXPECT_FALSE(session_map.empty()); // A subsequent successful Notify() should work normally. @@ -811,7 +826,7 @@ TEST_F(MessagePassingServerFixture, EnobufsFromNotifyShouldNotKillSession) session_map.at(kClienT0Pid).handle->AcquireRequest(); // Verify session is still alive after successful notify. - std::this_thread::sleep_for(200ms); + std::this_thread::sleep_for(50ms); EXPECT_FALSE(session_map.empty()); ExpectServerDestruction(); @@ -832,7 +847,7 @@ TEST_F(MessagePassingServerFixture, NonEnobufsNotifyFailureShouldStillKillSessio { std::unique_lock lock(map_mutex); - ASSERT_TRUE(map_cond.wait_for(lock, std::chrono::seconds{3}, [this]() { + ASSERT_TRUE(map_cond.wait_for(lock, std::chrono::seconds{1}, [this]() { return session_map.empty(); })) << "Timed out waiting for session teardown after non-ENOBUFS failure"; } @@ -841,6 +856,43 @@ TEST_F(MessagePassingServerFixture, NonEnobufsNotifyFailureShouldStillKillSessio UninstantiateServer(); } +TEST_F(MessagePassingServerFixture, DisconnectDuringNotifyShouldNotCrash) +{ + ExpectOurPidIsQueried(); + + InstantiateServer(GetCountingSessionFactory()); + + auto* connection_ptr = ConnectClientAndSendConnectMessage(kClienT0Pid); + + // Simulate a disconnect arriving right after the Notify() kernel call. + // In production the disconnect callback fires on the dispatch thread and can + // race with NotifyAcquireRequest. NotifyAcquireRequest holds the server mutex + // for the duration of Notify(), so we spawn the disconnect thread inside the + // mock (it blocks on the mutex) and join it after AcquireRequest returns. + std::thread disconnect_thread; + EXPECT_CALL(*connection_ptr, Notify(Matcher>(_))) + .WillOnce([this, connection_ptr, &disconnect_thread](const auto /*m*/) { + disconnect_thread = std::thread([this, connection_ptr]() { + this->disconnect_callback(*connection_ptr); + }); + return score::cpp::expected_blank{}; + }); + + session_map.at(kClienT0Pid).handle->AcquireRequest(); + disconnect_thread.join(); + + // Wait for teardown to complete. + { + std::unique_lock lock(map_mutex); + ASSERT_TRUE(map_cond.wait_for(lock, std::chrono::seconds{1}, [this]() { + return session_map.empty(); + })) << "Timed out waiting for session teardown after disconnect-during-notify"; + } + + ExpectServerDestruction(); + UninstantiateServer(); +} + TEST(MessagePassingServerTests, sessionWrapperCreateTest) { InSequence s; From 8da62fb871e5d734e4932d5251b55b491a71cd4d Mon Sep 17 00:00:00 2001 From: famaymanpartner Date: Fri, 3 Jul 2026 04:28:19 +0200 Subject: [PATCH 22/26] fix unit tests GIT_ORIGIN_SPP_REV_ID: 35a2250fa80b6e15f22e51288ba7a9d16c883ebc --- .../test_message_passing_server.cpp | 29 ++----------------- .../data_router_message_client_impl.cpp | 6 ++++ 2 files changed, 8 insertions(+), 27 deletions(-) diff --git a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp index d163fa5d..10b66d11 100644 --- a/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp +++ b/score/datarouter/test/ut/ut_logging/test_message_passing_server.cpp @@ -430,7 +430,7 @@ TEST_F(MessagePassingServerFixture, TestStartListeningFailure) Matcher(_))) .WillOnce(Return(score::cpp::make_unexpected(score::os::Error::createFromErrno(EINVAL)))); - server.emplace(factory, server_factory_mock, client_factory_mock); + server.emplace(factory, server_factory_mock); ExpectServerDestruction(); UninstantiateServer(); } @@ -892,7 +892,6 @@ TEST_F(MessagePassingServerFixture, DisconnectDuringNotifyShouldNotCrash) ExpectServerDestruction(); UninstantiateServer(); } - TEST(MessagePassingServerTests, sessionWrapperCreateTest) { InSequence s; @@ -1090,25 +1089,12 @@ TEST_F(MessagePassingServerFixture, MessageCallbackUnknownMessageType) TEST(MessagePassingServerTests, SessionHandleAcquireRequestNotReady) { const pid_t pid = 0; - - auto client = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); - auto* client_raw_ptr = client.get(); MessagePassingServer* msg_server = nullptr; - EXPECT_CALL(*client_raw_ptr, - Start(Matcher(_), - Matcher(_))); - - // Return a non-Ready state to trigger "return false" - EXPECT_CALL(*client_raw_ptr, GetState()) - .WillRepeatedly(Return(score::message_passing::IClientConnection::State::kStarting)); - - MessagePassingServer::SessionHandle session_handle(pid, msg_server, std::move(client)); + MessagePassingServer::SessionHandle session_handle(pid, msg_server); const bool result = session_handle.AcquireRequest(); EXPECT_FALSE(result); - - EXPECT_CALL(*client_raw_ptr, Destruct()).Times(AnyNumber()); } // Covers OnConnectRequest "ConnectMessageFromClient too small" branch: @@ -1203,17 +1189,6 @@ TEST_F(MessagePassingServerFixture, OnConnectRequestStopRequestedCoversEarlyExit auto* server_for_test = &(*server); server_for_test->stop_source_.request_stop(); - // client_factory_->Create() is called before the stop check — set up the mock - auto client = score::cpp::pmr::make_unique>( - score::cpp::pmr::get_default_resource()); - auto* client_mock = client.get(); - EXPECT_CALL(*client_factory_mock, - Create(Matcher(_), - Matcher(_))) - .WillOnce(Return(ByMove(std::move(client)))); - // sender is destroyed at the early return inside OnConnectRequest - EXPECT_CALL(*client_mock, Destruct()).Times(1); - StrictMock<::score::message_passing::ServerConnectionMock> connection; score::message_passing::ClientIdentity client_identity{kClienT0Pid, 0, 0}; EXPECT_CALL(connection, GetClientIdentity()).Times(AnyNumber()).WillRepeatedly(ReturnRef(client_identity)); diff --git a/score/mw/log/detail/data_router/data_router_message_client_impl.cpp b/score/mw/log/detail/data_router/data_router_message_client_impl.cpp index a29eca48..b16454c6 100644 --- a/score/mw/log/detail/data_router/data_router_message_client_impl.cpp +++ b/score/mw/log/detail/data_router/data_router_message_client_impl.cpp @@ -182,6 +182,11 @@ void DatarouterMessageClientImpl::RequestInternalShutdown() noexcept void DatarouterMessageClientImpl::CheckExitRequestAndSendConnectMessage() noexcept { + // LCOV_EXCL_START : Defensive check for the rare race between the stop_requested() guard in + // ConnectToDatarouter() and this call site. ConnectToDatarouter() already returns early when + // stop is requested, so reaching this function with stop_requested() == true requires stop to + // be requested in the narrow window between the two checks. That window is not deterministically + // coverable in a unit test. if (stop_source_.stop_requested()) { ReportInitializationError(score::mw::log::detail::Error::kShutdownDuringInitialization, @@ -189,6 +194,7 @@ void DatarouterMessageClientImpl::CheckExitRequestAndSendConnectMessage() noexce msg_client_ids_.GetAppID().GetStringView()); return; } + // LCOV_EXCL_STOP SendConnectMessage(); } From c70d8f3fd1b6301fa080488852da9a71aed47db0 Mon Sep 17 00:00:00 2001 From: vaishnavi yendole Date: Mon, 13 Jul 2026 10:50:26 +0530 Subject: [PATCH 23/26] Normalize copyright headers in logging unit tests GIT_ORIGIN_SPP_REV_ID: beead8b042dc8aada40ebd70ca11961ca0fe7378 --- .../ut/ut_logging/test_unix_domain_common.cpp | 24 +++++++++---------- ...router_message_client_identifiers_test.cpp | 24 +++++++++---------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/score/datarouter/test/ut/ut_logging/test_unix_domain_common.cpp b/score/datarouter/test/ut/ut_logging/test_unix_domain_common.cpp index 03fbc3ba..21935363 100644 --- a/score/datarouter/test/ut/ut_logging/test_unix_domain_common.cpp +++ b/score/datarouter/test/ut/ut_logging/test_unix_domain_common.cpp @@ -1,15 +1,15 @@ -// ******************************************************************************* -// Copyright (c) 2025 Contributors to the Eclipse Foundation -// -// See the NOTICE file(s) distributed with this work for additional -// information regarding copyright ownership. -// -// This program and the accompanying materials are made available under the -// terms of the Apache License Version 2.0 which is available at -// https://www.apache.org/licenses/LICENSE-2.0 -// -// SPDX-License-Identifier: Apache-2.0 -// ******************************************************************************* +/******************************************************************************** + * Copyright (c) 2025 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * SPDX-License-Identifier: Apache-2.0 + ********************************************************************************/ #include "score/os/mocklib/socketmock.h" #include "unix_domain/unix_domain_common.h" diff --git a/score/mw/log/detail/data_router/data_router_message_client_identifiers_test.cpp b/score/mw/log/detail/data_router/data_router_message_client_identifiers_test.cpp index 417c01e6..e4cffd35 100644 --- a/score/mw/log/detail/data_router/data_router_message_client_identifiers_test.cpp +++ b/score/mw/log/detail/data_router/data_router_message_client_identifiers_test.cpp @@ -1,15 +1,15 @@ -// ******************************************************************************* -// Copyright (c) 2025 Contributors to the Eclipse Foundation -// -// See the NOTICE file(s) distributed with this work for additional -// information regarding copyright ownership. -// -// This program and the accompanying materials are made available under the -// terms of the Apache License Version 2.0 which is available at -// https://www.apache.org/licenses/LICENSE-2.0 -// -// SPDX-License-Identifier: Apache-2.0 -// ******************************************************************************* +/******************************************************************************** + * Copyright (c) 2025 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * SPDX-License-Identifier: Apache-2.0 + ********************************************************************************/ #include "score/mw/log/detail/data_router/data_router_message_client_identifiers.h" #include "gmock/gmock.h" From 182fb5e542c1aee10670d49064a7b9036775b438 Mon Sep 17 00:00:00 2001 From: vaishnavi yendole Date: Mon, 13 Jul 2026 12:54:32 +0530 Subject: [PATCH 24/26] pas/logging: sync remaining gcc14 test fix from score logging PR #172 Only the test_dltprotocol.cpp change remains on top of master. The persistentlogging_config.cpp part is already present in master. Sync reference: https://github.com/eclipse-score/logging/pull/172 GIT_ORIGIN_SPP_REV_ID: 06155f231e3b5e2cf32973e6572d6b1fa9b7f400 From ec856624977d874f84b2378bf38982937f29a344 Mon Sep 17 00:00:00 2001 From: vaishnavi yendole Date: Wed, 15 Jul 2026 16:05:07 +0530 Subject: [PATCH 25/26] pas/logging: update puml diagrams GIT_ORIGIN_SPP_REV_ID: 4bed8cd009a2640582c2dd04fdc93a28977a0bd0 --- .../doc/design/logging_architecture.md | 6 +- .../doc/design/uml/package-ara-log.png | Bin 329484 -> 0 bytes .../doc/design/uml/package-mw-log.png | Bin 0 -> 200577 bytes ...ckage-ara-log.puml => package-mw-log.puml} | 10 +-- .../datarouter/doc/design/uml/seq-ara-log.png | Bin 48905 -> 0 bytes .../doc/design/uml/seq-ara-log.puml | 60 ------------------ 6 files changed, 7 insertions(+), 69 deletions(-) delete mode 100644 score/datarouter/doc/design/uml/package-ara-log.png create mode 100644 score/datarouter/doc/design/uml/package-mw-log.png rename score/datarouter/doc/design/uml/{package-ara-log.puml => package-mw-log.puml} (89%) delete mode 100644 score/datarouter/doc/design/uml/seq-ara-log.png delete mode 100644 score/datarouter/doc/design/uml/seq-ara-log.puml diff --git a/score/datarouter/doc/design/logging_architecture.md b/score/datarouter/doc/design/logging_architecture.md index 58bbb1db..3a5fdc53 100644 --- a/score/datarouter/doc/design/logging_architecture.md +++ b/score/datarouter/doc/design/logging_architecture.md @@ -116,7 +116,7 @@ This construct uses the `log_entry` singleton template to register type informat The diagrams below illustrate the high-level class structure of logging framework components. The [ara::log][1] implementation conforms to Adaptive AUTOSAR specification R1903. -![alt text][package-ara-log] +![alt text][package-mw-log] ![alt text][package-datarouter] @@ -135,7 +135,6 @@ The activity diagram below depicts the first-run process: ### ara::log implementation The Adaptive AUTOSAR logging interface implementation follows standard specifications. The system creates LogStream objects dynamically to enable isolated collection of log message items and atomic message commits on stream flush. -![alt text][seq-ara-log] ![alt text][log-filtering-client-end] ### Ring buffer and linear allocator buffer @@ -173,9 +172,8 @@ The datarouter requires two configuration files: [context-ecu]: uml/context-ecu.png "Context: logging framework in xPAD ECU (hPAD example)" [context-highlevel]: uml/context-highlevel.png "Implementation details: general approach" -[seq-ara-log]: uml/seq-ara-log.png "ara::log call conversion to libtracing" [seq-trace]: uml/seq-trace.png "Activity diagram for tracing functionality" -[package-ara-log]: uml/package-ara-log.png "Package contents for ara::log" +[package-mw-log]: uml/package-mw-log.png "Package contents for mw::log" [package-datarouter]: uml/package-datarouter.png "Package contents for datarouter" [log-filtering-client-end]: uml/dlt_message_filtering_frontend.png "DLT log filtering in the frontend (client side)" [log-filtering-datarouter]: uml/dlt_message_filtering_backend.png "DLT log filtering in the backend (Datarouter)" diff --git a/score/datarouter/doc/design/uml/package-ara-log.png b/score/datarouter/doc/design/uml/package-ara-log.png deleted file mode 100644 index befdb7c8be41b8311c03c4e3cfa38728427a57e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 329484 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é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 z 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�RRK} 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 K@B?N}{{I1hhLVy1 diff --git a/score/datarouter/doc/design/uml/package-mw-log.png b/score/datarouter/doc/design/uml/package-mw-log.png new file mode 100644 index 0000000000000000000000000000000000000000..2ffcceb54cb74cbd460d239f328025fe6df63dfe GIT binary patch literal 200577 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⋘bQ-=3+; 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�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≫^7(pBWPz^wkwe!rDh81ek{Ii>#^ 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 z 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�a&D)#jpSY?A9Zw`Dv zjOxzd{{;c3!YEZ)33k9~zEEwvdD{1O#~E+_oh$PXqYR#)=|3&unc}_tiU0ebq~8CI zB71_L;lpDWh$4)O>4;S2dZS^cnybjslRDv~n$B~L;h*N@t^df$7hVp|;JQHm9Y_!{ zf9%c-!xo=7gozKM3tt%=y^)i{|MsKa;~7)Mx4}T#k&6W{D_QpC7kinEf1up2o&fX9^oK+wct11AwChgxfa^|puA$Ho!#jcz6 zpp&+Jbv1U$k5FnQ)drU_KApwA-xIN0=J3^ymLFFkM3l9)qUd?w28d0nKL+5<`~<({ z#DD^%3<&msf32sl@2&v^p-_gx=ni?_H13-6!}RP>2=nm;hhR`=W{6rSJdghI@ zJ+|*~h+FmRK!vbPK#0-P z(*s#vI-iNs+PD_u_jm5BlG@MER#FlN!7?k;dNH^SeHpqXG`> zJZr zIbtIEu64G&tCE-+rS}Buc@L4kl!#U`Lko*S)KKtwIyx|8KUbK^mzSX)kX~}BD=2k6 zO`a+5rOSe{S(5X_J*V*bv67rE(u>wfkSul2L)~^-GomeHVK4s(j57DGqNZkY!=POj z0!5)QC!-gylO%-rRmWu_gw)v;>$oF4haixQvw~X<4X^ORS0_QLi@&zFa0nGpdIFPK z`)punXJrG=P=Ako|9*erEAT$@3bIl3Fg4xnN56QV_-Z%ZASrxJwwWbShUzL`GT|8kUNzC0chD*>W8=BUz51vyr^U zP4Ra%wEFVt$-1p#W24T(CKk(ejemaF ziwte}B_aP=34_A$`KR0Wh&?ER{NUAT33iGqZV)^i8DK6iY(BJi^{?n$CKUZ5-`E{2 z6udzyZvCNzK3+QYp9-OsVjzUxGpOk1=U@DQoRZW&x-;v(@Dc7cma@E#-s_GlDVd|r z9d*moYj088hI}EGYcnIN^2)o^N^3J)An65B-SGM~)%NYfgM-s3?aF@m@T121)p5DG zcE3Hl_K*%{PhxlHi9p?`ic5T5yLPLTR-opK8I?1q*LaEF4>%3^u7n2~tKb?<6wD86 z?yU*iZ%S2ITB>kC(TsF|7Xv)I!Oitj`~%pr%fWE1Jcn1&QA#xgusD44Ii-q9b%$w!A@QbV`a0 zI~ycb>*z$nlHfrJx*0>o!q%YGC8t>v%)=xkq*ZMw#u#XHbm2pHmD=77i5`%6AbsR= zMUw>%UmoY??sZt;xhwV7c_fmy3~SAH%5$Xd`*!py-1~o%XV2U7d?mWd5f(gpaGd4g zMMTxS0U@FuJlTYk2}0Z8LK7jG>^qb^Tnb$YuGI28CRHBJ_JY2At4}TS4DmH#OCaN_ z{;*`Lg+X}a9t^@Aq-@Cy>nGMP#cWszgOvFF!mO_YadMS>DXi@Wgl5e$kJAMItie|6 z`3F8>#uy?h7aHuH3Ewr?&$$GeAindj={Yw8X2Jos^qFuGm$*ZQQ*b6sx{U&!8t$1# zMg(L`edVCUaYq7SK%O$NaXSQEHX`)kG9*+$Q9(l?yezKgI=S;D+?o#2Ic0Tq?6t~UA5p(AI0cNC7Yz3i5r110thqQwk37dNA)nj>tV}23eZ% z*97HlI|&sO5vzPdo}E_#r8rR{FuaE+iW=60?WzSL*LK43%e#vys^nybh%cE54Gn`- zs^IJUWao2hvfmx6V@31=oaT0A-n)7}Lc)`uTojyVqSd45cARYbZK8?MsEicXv^X2X zU~J$0sHe`ZV}!bjW^T=S6m;Wo30lS6vBPy?@H@=!yW*$7A=m*6(1Zbow8A16dI0Td z(3~?vuFiuWPoWZZK6ejoqj4B+Ps!mhNI5X}&0#Lrqd)PyF?t6PYh`C3;W&s%N@MMvCwluy#2&66$H5aJS? zTw=HH16n6K)*Y>VnTCH zIbYhd-YDh4g8+?hbaJH~#ecLP+gMv85EDER+6xQkPqhy+0GFKkL>jemN@?T))0P?S z3C$(b!+%Q>F6T;~W73oa>Mn7!kg?X!F4)CqtfadPsCcnP5zH;X^2uYW(7BOeB>BHg{| zEuSx4K74pt*1STCr<)r+Kkz2(T!~}%no9kzfs#9hh{aNz?TR}HGl@A$HRnLzB>vXl zUpmLi5L`b+v6IR8Aw)pOhk19l0Cj4ir&D(>DSILnv;O7GFLY}cwdT|g`IVnlOyy6W z96*>-lhJ(em#N`@;)!#IP4@4W9JrER+{1rQOfq1vv)v)^?Kr&L$q-p2Jy%~b2I+wguA|Q%8b6P5F`qxRYCEKZq^h^`t-_&Hj z_iwRRPUK5pjac%FOLy9j%ja=O2QH*jg+@l!64W-5ci%7Sz|-+R{VoK@-;7TfTKKVF z)ujcDm542MtTTLP#wMc634$Vn%7FTV^H8T4it`97^!&81>W7^O<*VQM!~m?az0GL5 z@P5&4uAeeF30B(X-i0}E40ir{NBfvg$OkLDfXTMFVguvEKDGv+<8JrKDU{PBew<*C*h-ZQ+ z-DXI&LJ~EbP{JKwKEAD7Qp(4}qZ%61TuV4ygY~(525Bhi;L@rqS&&gvWPO z_=;Iw$eB)2ep=pmQn38hS}6)L__EP=*6HPZ&f;R;)7JHPw_-W%b^deB&o(sSHnFs}MmP^tc)qXzK~zrCz}^1l%|&!v@WR8^oluEB z}S$>f4TxO{_eEjWN zax&X=TYEd_4hj5zpWzW@QGoIVjGoComb30Q{7l9@8(ZL3G^RokD-1Jd17m`I&HhOG zdEKTSCqf~u7>Gb3$L^B#pyC)42)qT>&6I6#-@69ylD4xu&>`ApW;Kp^Cjx0A$12#1 zprQc)vgav9>HM96Q&x8$Be6STCZ4ZNGMjabE~+&;Xj@cCt4pAc8G<-&p)RlwmWGrq zM>2ErwN8z!cqsih*YH^F(l{n+skZsGUgY!f2}NW8v-=DonBE{@(U2G_{K_YE!^4ZC z?Xf(3Z?drB4>0?MgjDP(oa%DJLY$tdE8qbWX}T50t3!vLVSEkN9_u}jM7ZMFLc3Qx z?7=;>z%$Q*XXcFAThvXojmJ0OcRR7yWAMWV*$r#oUookY)<%R#(eRD5Gz)m#oq9gr zsgemPaVH0B-i_yi^nmUAO(+>|yxRRhvGE?R`kk-Mp(*<=a5uKLv?T1;S@6s#zW=_l zt632h_Qb-@{C^d9?eS3Nd-(0NMH9yoHj-^Ka+gxrN~mF7+G!&@l8of8SgRx>B;;PM zx!+l8mXMZo+$*JYp`@G4P+>%)wAsNv@3iM^f1JP1`NwBI=AD`M{awDl@8x-(@0P4X zgN4rzLz1hNcejJpa;rr0@A&&$zF2wWPSFv6t+PB6zX+z zZ8=c&+Id}J(>|5Ii_G1RpaH-Z&n><2J5oxu*Fn+()W4RT0~pqHqx+p?T_&I!V)%}E zpp>Mh(&~l?-7M~suTRJWcaFaFcU$wi1y8j*rO%KWEcqcb6;46!w;w)CpG|Gd%9o$A zyc`i3`77WzMmLq#>w3y#dz_aMqcneF21~7O@S^q=ev#5bvx$Bm_ZhhT9N6J*E-rU9 z5ytai#xizQ>c7?WJhkS|@-ZL!eR$WeUcWYP5|87i7ZL>Jl?BaY_X@rEDAyXgv2mE- zj!7OiMnysH0&OVVEVfoGzW`(kepEd$C@8inszS|AT9X|6vJS(*$*{Kl`VDw^J7$BF z%F$%z)1GpUqo-zU<^sy7x60hYUD?r_njmL-MNYWz2een9>4;VE_`98-gK~ZzIdM-{ zIdP>whs#Z&IW&jtV;8SGJ_LRg$*Atcn4~T0@x<;-5F}mhd7IJyu`U;+(0H`XCAH*l z-pu;ezpO~=mzOu%Pt4zj@$}pv1bwH1ee0I0x{6FmV!tlxIeoWQ!zlbRIl3JkVBqV; z+0)$Ce1E`f$0%I2vCquai*c_H0Y{y?eoh$=^jP^WJ>fW8(e ztY&9rby~a?(MD&yVM_(Fr#xJk07;AFLw>zpg%z$lbk=%;k#Z-xA6KG zxf^Q*x0W3Aa(4p#?4m8`YW2g-b7Rf0CMxOafui!6lDkvup|WJ{44Ofwj|aulQo)~( z!~d4~`4=2co7uy1PVIRuN^uu)+hMcG@gg{U$qXs(d>@()n%#TjM=%r5>YJm|gmTV7vRn1-S8nxiv(P;b6{4IZbWLLz;f)nHaV3oXWQ(t z$FQs9_&v}wfr@}E3L?;%f7nzw7b@0aQ%QhIf87$g?1b@ z2nEyEGM_(sRF7k;cd4?aoW_}rv)0oTD&#AqH*NCc&>Dt8t0^4D?i^0%OJ8GVdPp(k z8+13ss~q#+rk36jDY1VN&g4$VkMj2FBAIm+H6LD^SnM!pRX@FN_2YZcm}o1v9&ls} zp5;ycPOsnY>GDk5@rqrgk*PVU%IoEmL-pY`zoRRGXwcx)8V*|q`xrIf6fzrhC(jVt z)xKU{l(SE7>|;F`Qi{3o3Su#gN(VWwC~q##-!+4bhBl;zp)!NoQ58a6WE{~lwK7M}QB4{1rsD}3syeFo2L_lvBV%JrwcsfI zHKuH;HcuB`-;ilbX*~4}HWx{BKA8g;KTfT7c2`=hp6#@vp=!($6}#bTE81pCs7Ksa zYb%3C9XxMMOh;TlDp;vL(6heu)1Yc=#AK)bbVvXL4Q-#ay#UxxVj2PYVeo9ze%cs< zM=fzuUsmxBlv@~)lD$(aEY5WU)7&n@s{e8AgwCLW$`jv*@#pmW6+`jwiMDq(6OE!| zn~vZoK1fguA7!SSg{NJJI&jvTx63MqKHkUR0WWb+WYkv8d#02plfhoXc*zixkT}cS zowdHZtmd^z#r=}RXO9w5y34&H>KwdGae%!NiicN_5I8(0y^6#lmp3>h*DEBppS0D|Z}56lhHXFzh6>hG}L;Bwwp>MMv`vF)l!;F>;pO+nN9 z4<8^ID@}<6-{5ff#$)=<-|Q7nsfR7n-?&kRyyiuI0m6R(>S5_da=iIP!V6x&07I|A zf-Op3bL708=G@Hp6|UsR52XmJ{~6&$-(-`g073jLE8hQUT+h^cbgmJi<->AJx9gFU zK@dZl@-@QgCRVxMJM;Y~B-6KXQ3uIsCy35H8(c8;cxBxEzx&E`ItMItnE=#S&Fh2% zYCAeMrXfwa>Res3F1JHmLgG{|gsZK`$$K@kQ&pcI literal 0 HcmV?d00001 diff --git a/score/datarouter/doc/design/uml/package-ara-log.puml b/score/datarouter/doc/design/uml/package-mw-log.puml similarity index 89% rename from score/datarouter/doc/design/uml/package-ara-log.puml rename to score/datarouter/doc/design/uml/package-mw-log.puml index b86e04c2..a5c3a9b4 100644 --- a/score/datarouter/doc/design/uml/package-ara-log.puml +++ b/score/datarouter/doc/design/uml/package-mw-log.puml @@ -1,8 +1,8 @@ @startuml -title ara::log Packages +title mw::log Packages -package ara { +package mw { package log { enum LogLevel { + kOff @@ -29,11 +29,11 @@ package ara { } class LogManager { - + CreateLogContext(const ara::core::StringView&, const ara::core::StringView&, const LogLevel) : Logger& + + CreateLogContext(const mw::core::StringView&, const mw::core::StringView&, const LogLevel) : Logger& + defaultLogContext() : Logger& + static instance() : LogManager& - - FindExistingLogger(const ara::core::StringView&) : score::cpp::optional> - - InsertNewLogger(const ara::core::StringView&, const ara::core::StringView&, const LogLevel) : Logger& + - FindExistingLogger(const mw::core::StringView&) : score::cpp::optional> + - InsertNewLogger(const mw::core::StringView&, const mw::core::StringView&, const LogLevel) : Logger& } class Logger { diff --git a/score/datarouter/doc/design/uml/seq-ara-log.png b/score/datarouter/doc/design/uml/seq-ara-log.png deleted file mode 100644 index c1acf27f6f6b87fadb5df5234e784794a984cbee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48905 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 diff --git a/score/datarouter/doc/design/uml/seq-ara-log.puml b/score/datarouter/doc/design/uml/seq-ara-log.puml deleted file mode 100644 index 258b3571..00000000 --- a/score/datarouter/doc/design/uml/seq-ara-log.puml +++ /dev/null @@ -1,60 +0,0 @@ -@startuml - -title ara::log implementation with TRACE_X macros -participant UserFunction as fun -participant "ara::log::LogManager" as lm -participant "ara::log::Logger" as logger -participant "ara::log::LogStream" as ls -participant LogContextData -participant TRACE_MACRO as tm - -group First request for specific logger -fun -> lm++ : CreateLogger() -lm -> logger++: Logger() -logger --> lm-- -lm --> fun-- : Logger& -end - -group Subsequent requests for specific logger -fun -> lm++ : CreateLogger() -lm --> fun-- : Logger& -end - -fun -> logger++: LogInfo() -logger -> ls*: LogStream(Logger, logLevel=kInfo) -activate ls -ls -> LogContextData*: LogContextData() -activate LogContextData -LogContextData --> ls -- -ls -> LogContextData ++: log_start(logLeverl=kInfo) -LogContextData --> ls -- - -ls --> logger -- -logger -->fun-- - -fun -> ls++: << (double d) -ls -> LogContextData++: log_double(d) -LogContextData --> ls-- -fun <-- ls-- - -logger -> ls++: << (string s) -ls -> LogContextData++: log_string(s) -LogContextData --> ls-- -fun <-- ls-- - -logger -> ls++: << (int32_t i) -ls -> LogContextData++: log_string(s) -LogContextData --> ls-- -fun <-- ls-- -fun ->ls++: ~LogStream() -ls -> LogContextData++: log_flush() - -LogContextData -> tm++: TRACE_INFO(LogContextData.logEntry) -tm --> LogContextData-- -LogContextData --> ls -destroy LogContextData -logger <-- ls-- -destroy ls - -fun <-- logger-- -@enduml From 04e9015678f89b7adcfd07f258ae133fa09352ce Mon Sep 17 00:00:00 2001 From: vaishnavi yendole Date: Wed, 15 Jul 2026 16:42:38 +0530 Subject: [PATCH 26/26] pas/logging: export puml diagrams via copybara GIT_ORIGIN_SPP_REV_ID: d80c0e641bec262399f6ed958f36651dae1bb6bf --- .../doc/design/logging_architecture.md | 2 - .../doc/design/uml/package-mw-log.png | Bin 200577 -> 0 bytes .../doc/design/uml/package-mw-log.puml | 106 ------------------ 3 files changed, 108 deletions(-) delete mode 100644 score/datarouter/doc/design/uml/package-mw-log.png delete mode 100644 score/datarouter/doc/design/uml/package-mw-log.puml diff --git a/score/datarouter/doc/design/logging_architecture.md b/score/datarouter/doc/design/logging_architecture.md index 3a5fdc53..268a27da 100644 --- a/score/datarouter/doc/design/logging_architecture.md +++ b/score/datarouter/doc/design/logging_architecture.md @@ -116,7 +116,6 @@ This construct uses the `log_entry` singleton template to register type informat The diagrams below illustrate the high-level class structure of logging framework components. The [ara::log][1] implementation conforms to Adaptive AUTOSAR specification R1903. -![alt text][package-mw-log] ![alt text][package-datarouter] @@ -173,7 +172,6 @@ The datarouter requires two configuration files: [context-ecu]: uml/context-ecu.png "Context: logging framework in xPAD ECU (hPAD example)" [context-highlevel]: uml/context-highlevel.png "Implementation details: general approach" [seq-trace]: uml/seq-trace.png "Activity diagram for tracing functionality" -[package-mw-log]: uml/package-mw-log.png "Package contents for mw::log" [package-datarouter]: uml/package-datarouter.png "Package contents for datarouter" [log-filtering-client-end]: uml/dlt_message_filtering_frontend.png "DLT log filtering in the frontend (client side)" [log-filtering-datarouter]: uml/dlt_message_filtering_backend.png "DLT log filtering in the backend (Datarouter)" diff --git a/score/datarouter/doc/design/uml/package-mw-log.png b/score/datarouter/doc/design/uml/package-mw-log.png deleted file mode 100644 index 2ffcceb54cb74cbd460d239f328025fe6df63dfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200577 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⋘bQ-=3+; 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�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≫^7(pBWPz^wkwe!rDh81ek{Ii>#^ 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 z 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�a&D)#jpSY?A9Zw`Dv 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 diff --git a/score/datarouter/doc/design/uml/package-mw-log.puml b/score/datarouter/doc/design/uml/package-mw-log.puml deleted file mode 100644 index a5c3a9b4..00000000 --- a/score/datarouter/doc/design/uml/package-mw-log.puml +++ /dev/null @@ -1,106 +0,0 @@ -@startuml - -title mw::log Packages - -package mw { - package log { - enum LogLevel { - + kOff - + kFatal - + kError - + kWarn - + kInfo - + kDebug - + kVerbose - } - - enum LogMode { - + kOff, - + kConsole, - + kRemote, - + kFile, - + kInvalid - } - - enum LogManager::ClientState { - kNotConnected, - kConnected, - kUnknown - } - - class LogManager { - + CreateLogContext(const mw::core::StringView&, const mw::core::StringView&, const LogLevel) : Logger& - + defaultLogContext() : Logger& - + static instance() : LogManager& - - FindExistingLogger(const mw::core::StringView&) : score::cpp::optional> - - InsertNewLogger(const mw::core::StringView&, const mw::core::StringView&, const LogLevel) : Logger& - } - - class Logger { - + Logger(context: std::string_view) - + LogFatal() : LogStream - + LogError() : LogStream - + LogWarn() : LogStream - + LogInfo() : LogStream - + LogDebug() : LogStream - + LogVerbose() : LogStream - + WithLevel(const LogLevel) : LogStream - + IsLogEnabled(const LogLevel) : bool - + IsEnabled(const LogLevel) : bool - + GetContext() : std::string_view - - context_ : LoggingIdentifier - } - - class LogStream { - + LogStream(LogLevel, core::StringView) noexcept - + LogStream(core::StringView, LogLevel) noexcept - + ~LogStream() noexcept - - + LogStream(const LogStream&) = delete - + LogStream& operator=(const LogStream&) = delete - + LogStream(LogStream&&) noexcept - + LogStream& operator=(LogStream&&) = delete - - + void Destruct() noexcept - + void Flush() noexcept - + LogStream& WithLocation(core::StringView, int) noexcept - - + LogStream& operator<<(bool) noexcept - + LogStream& operator<<(uint8_t) noexcept - + LogStream& operator<<(uint16_t) noexcept - + LogStream& operator<<(uint32_t) noexcept - + LogStream& operator<<(uint64_t) noexcept - + LogStream& operator<<(int8_t) noexcept - + LogStream& operator<<(int16_t) noexcept - + LogStream& operator<<(int32_t) noexcept - + LogStream& operator<<(int64_t) noexcept - + LogStream& operator<<(float) noexcept - + LogStream& operator<<(double) noexcept - + LogStream& operator<<(const char* const) noexcept - + LogStream& operator<<(const LogRawBuffer&) noexcept - + LogStream& operator<<(const LogHex8&) noexcept - + LogStream& operator<<(const LogHex16&) noexcept - + LogStream& operator<<(const LogHex32&) noexcept - + LogStream& operator<<(const LogHex64&) noexcept - + LogStream& operator<<(const LogBin8&) noexcept - + LogStream& operator<<(const LogBin16&) noexcept - + LogStream& operator<<(const LogBin32&) noexcept - + LogStream& operator<<(const LogBin64&) noexcept - + LogStream& operator<<(const core::StringView) noexcept - + LogStream& operator<<(const std::thread::id&) noexcept - - + LogStream& Arg(const T&) noexcept - + LogStream& Arg(core::StringView, const T&) noexcept - + LogStream& Arg(core::StringView, const T&, core::StringView) noexcept - + LogStream& operator<<(const Argument&) noexcept - - + static constexpr kBmwLogStreamBufferSize : size_t - - std::array pre_allocated_buffer_ - - template LogStream& LogWithMiddleWare(T&&) - } - - } - -} - -@enduml