@@ -13,6 +13,7 @@ use apollo_storage::storage_reader_types::GenericStorageReaderServer;
1313use apollo_storage:: StorageConfig ;
1414use starknet_api:: class_cache:: GlobalContractCache ;
1515use thiserror:: Error ;
16+ use tokio:: task:: AbortHandle ;
1617use tracing:: instrument;
1718
1819use crate :: metrics:: { increment_n_classes, record_class_size, CairoClassType , ClassObjectType } ;
@@ -249,7 +250,7 @@ pub struct ClassHashStorage {
249250 writer : Arc < Mutex < apollo_storage:: StorageWriter > > ,
250251 // Kept alive to maintain the server running.
251252 #[ allow( dead_code) ]
252- storage_reader_server : Option < Arc < GenericStorageReaderServer > > ,
253+ storage_reader_server_handle : Option < AbortHandle > ,
253254}
254255
255256impl ClassHashStorage {
@@ -264,11 +265,10 @@ impl ClassHashStorage {
264265 storage_reader_server_config,
265266 ) ?;
266267
267- Ok ( Self {
268- reader,
269- writer : Arc :: new ( Mutex :: new ( writer) ) ,
270- storage_reader_server : storage_reader_server. map ( Arc :: new) ,
271- } )
268+ let storage_reader_server_handle =
269+ GenericStorageReaderServer :: spawn_if_enabled ( storage_reader_server) ;
270+
271+ Ok ( Self { reader, writer : Arc :: new ( Mutex :: new ( writer) ) , storage_reader_server_handle } )
272272 }
273273
274274 fn writer ( & self ) -> ClassHashStorageResult < LockedWriter < ' _ > > {
0 commit comments