HomePhabricator

Implement a stream iterator and hashing iterator

Description

Implement a stream iterator and hashing iterator

Summary:
Ref T10604. For Git LFS, we need to compute file hashes as we accept data.

This allows a stream to be wrapped in an iterator, and an iterator to be wrapped in another iterator which does hashing.

This will ultimately let us pump data into Files without needing 100GB of memory to accept a 100GB file.

Test Plan: Added unit test, ran unit test.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10604

Differential Revision: https://secure.phabricator.com/D15491

Details

Provenance
epriestleyAuthored on Mar 18 2016, 12:00 PM
epriestleyPushed on Mar 18 2016, 4:11 PM
Reviewer
chad
Differential Revision
D15491: Implement a stream iterator and hashing iterator
Parents
rPHUa4ca530644be: Move request decoding/streaming to AphrontRequestStream
Branches
Unknown
Tags
Unknown
Tasks
T10604: Allow application code to stream request data
Build Status
Buildable 11210
Build 13915: Run Core Tests

Event Timeline