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.

Comments

 
*