Trait solana_runtime::serde_snapshot::TypeContext
source · trait TypeContext<'a>: PartialEq {
type SerializableAccountStorageEntry: Serialize + DeserializeOwned + From<&'a AccountStorageEntry> + SerializableStorage + Sync;
// Required methods
fn serialize_bank_and_storage<S: Serializer>(
serializer: S,
serializable_bank: &SerializableBankAndStorage<'a, Self>
) -> Result<S::Ok, S::Error>
where Self: Sized;
fn serialize_accounts_db_fields<S: Serializer>(
serializer: S,
serializable_db: &SerializableAccountsDb<'a, Self>
) -> Result<S::Ok, S::Error>
where Self: Sized;
fn deserialize_bank_fields<R>(
stream: &mut BufReader<R>
) -> Result<(BankFieldsToDeserialize, AccountsDbFields<Self::SerializableAccountStorageEntry>), Error>
where R: Read;
fn deserialize_accounts_db_fields<R>(
stream: &mut BufReader<R>
) -> Result<AccountsDbFields<Self::SerializableAccountStorageEntry>, Error>
where R: Read;
fn reserialize_bank_fields_with_hash<R, W>(
stream_reader: &mut BufReader<R>,
stream_writer: &mut BufWriter<W>,
accounts_hash: &AccountsHash,
incremental_snapshot_persistence: Option<&BankIncrementalSnapshotPersistence>
) -> Result<(), Box<ErrorKind>>
where R: Read,
W: Write;
}
Required Associated Types§
type SerializableAccountStorageEntry: Serialize + DeserializeOwned + From<&'a AccountStorageEntry> + SerializableStorage + Sync
Required Methods§
fn serialize_bank_and_storage<S: Serializer>( serializer: S, serializable_bank: &SerializableBankAndStorage<'a, Self> ) -> Result<S::Ok, S::Error>where Self: Sized,
fn serialize_accounts_db_fields<S: Serializer>( serializer: S, serializable_db: &SerializableAccountsDb<'a, Self> ) -> Result<S::Ok, S::Error>where Self: Sized,
fn deserialize_bank_fields<R>( stream: &mut BufReader<R> ) -> Result<(BankFieldsToDeserialize, AccountsDbFields<Self::SerializableAccountStorageEntry>), Error>where R: Read,
fn deserialize_accounts_db_fields<R>( stream: &mut BufReader<R> ) -> Result<AccountsDbFields<Self::SerializableAccountStorageEntry>, Error>where R: Read,
sourcefn reserialize_bank_fields_with_hash<R, W>(
stream_reader: &mut BufReader<R>,
stream_writer: &mut BufWriter<W>,
accounts_hash: &AccountsHash,
incremental_snapshot_persistence: Option<&BankIncrementalSnapshotPersistence>
) -> Result<(), Box<ErrorKind>>where
R: Read,
W: Write,
fn reserialize_bank_fields_with_hash<R, W>( stream_reader: &mut BufReader<R>, stream_writer: &mut BufWriter<W>, accounts_hash: &AccountsHash, incremental_snapshot_persistence: Option<&BankIncrementalSnapshotPersistence> ) -> Result<(), Box<ErrorKind>>where R: Read, W: Write,
deserialize the bank from ‘stream_reader’ modify the accounts_hash reserialize the bank to ‘stream_writer’