Skip to content

Commit ebb5312

Browse files
vsomeip 3.3.6 (#455)
Notes: - The "last forwarded" timestamp must be handled per event - Fix deadlock - Restart the connection on broken unix sockets - Fix routing root not binding to local tcp if - Rework connecting timeout
1 parent 80716c6 commit ebb5312

File tree

69 files changed

+346
-327
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+346
-327
lines changed

Android.bp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ cc_library_shared {
8080

8181
cflags: [
8282
"-DWITHOUT_SYSTEMD",
83-
"-DVSOMEIP_COMPAT_VERSION=\"3.3.5\"",
83+
"-DVSOMEIP_COMPAT_VERSION=\"3.3.6\"",
8484
"-DVSOMEIP_BASE_PATH=\"/vendor/run/someip/\"",
8585
"-DUSE_DLT",
8686
],

Android.mk

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ LOCAL_CFLAGS := \
100100
-frtti \
101101
-fexceptions \
102102
-DWITHOUT_SYSTEMD \
103-
-DVSOMEIP_VERSION=\"3.3.5\" \
103+
-DVSOMEIP_VERSION=\"3.3.6\" \
104104
-DVSOMEIP_BASE_PATH=\"/vendor/run/someip/\" \
105105
-Wno-unused-parameter \
106106
-Wno-non-virtual-dtor \
@@ -147,7 +147,7 @@ LOCAL_CFLAGS := \
147147
-frtti \
148148
-fexceptions \
149149
-DWITHOUT_SYSTEMD \
150-
-DVSOMEIP_VERSION=\"3.3.5\" \
150+
-DVSOMEIP_VERSION=\"3.3.6\" \
151151
-DVSOMEIP_BASE_PATH=\"/vendor/run/someip/\" \
152152
-Wno-unused-parameter \
153153
-Wno-non-virtual-dtor \
@@ -194,8 +194,8 @@ LOCAL_CFLAGS := \
194194
-frtti \
195195
-fexceptions \
196196
-DWITHOUT_SYSTEMD \
197-
-DVSOMEIP_VERSION=\"3.3.5\" \
198-
-DVSOMEIP_COMPAT_VERSION=\"3.3.5\" \
197+
-DVSOMEIP_VERSION=\"3.3.6\" \
198+
-DVSOMEIP_COMPAT_VERSION=\"3.3.6\" \
199199
-DVSOMEIP_BASE_PATH=\"/vendor/run/someip/\" \
200200
-Wno-unused-parameter \
201201
-Wno-non-virtual-dtor \

CHANGES

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
Changes
22
=======
33

4+
v3.3.6
5+
- The "last forwarded" timestamp must be handled per event
6+
- Fix deadlock
7+
- Restart the connection on broken unix sockets
8+
- Fix routing root not binding to local tcp if
9+
- Rework connecting timeout
10+
411
v3.3.5.1
512
- Fix typo in application_impl.cpp
613
- Update load_balancing_option_impl.cpp

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ set (VSOMEIP_COMPAT_NAME vsomeip)
1111

1212
set (VSOMEIP_MAJOR_VERSION 3)
1313
set (VSOMEIP_MINOR_VERSION 3)
14-
set (VSOMEIP_PATCH_VERSION 5)
14+
set (VSOMEIP_PATCH_VERSION 6)
1515
set (VSOMEIP_HOTFIX_VERSION 0)
1616

1717
set (VSOMEIP_VERSION ${VSOMEIP_MAJOR_VERSION}.${VSOMEIP_MINOR_VERSION}.${VSOMEIP_PATCH_VERSION})

implementation/configuration/include/application_configuration.hpp

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,10 @@
1212
#include <vsomeip/primitive_types.hpp>
1313
#include <vsomeip/plugin.hpp>
1414

15-
#ifdef ANDROID
16-
#include "internal_android.hpp"
17-
#else
18-
#include "internal.hpp"
19-
#endif
15+
#include "debounce_filter_impl.hpp"
2016

2117
namespace vsomeip_v3 {
2218

23-
struct debounce_filter_t;
24-
2519
namespace cfg {
2620

2721
struct application_configuration {

implementation/configuration/include/configuration.hpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
namespace vsomeip_v3 {
4141

4242
class event;
43-
struct debounce_filter_t;
43+
struct debounce_filter_impl_t;
4444

4545
class configuration {
4646
public:
@@ -212,18 +212,18 @@ class configuration {
212212
virtual uint32_t get_log_status_interval() const = 0;
213213

214214
// TTL factor
215-
using ttl_factor_t = std::uint32_t;
216-
using ttl_map_t = std::map<service_t, std::map<instance_t, ttl_factor_t>>;
215+
typedef std::uint32_t ttl_factor_t;
216+
typedef std::map<service_t, std::map<instance_t, ttl_factor_t>> ttl_map_t;
217217
virtual ttl_map_t get_ttl_factor_offers() const = 0;
218218
virtual ttl_map_t get_ttl_factor_subscribes() const = 0;
219219

220220
// Debouncing
221-
virtual std::shared_ptr<debounce_filter_t> get_debounce(
221+
virtual std::shared_ptr<debounce_filter_impl_t> get_debounce(
222222
const std::string &_name,
223223
service_t _service, instance_t _instance, event_t _event) const = 0;
224224

225225
// Queue size limit endpoints
226-
using endpoint_queue_limit_t = std::uint32_t;
226+
typedef std::uint32_t endpoint_queue_limit_t;
227227
virtual endpoint_queue_limit_t get_endpoint_queue_limit(
228228
const std::string& _address, std::uint16_t _port) const = 0;
229229
virtual endpoint_queue_limit_t get_endpoint_queue_limit_local() const = 0;
@@ -241,13 +241,13 @@ class configuration {
241241
const boost::asio::ip::address& _address, std::uint16_t _port,
242242
bool _reliable) const = 0;
243243

244-
using port_range_t = std::pair<std::uint16_t, std::uint16_t>;
244+
typedef std::pair<std::uint16_t, std::uint16_t> port_range_t;
245245
virtual void set_sd_acceptance_rule(
246246
const boost::asio::ip::address &_address,
247247
port_range_t _port_range, port_type_e _type,
248248
const std::string &_path, bool _reliable, bool _enable, bool _default) = 0;
249249

250-
using sd_acceptance_rules_t = std::map<
250+
typedef std::map<
251251
boost::asio::ip::address, // other device
252252
std::pair<
253253
std::string, // path to file that determines whether or not IPsec is active
@@ -259,7 +259,7 @@ class configuration {
259259
>
260260
>
261261
>
262-
>;
262+
> sd_acceptance_rules_t;
263263
virtual sd_acceptance_rules_t get_sd_acceptance_rules() = 0;
264264
virtual void set_sd_acceptance_rules_active(
265265
const boost::asio::ip::address& _address, bool _enable) = 0;

implementation/configuration/include/configuration_impl.hpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@
2828

2929
namespace vsomeip_v3 {
3030

31-
struct debounce_filter_t;
32-
3331
namespace cfg {
3432

3533
struct client;
@@ -204,7 +202,7 @@ class configuration_impl:
204202
VSOMEIP_EXPORT ttl_map_t get_ttl_factor_offers() const;
205203
VSOMEIP_EXPORT ttl_map_t get_ttl_factor_subscribes() const;
206204

207-
VSOMEIP_EXPORT std::shared_ptr<debounce_filter_t> get_debounce(
205+
VSOMEIP_EXPORT std::shared_ptr<debounce_filter_impl_t> get_debounce(
208206
const std::string &_name,
209207
service_t _service, instance_t _instance, event_t _event) const;
210208

@@ -373,9 +371,9 @@ class configuration_impl:
373371
void load_service_debounce(const boost::property_tree::ptree &_tree,
374372
debounce_configuration_t &_debounces);
375373
void load_events_debounce(const boost::property_tree::ptree &_tree,
376-
std::map<event_t, std::shared_ptr<debounce_filter_t> > &_debounces);
374+
std::map<event_t, std::shared_ptr<debounce_filter_impl_t> > &_debounces);
377375
void load_event_debounce(const boost::property_tree::ptree &_tree,
378-
std::map<event_t, std::shared_ptr<debounce_filter_t> > &_debounces);
376+
std::map<event_t, std::shared_ptr<debounce_filter_impl_t> > &_debounces);
379377
void load_event_debounce_ignore(const boost::property_tree::ptree &_tree,
380378
std::map<std::size_t, byte_t> &_ignore);
381379
void load_acceptances(const configuration_element &_element);

implementation/configuration/include/debounce.hpp

Lines changed: 0 additions & 39 deletions
This file was deleted.
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Copyright (C) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
2+
// This Source Code Form is subject to the terms of the Mozilla Public
3+
// License, v. 2.0. If a copy of the MPL was not distributed with this
4+
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
5+
6+
#ifndef VSOMEIP_V3_DEBOUNCE_HPP
7+
#define VSOMEIP_V3_DEBOUNCE_HPP
8+
9+
#include <vsomeip/structured_types.hpp>
10+
11+
namespace vsomeip_v3 {
12+
13+
// Additionally store the last forwarded timestamp to
14+
// avoid having to lock
15+
struct debounce_filter_impl_t : debounce_filter_t {
16+
debounce_filter_impl_t()
17+
: last_forwarded_(std::chrono::steady_clock::time_point::max()) {
18+
}
19+
20+
explicit debounce_filter_impl_t(const debounce_filter_t &_source)
21+
: debounce_filter_t(_source),
22+
last_forwarded_(std::chrono::steady_clock::time_point::max()) {
23+
}
24+
25+
std::chrono::steady_clock::time_point last_forwarded_;
26+
};
27+
28+
using debounce_configuration_t =
29+
std::map<service_t,
30+
std::map<instance_t,
31+
std::map<event_t,
32+
std::shared_ptr<debounce_filter_impl_t>>>>;
33+
34+
} // namespace vsomeip_v3
35+
36+
#endif // VSOMEIP_V3_DEBOUNCE_HPP

implementation/configuration/include/e2e.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ namespace vsomeip_v3 {
1616
namespace cfg {
1717

1818
struct e2e {
19-
using custom_parameters_t = std::map<std::string, std::string, std::less<>>;
19+
typedef std::map<std::string, std::string> custom_parameters_t;
2020

2121
e2e() :
2222
variant(""),

0 commit comments

Comments
 (0)