Skip to content

Strip DataServiceInterface and rewrite DataService#40

Merged
whyitfor merged 33 commits into
redballoonsecurity:masterfrom
EdwardLarson:feature/data_service_rewrite
Oct 29, 2022
Merged

Strip DataServiceInterface and rewrite DataService#40
whyitfor merged 33 commits into
redballoonsecurity:masterfrom
EdwardLarson:feature/data_service_rewrite

Conversation

@EdwardLarson
Copy link
Copy Markdown
Contributor

@EdwardLarson EdwardLarson commented Sep 30, 2022

Link to Related Issue(s)

Please describe the changes in your request.
Strips a number of unused features and methods from the DataService.

Includes a new DataService implementation which is simpler and should be easier to maintain.

Anyone you think should look at this, specifically?
@whyitfor, @rbs-jacob, and @andresito00 , do you agree that this new version is easier to understand? Especially look at the _apply_patches_to_root method and the _DataRoot + _Waypoint model of data mapping. Are these easy to understand?

Copy link
Copy Markdown
Contributor

@whyitfor whyitfor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to be coming along well. It is much more concise!

See some comments. I think the docstrings you are planning on adding will definitely help with readability.

Comment thread ofrak_core/ofrak/model/data_model.py Outdated
Comment thread ofrak_core/ofrak/model/data_model.py Outdated
Comment thread ofrak_core/ofrak/service/new_data_service.py Outdated
Comment thread ofrak_core/ofrak/service/new_data_service.py Outdated
Comment thread ofrak_core/ofrak/service/new_data_service.py Outdated
Comment thread ofrak_core/ofrak/service/new_data_service.py Outdated
Comment thread ofrak_core/ofrak/service/data_service_i.py Outdated
Comment thread ofrak_core/ofrak/service/new_data_service.py Outdated
Comment thread ofrak_core/ofrak/service/new_data_service.py Outdated
@EdwardLarson EdwardLarson changed the title WIP: Strip DataServiceInterface and rewrite DataService Strip DataServiceInterface and rewrite DataService Oct 20, 2022
Copy link
Copy Markdown
Contributor

@whyitfor whyitfor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I left a few comments.

Comment thread ofrak_core/ofrak/model/data_model.py
Comment thread ofrak_core/ofrak/service/data_service.py
Comment thread ofrak_core/ofrak/service/data_service.py Outdated
@EdwardLarson
Copy link
Copy Markdown
Contributor Author

By the way, I did the profiling that we discussed offline, and for a recursive_unpack on busybox that takes 15 min, the new data service was faster overall by a few seconds, which isn't that significant. But what's notable is that abut 16s less was spent in the new data service compared to the old one, out of abut 30s spent in the data service total (originally). So I don't know if I'd call it a 50% performance improvement, but it's certainly not a drop, and it isn't going to make the data service the bottleneck.

Copy link
Copy Markdown
Contributor

@whyitfor whyitfor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Only outstanding thing seems to be updating ofrak test coverage figure from 85 to 84

@whyitfor whyitfor merged commit a0f4eb9 into redballoonsecurity:master Oct 29, 2022
whyitfor added a commit to whyitfor/ofrak that referenced this pull request Oct 30, 2022
- Bump mkdocs to 1.2.3, as 1.2.2 is exposed to GHSA-qh9q-34h6-hcv9
- Update broken links in NAND Flash Components documentation
- Update Resource docstrings which reference parameters removed in redballoonsecurity#40
- Update ResourceServiceInterface docstrings which reference parameters deprecated in redballoonsecurity#40
EdwardLarson pushed a commit that referenced this pull request Oct 31, 2022
- Bump mkdocs to 1.2.3, as 1.2.2 is exposed to GHSA-qh9q-34h6-hcv9
- Update broken links in NAND Flash Components documentation
- Update Resource docstrings which reference parameters removed in #40
- Update ResourceServiceInterface docstrings which reference parameters deprecated in #40
dannyp303 pushed a commit to marczalik/ofrak that referenced this pull request Mar 31, 2023
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.

3 participants