Skip to content

Refactor processStream (#510)#510

Closed
terrelln wants to merge 2 commits intofacebook:devfrom
terrelln:export-D96396998
Closed

Refactor processStream (#510)#510
terrelln wants to merge 2 commits intofacebook:devfrom
terrelln:export-D96396998

Conversation

@terrelln
Copy link
Copy Markdown
Contributor

@terrelln terrelln commented Mar 13, 2026

Summary:

Refactor processStream and rename to runDecoder. As part of the refactor I:

  1. Moved all validation that can be done at header decode time to fillStoredStreams()
  2. Split the function up into smaller helpers
  3. Removed a check that the regenerated streams aren't filled, because we already check this in fillStoredStreams()
  4. Deleted the transformInputStreams vector and use the workspaceArena instead

Reviewed By: Cyan4973

Differential Revision: D96396998

@meta-codesync
Copy link
Copy Markdown

meta-codesync Bot commented Mar 13, 2026

@terrelln has exported this pull request. If you are a Meta employee, you can view the originating Diff in D96396998.

@meta-codesync meta-codesync Bot changed the title Refactor processStream Refactor processStream (#510) Mar 13, 2026
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 13, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 13, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 13, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 13, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 13, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 13, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 16, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 16, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 16, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 16, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 16, 2026
Summary:
Pull Request resolved: facebook#510

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 23, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Reviewed By: Cyan4973

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 23, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Reviewed By: Cyan4973

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 23, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Reviewed By: Cyan4973

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 23, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Reviewed By: Cyan4973

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 23, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Reviewed By: Cyan4973

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 23, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Reviewed By: Cyan4973

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 23, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Reviewed By: Cyan4973

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 23, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Reviewed By: Cyan4973

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 23, 2026
Summary:
Pull Request resolved: facebook#510

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Reviewed By: Cyan4973

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 30, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Reviewed By: Cyan4973

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 30, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Reviewed By: Cyan4973

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 30, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Reviewed By: Cyan4973

Differential Revision: D96396998
@terrelln terrelln force-pushed the export-D96396998 branch 2 times, most recently from 73a61f8 to 823ba9a Compare March 30, 2026 21:48
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 30, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Reviewed By: Cyan4973

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 30, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Reviewed By: Cyan4973

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 30, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Reviewed By: Cyan4973

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 30, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Reviewed By: Cyan4973

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Mar 30, 2026
Summary:
Pull Request resolved: facebook#510

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Reviewed By: Cyan4973

Differential Revision: D96396998
terrelln added 2 commits April 1, 2026 13:17
Summary:

Improve the ability to catch OOB-access and use-after-free bugs in OpenZL's arenas by using memory poisoning.

Reviewed By: Cyan4973

Differential Revision: D96393907
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Reviewed By: Cyan4973

Differential Revision: D96396998
terrelln added a commit to terrelln/openzl that referenced this pull request Apr 1, 2026
Summary:

Refactor `processStream` and rename to `runDecoder`. As part of the refactor I:
1. Moved all validation that can be done at header decode time to `fillStoredStreams()`
2. Split the function up into smaller helpers
3. Removed a check that the regenerated streams aren't filled, because we already check this in `fillStoredStreams()`
4. Deleted the `transformInputStreams` vector and use the `workspaceArena` instead

Reviewed By: Cyan4973

Differential Revision: D96396998
@meta-codesync meta-codesync Bot closed this in d80583a Apr 1, 2026
@meta-codesync
Copy link
Copy Markdown

meta-codesync Bot commented Apr 1, 2026

This pull request has been merged in d80583a.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant