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§

Required Methods§

source

fn serialize_bank_and_storage<S: Serializer>( serializer: S, serializable_bank: &SerializableBankAndStorage<'a, Self> ) -> Result<S::Ok, S::Error>where Self: Sized,

source

fn serialize_accounts_db_fields<S: Serializer>( serializer: S, serializable_db: &SerializableAccountsDb<'a, Self> ) -> Result<S::Ok, S::Error>where Self: Sized,

source

fn deserialize_bank_fields<R>( stream: &mut BufReader<R> ) -> Result<(BankFieldsToDeserialize, AccountsDbFields<Self::SerializableAccountStorageEntry>), Error>where R: Read,

source

fn deserialize_accounts_db_fields<R>( stream: &mut BufReader<R> ) -> Result<AccountsDbFields<Self::SerializableAccountStorageEntry>, Error>where R: Read,

source

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’

Implementors§