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

Evaluate "Unparsed" schema approach #353

Closed
Tracked by #329
mattp-swirldslabs opened this issue Nov 18, 2024 · 0 comments · Fixed by #358
Closed
Tracked by #329

Evaluate "Unparsed" schema approach #353

mattp-swirldslabs opened this issue Nov 18, 2024 · 0 comments · Fixed by #358
Assignees
Labels
Block Node Issues/PR related to the Block Node. Improvement Code changes driven by non business requirements

Comments

@mattp-swirldslabs
Copy link
Contributor

mattp-swirldslabs commented Nov 18, 2024

As a Block Node developer
I want to leverage an alternative schema to selectively "shallow parse" protobuf off the wire
So that we can reduce the cost of marshalling all of the objects while also improving maintainability by using an alternative schema rather than the low-level Bytes API.

While discussing the low-level approach using the Bytes API, Jasper thought we might be able to leverage a different schema to handle selectively parsing levels of objects from the top-down rather than parsing by hand.

Tech Notes

  • Add a new unparsed.proto file to the stream subproject to specify new types
  • Establish the relationship between the new types that mirrors the spec outlined in hedera-protobufs but relies in the bytes keyword in the definitions to stop PBJ and protoc from processing its children
  • Gradle's behavior in the stream subproject may need to change to generate types based on the local schema
@mattp-swirldslabs mattp-swirldslabs self-assigned this Nov 18, 2024
@mattp-swirldslabs mattp-swirldslabs added Block Node Issues/PR related to the Block Node. Improvement Code changes driven by non business requirements labels Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Block Node Issues/PR related to the Block Node. Improvement Code changes driven by non business requirements
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant