Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #928 and #929 - Modularize software bus routing, add msg map hash #947

Merged

Commits on Oct 21, 2020

  1. Fix nasa#928, Extracted msg map and route table from SB

    - Removed all index/pointer accesses of message map and routing table
    - All references now via IDs and APIs
    - Note SB still owns destination logic (unchanged linear linked list)
    - Limited whitespace fixes for readability
    - Resolved observed instances of variables not declared at the
      start of functions
    - Cleaned comments
    - Resolved potential double locks in CFE_SB_SendPrevSubs
    - Route and message write to file no longer guaranteed in msgid
      order to maintain performance for large msgid space implementations
    - Removed unused CFE_SB_FindGlobalMsgIdCnt
    - Clarified CFE_PLATFORM_SB_MAX_MSG_IDS config param description
    - Eliminated potential race in CFE_SB_PipeDeleteFull
    - Individual destination removal debug events no longer reported
      during a CFE_SB_PipeDeleteFull
    skliper committed Oct 21, 2020
    Configuration menu
    Copy the full SHA
    33364e8 View commit details
    Browse the repository at this point in the history
  2. Fix nasa#928, Added software bus routing module

    - Implementation for direct map and unsorted routing table
    - Includes full coverage tests
    - Removed msg key and route stack concepts from direct map
    skliper committed Oct 21, 2020
    Configuration menu
    Copy the full SHA
    0aac36a View commit details
    Browse the repository at this point in the history
  3. Fix nasa#929, Add message map has implementation

    - Message map size based on used routes
    - Oversized (4x) to limit collisions while retaining
      resonable size related to routing table (still smaller)
    - ~10% single collisions seen for full routing table
      with realistic message ID use
    - Oversizing means map can never fill, simplifies logic
    - Observed approximately 10%-20% performance hit, trade
      against memory use (can now use full 32 bit MsgId space)
    - Hash intended for 32 bit, if CFE_SB_MsgId_Atom_t size
      changes may require modification to hash
    - Also added full coverage unit tests
    skliper committed Oct 21, 2020
    Configuration menu
    Copy the full SHA
    5a795ad View commit details
    Browse the repository at this point in the history
  4. Fix nasa#928, Update SB unit test for SBR module with direct link

    - Linking SBR with SB unit test, not stubbed
    - Confirms matching functionality (with updates for
      intended changes)
    skliper committed Oct 21, 2020
    Configuration menu
    Copy the full SHA
    9b56d52 View commit details
    Browse the repository at this point in the history