celestia-node
celestia-node copied to clipboard
refactoring(share): Move Pruner Interface to Availability Package
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 theDASer
is structured.