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

Remove Generic Repeater Component from Svc #1822

Merged
merged 1 commit into from
Dec 21, 2022

Conversation

LMPS97
Copy link
Contributor

@LMPS97 LMPS97 commented Dec 20, 2022

Originating Project/Creator Luca Soares
Affected Component Generic Repeater
Affected Architectures(s) Devel
Related Issue(s)
Has Unit Tests (y/n) y
Builds Without Errors (y/n) y
Unit Tests Pass (y/n) y
Documentation Included (y/n) y

Change Description

Removal of the generic repeater component from Svc.

Rationale

The generic repeater component passes a reference of the serialize data to its output ports. This means that when the first output port gets read, the serialize data gets internally marked as read. This causes the other ports to have no data. Thus, any component that uses the other ports will receive no data.

Testing/Review Recommendations

Insure that there is no generic repeater code left and that nothing was broken with its removal.

Future Work

A mechanism should be added to the F' infrastructure to make it possible to have a generic repeater module in the future.

@LeStarch
Copy link
Collaborator

To extrapolate a bit: the GenericRepeater has too many caveats to exist in core. It cannot copy/clone memory as that would require:

  1. Access to dynamic memory
  2. Knowledge of the generic data is clone-able (no internal pointers)

It also cannot easily be used as a copy-free repeater because:

  1. Downstream users may alter the uncloned memory effecting other users.

It also depends on the "port serialization flag" to be turned on.

Given all these usage constraints, lack of customers, and difficulty of expressing how to use this component effectively, we have recommended that it be pulled from core.

@LeStarch LeStarch merged commit 323ba68 into nasa:devel Dec 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants