-
Notifications
You must be signed in to change notification settings - Fork 24
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Rewrite heartbeat management - Runs on the local device as binding and subscription manager - Updates local data function data store, which will then automatically trigger notifications to all subscribers - Only handles heartbeat creation (and sending)! - Ensures heartbeat related requirements (heartbeat id global, data only updated on an actual heartbeat, etc.) - A heartbeat interval has to be provided when initialising the service! - Heartbeats automatically stop/resume depending on existing subscribers - Heartbeat Manager currently only works for a single entity requiring/providing heartbeats - Update binding and subscription managers - Add tests - Use sync.Mutex to avoid race conditions - Use new DeepCopy helper to allow safe editing of model data for its own usage reasons and avoid crashes - Fix non working Remove implementations - Pass localDevice on initialisation instead on each function call - Update service configuration - Add list of entityTypes that will be created, at least 1 is required to be provided - Add heartbeat timeout - Update services API - Remove publich functions that just pass through accessible localDevice functions - Update features - update feature creation API to require corresponding local entity instead of local device - move tests into features_test package - Update DeviceLocalImpl API - remove FeatureByTypeAndRole, instead the EntityLocalImpl FeatureOfTypeAndRole should be used - Add a new helper `DeepCopy` to easily copy SPINE model data structures, which is sometimes required to be used to avoid race conditions - Update spine sender - Add local cache for sent notify messages and public interface method to search the cache - The cache allows to find notify messages causing the remote device to send an error message != 0 and implement some means of error handling for these - Fix linter warning because of duplicate file names for mock and implementation - Update generated mock - Add tests for EntityLocalImpl - Various data race fixes - Update various pieces to use new/changed APIs
- Loading branch information
1 parent
335c5c6
commit a56f838
Showing
52 changed files
with
936 additions
and
417 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.