Skip to content

Commit

Permalink
vsomeip 2.10.2
Browse files Browse the repository at this point in the history
  • Loading branch information
juergengehring committed Jan 25, 2018
1 parent 3f1a365 commit d04934f
Show file tree
Hide file tree
Showing 43 changed files with 752 additions and 181 deletions.
10 changes: 10 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
Changes
=======

v2.10.2
- Fix deadlock in routing manager when processing subscription
acknowledgment from a local client if the corresponding service
instance was stopped in the meanwhile.
- Introduce status_log_interval and memory_log_interval json file
parameters which can be used to cyclically log memory consumption
and/or internal status of the routing manager in a given interval
- Add Debug Diagnosis Job plug-in
- Support definition of multiple client port ranges in configuration

v2.10.1
- Fix possible memory corruption in routing manager on TCP connection
reset
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ project (vsomeip)

set (VSOMEIP_MAJOR_VERSION 2)
set (VSOMEIP_MINOR_VERSION 10)
set (VSOMEIP_PATCH_VERSION 1)
set (VSOMEIP_PATCH_VERSION 2)
set (VSOMEIP_VERSION ${VSOMEIP_MAJOR_VERSION}.${VSOMEIP_MINOR_VERSION}.${VSOMEIP_PATCH_VERSION})
set (PACKAGE_VERSION ${VSOMEIP_VERSION}) # Used in documentatin/doxygen.in
set (CMAKE_VERBOSE_MAKEFILE off)
Expand Down
1 change: 1 addition & 0 deletions daemon/vsomeipd.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#include <unistd.h>
#include <thread>
#include <condition_variable>
#include <mutex>

#include <iostream>

Expand Down
10 changes: 10 additions & 0 deletions documentation/vsomeipUserGuide
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,16 @@ values: _true, false_)
+
Configures interval in seconds to log the vSomeIP version. Default value is 10.
+
** 'memory_log_interval'
+
Configures interval in seconds in which the routing manager logs its used
memory. Setting a value greater than zero enables the logging.
+
** 'status_log_interval'
+
Configures interval in seconds in which the routing manager logs its internal
status. Setting a value greater than zero enables the logging.
+
//Tracing
* anchor:config-tracing[]'tracing' (optional)
+
Expand Down
2 changes: 2 additions & 0 deletions implementation/configuration/include/client.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ namespace vsomeip {
namespace cfg {

struct client {
client() : service_(ANY_SERVICE), instance_(ANY_INSTANCE) {}

// ports for specific service / instance
service_t service_;
instance_t instance_;
Expand Down
8 changes: 7 additions & 1 deletion implementation/configuration/include/configuration.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -136,14 +136,20 @@ class configuration {
virtual bool check_credentials(client_t _client, uint32_t _uid, uint32_t _gid) const = 0;

// Plugins
virtual std::map<plugin_type_e, std::string> get_plugins(
virtual std::map<plugin_type_e, std::set<std::string>> get_plugins(
const std::string &_name) const = 0;

virtual void set_configuration_path(const std::string &_path) = 0;

//E2E
virtual std::map<e2exf::data_identifier, std::shared_ptr<cfg::e2e>> get_e2e_configuration() const = 0;
virtual bool is_e2e_enabled() const = 0;

virtual bool log_memory() const = 0;
virtual uint32_t get_log_memory_interval() const = 0;

virtual bool log_status() const = 0;
virtual uint32_t get_log_status_interval() const = 0;
};

} // namespace vsomeip
Expand Down
20 changes: 17 additions & 3 deletions implementation/configuration/include/configuration_impl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -149,12 +149,18 @@ class configuration_impl:
instance_t _instance) const;
VSOMEIP_EXPORT bool check_credentials(client_t _client, uint32_t _uid, uint32_t _gid) const;

VSOMEIP_EXPORT std::map<plugin_type_e, std::string> get_plugins(
VSOMEIP_EXPORT std::map<plugin_type_e, std::set<std::string>> get_plugins(
const std::string &_name) const;
// E2E
VSOMEIP_EXPORT std::map<e2exf::data_identifier, std::shared_ptr<cfg::e2e>> get_e2e_configuration() const;
VSOMEIP_EXPORT bool is_e2e_enabled() const;

VSOMEIP_EXPORT bool log_memory() const;
VSOMEIP_EXPORT uint32_t get_log_memory_interval() const;

VSOMEIP_EXPORT bool log_status() const;
VSOMEIP_EXPORT uint32_t get_log_status_interval() const;

private:
void read_data(const std::set<std::string> &_input,
std::vector<element> &_elements,
Expand Down Expand Up @@ -217,10 +223,12 @@ class configuration_impl:

servicegroup *find_servicegroup(const std::string &_name) const;
std::shared_ptr<client> find_client(service_t _service,
instance_t _instance, uint16_t _remote_port, bool _reliable) const;
instance_t _instance) const;
std::shared_ptr<service> find_service(service_t _service, instance_t _instance) const;
std::shared_ptr<eventgroup> find_eventgroup(service_t _service,
instance_t _instance, eventgroup_t _eventgroup) const;
bool find_port(uint16_t &_port, uint16_t _remote, bool _reliable,
std::map<bool, std::set<uint16_t> > &_used_client_ports) const;

void set_magic_cookies_unicast_address();

Expand Down Expand Up @@ -255,7 +263,7 @@ class configuration_impl:
boost::log::trivial::severity_level loglevel_;

std::map<std::string, std::tuple<client_t, std::size_t, std::size_t,
size_t, size_t, std::map<plugin_type_e, std::string>>> applications_;
size_t, size_t, std::map<plugin_type_e, std::set<std::string>>>> applications_;
std::set<client_t> client_identifiers_;

std::map<service_t,
Expand Down Expand Up @@ -341,6 +349,12 @@ class configuration_impl:

bool e2e_enabled_;
std::map<e2exf::data_identifier, std::shared_ptr<cfg::e2e>> e2e_configuration_;

bool log_memory_;
uint32_t log_memory_interval_;

bool log_status_;
uint32_t log_status_interval_;
};

} // namespace cfg
Expand Down
2 changes: 2 additions & 0 deletions implementation/configuration/include/internal.hpp.in
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,14 @@
#define VSOMEIP_ENV_MANDATORY_CONFIGURATION_FILES "VSOMEIP_MANDATORY_CONFIGURATION_FILES"
#define VSOMEIP_ENV_LOAD_PLUGINS "VSOMEIP_LOAD_PLUGINS"
#define VSOMEIP_ENV_CLIENTSIDELOGGING "VSOMEIP_CLIENTSIDELOGGING"
#define VSOMEIP_ENV_DEBUG_CONFIGURATION "VSOMEIP_DEBUG_CONFIGURATION"

#define VSOMEIP_DEFAULT_CONFIGURATION_FILE "/etc/vsomeip.json"
#define VSOMEIP_LOCAL_CONFIGURATION_FILE "./vsomeip.json"
#define VSOMEIP_MANDATORY_CONFIGURATION_FILES "vsomeip_std.json,vsomeip_app.json,vsomeip_plc.json,vsomeip_log.json"

#define VSOMEIP_DEFAULT_CONFIGURATION_FOLDER "/etc/vsomeip"
#define VSOMEIP_DEBUG_CONFIGURATION_FOLDER "/var/opt/public/sin/vsomeip/"
#define VSOMEIP_LOCAL_CONFIGURATION_FOLDER "./vsomeip"

#define VSOMEIP_BASE_PATH "/tmp/"
Expand Down
Loading

0 comments on commit d04934f

Please sign in to comment.