Skip to content

Do not reparse the full already parsed IOP after new segments arrive - #708

Open
martonmiklos wants to merge 1 commit into
mainfrom
martonmiklos/do_not_reparse_whole_iop_after_segment_reception
Open

Do not reparse the full already parsed IOP after new segments arrive#708
martonmiklos wants to merge 1 commit into
mainfrom
martonmiklos/do_not_reparse_whole_iop_after_segment_reception

Conversation

@martonmiklos

Copy link
Copy Markdown
Contributor

Describe your changes

In the case an IOP segment is being transferred the whole pool is being reparsed.

This means in the case if some object properties (like object hide/show state) are being set by commands after the reparsing these changes will be lost. This goes against the what the standard says about the visibility effect:

kép

Fixes #Open-Agriculture/AgIsoVirtualTerminal/201

How has this been tested?

Built AgIsoVT with this stack version and checked a side effect caused by the reparsing, which is gone after this fix.

@martonmiklos
martonmiklos force-pushed the martonmiklos/do_not_reparse_whole_iop_after_segment_reception branch 2 times, most recently from 6ad5421 to 0e0d97c Compare August 18, 2026 07:47
@martonmiklos
martonmiklos force-pushed the martonmiklos/do_not_reparse_whole_iop_after_segment_reception branch from 0e0d97c to 2cda851 Compare August 18, 2026 07:53
@sonarqubecloud

Copy link
Copy Markdown

/// @param[in] d A pointer to the object pool data
IopDataComponent(const std::vector<std::uint8_t> &d) :
data(d) {}
bool processed = false; ///< This variable is set to true after this IOP section is being parset

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Typo: parsed :)

@sujandumaru

Copy link
Copy Markdown
Member

Is it possible to add a test for this?

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