@@ -72,25 +72,17 @@ pub trait StorageManager:
7272 /// Stops all background tasks and persists the data.
7373 async fn shutdown ( & mut self ) ;
7474
75- /// Get shared reference to header storage for parallel access.
76- fn header_storage_ref ( & self ) -> Option < Arc < RwLock < PersistentBlockHeaderStorage > > > {
77- None
78- }
75+ /// Returns shared access to the block headers storage.
76+ fn block_headers ( & self ) -> Arc < RwLock < PersistentBlockHeaderStorage > > ;
7977
80- /// Get shared reference to filter header storage for parallel access.
81- fn filter_header_storage_ref ( & self ) -> Option < Arc < RwLock < PersistentFilterHeaderStorage > > > {
82- None
83- }
78+ /// Returns shared access to the filter headers storage.
79+ fn filter_headers ( & self ) -> Arc < RwLock < PersistentFilterHeaderStorage > > ;
8480
85- /// Get shared reference to filter storage for parallel access.
86- fn filter_storage_ref ( & self ) -> Option < Arc < RwLock < PersistentFilterStorage > > > {
87- None
88- }
81+ /// Returns shared access to the filters storage.
82+ fn filters ( & self ) -> Arc < RwLock < PersistentFilterStorage > > ;
8983
90- /// Get shared reference to block storage for parallel access.
91- fn block_storage_ref ( & self ) -> Option < Arc < RwLock < PersistentBlockStorage > > > {
92- None
93- }
84+ /// Returns shared access to the block storage.
85+ fn blocks ( & self ) -> Arc < RwLock < PersistentBlockStorage > > ;
9486}
9587
9688/// Disk-based storage manager with segmented files and async background saving.
@@ -203,41 +195,6 @@ impl DiskStorageManager {
203195 }
204196 }
205197
206- /// Get a reference to the block headers storage.
207- pub fn header_storage ( & self ) -> Arc < RwLock < PersistentBlockHeaderStorage > > {
208- Arc :: clone ( & self . block_headers )
209- }
210-
211- /// Get a reference to the filter headers storage.
212- pub fn filter_header_storage ( & self ) -> Arc < RwLock < PersistentFilterHeaderStorage > > {
213- Arc :: clone ( & self . filter_headers )
214- }
215-
216- /// Get a reference to the filters storage.
217- pub fn filter_storage ( & self ) -> Arc < RwLock < PersistentFilterStorage > > {
218- Arc :: clone ( & self . filters )
219- }
220-
221- /// Get a reference to the block storage.
222- pub fn block_storage ( & self ) -> Arc < RwLock < PersistentBlockStorage > > {
223- Arc :: clone ( & self . blocks )
224- }
225-
226- /// Get a reference to the transaction storage.
227- pub fn transaction_storage ( & self ) -> Arc < RwLock < PersistentTransactionStorage > > {
228- Arc :: clone ( & self . transactions )
229- }
230-
231- /// Get a reference to the metadata storage.
232- pub fn metadata_storage ( & self ) -> Arc < RwLock < PersistentMetadataStorage > > {
233- Arc :: clone ( & self . metadata )
234- }
235-
236- /// Get a reference to the masternode state storage.
237- pub fn masternode_storage ( & self ) -> Arc < RwLock < PersistentMasternodeStateStorage > > {
238- Arc :: clone ( & self . masternodestate )
239- }
240-
241198 async fn persist ( & self ) {
242199 let storage_path = & self . storage_path ;
243200
@@ -302,20 +259,20 @@ impl StorageManager for DiskStorageManager {
302259 self . persist ( ) . await ;
303260 }
304261
305- fn header_storage_ref ( & self ) -> Option < Arc < RwLock < PersistentBlockHeaderStorage > > > {
306- Some ( Arc :: clone ( & self . block_headers ) )
262+ fn block_headers ( & self ) -> Arc < RwLock < PersistentBlockHeaderStorage > > {
263+ Arc :: clone ( & self . block_headers )
307264 }
308265
309- fn filter_header_storage_ref ( & self ) -> Option < Arc < RwLock < PersistentFilterHeaderStorage > > > {
310- Some ( Arc :: clone ( & self . filter_headers ) )
266+ fn filter_headers ( & self ) -> Arc < RwLock < PersistentFilterHeaderStorage > > {
267+ Arc :: clone ( & self . filter_headers )
311268 }
312269
313- fn filter_storage_ref ( & self ) -> Option < Arc < RwLock < PersistentFilterStorage > > > {
314- Some ( Arc :: clone ( & self . filters ) )
270+ fn filters ( & self ) -> Arc < RwLock < PersistentFilterStorage > > {
271+ Arc :: clone ( & self . filters )
315272 }
316273
317- fn block_storage_ref ( & self ) -> Option < Arc < RwLock < PersistentBlockStorage > > > {
318- Some ( Arc :: clone ( & self . blocks ) )
274+ fn blocks ( & self ) -> Arc < RwLock < PersistentBlockStorage > > {
275+ Arc :: clone ( & self . blocks )
319276 }
320277}
321278
0 commit comments