celestia-node icon indicating copy to clipboard operation
celestia-node copied to clipboard

refactoring(share): Move Pruner Interface to Availability Package

Open walldiss opened this issue 9 months ago • 4 comments

Implementation ideas

Proposal to relocate the Pruner interface to the Availability package to enhance cohesion between components that manage data lifecycle within the node. This change aims to align both pruning and data availability functionalities which are inherently related, albeit performing opposite tasks.

The Pruner and Availability functionalities are closely tied, as they manage different aspects of data lifecycle - storage and removal, respectively. Combining them under the same package will:

  • Improve Cohesion: Both interfaces deal with node type-specific behaviors. Housing them in the same package emphasizes their interrelated roles.
  • Facilitate Access to Shared Context: This move will allow the pruner components to have better awareness of the implementation details of data availability, potentially optimizing the data pruning process.
  • Maintain Modular Design: Despite the proposed integration at the interface level, the Pruner service will continue to reside in its own separate package, maintaining a clean separation of concerns similar to how the DASer is structured.

walldiss avatar May 13 '24 10:05 walldiss