[TieredStorage] Remove the general-purposed TieredStorageWriter (#196)
#### Problem tiered_storage/writer.rs was added when we planned to support multiple tiers in the tiered-storage (i.e., at least hot and cold). However, as we changed our plan to handle cold accounts as state-compressed accounts, we don't need a general purposed tiered-storage writer at this moment. #### Summary of Changes Remove tiered_storage/writer.rs as we currently don't have plans to develop cold storage. #### Test Plan Existing tiered-storage tests.
This commit is contained in:
parent
e13fbeb198
commit
69b6d5a376
|
@ -11,7 +11,6 @@ pub mod mmap_utils;
|
||||||
pub mod owners;
|
pub mod owners;
|
||||||
pub mod readable;
|
pub mod readable;
|
||||||
mod test_utils;
|
mod test_utils;
|
||||||
pub mod writer;
|
|
||||||
|
|
||||||
use {
|
use {
|
||||||
crate::{
|
crate::{
|
||||||
|
|
|
@ -1,63 +0,0 @@
|
||||||
//! docs/src/proposals/append-vec-storage.md
|
|
||||||
|
|
||||||
use {
|
|
||||||
crate::{
|
|
||||||
account_storage::meta::{StorableAccountsWithHashesAndWriteVersions, StoredAccountInfo},
|
|
||||||
accounts_hash::AccountHash,
|
|
||||||
storable_accounts::StorableAccounts,
|
|
||||||
tiered_storage::{
|
|
||||||
error::TieredStorageError, file::TieredStorageFile, footer::TieredStorageFooter,
|
|
||||||
TieredStorageFormat, TieredStorageResult,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
solana_sdk::account::ReadableAccount,
|
|
||||||
std::{borrow::Borrow, path::Path},
|
|
||||||
};
|
|
||||||
|
|
||||||
#[derive(Debug)]
|
|
||||||
pub struct TieredStorageWriter<'format> {
|
|
||||||
storage: TieredStorageFile,
|
|
||||||
format: &'format TieredStorageFormat,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<'format> TieredStorageWriter<'format> {
|
|
||||||
pub fn new(
|
|
||||||
file_path: impl AsRef<Path>,
|
|
||||||
format: &'format TieredStorageFormat,
|
|
||||||
) -> TieredStorageResult<Self> {
|
|
||||||
Ok(Self {
|
|
||||||
storage: TieredStorageFile::new_writable(file_path)?,
|
|
||||||
format,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn write_accounts<
|
|
||||||
'a,
|
|
||||||
'b,
|
|
||||||
T: ReadableAccount + Sync,
|
|
||||||
U: StorableAccounts<'a, T>,
|
|
||||||
V: Borrow<AccountHash>,
|
|
||||||
>(
|
|
||||||
&self,
|
|
||||||
accounts: &StorableAccountsWithHashesAndWriteVersions<'a, 'b, T, U, V>,
|
|
||||||
skip: usize,
|
|
||||||
) -> TieredStorageResult<Vec<StoredAccountInfo>> {
|
|
||||||
let footer = TieredStorageFooter {
|
|
||||||
account_meta_format: self.format.account_meta_format,
|
|
||||||
owners_block_format: self.format.owners_block_format,
|
|
||||||
account_block_format: self.format.account_block_format,
|
|
||||||
index_block_format: self.format.index_block_format,
|
|
||||||
account_entry_count: accounts
|
|
||||||
.accounts
|
|
||||||
.len()
|
|
||||||
.saturating_sub(skip)
|
|
||||||
.try_into()
|
|
||||||
.expect("num accounts <= u32::MAX"),
|
|
||||||
..TieredStorageFooter::default()
|
|
||||||
};
|
|
||||||
|
|
||||||
footer.write_footer_block(&self.storage)?;
|
|
||||||
|
|
||||||
Err(TieredStorageError::Unsupported())
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue