Project Sharing Memory Spec
Requirements
- A user should be able to synchronize projetcs even when memory is sparse.
Doability Analysis
Is-State of Project Sharing Memory Usage
- missing files are calculated per project
- one archive per project is created
- archives are stored in a system-dependent temporary folder
- files are read/archive is written with 32kb buffers
- one big archive is created from those project archives
- archive is stored in a system-dependent temporary folder
- files are read/archive is written with 32kb buffers
- big archive is sent
- archive is completely read into memory
- archive is sent package-based
- archives are deleted
Required Mechanisms
- stream archive instead of loading it into memory completely first
Implementation
The XMPPTransmitter has two methods that are related to this mechanism: sendArchive and receiveArchive. Those would need to be refactored to use a streaming-based approach instead of a package-based one.
*