fn changes_trie_config(&self, block: Block::Hash) -> Result<Option<ChangesTrieConfiguration>, client::error::Error> {
		let mut cached_changes_trie_config = self.changes_trie_config.lock();
		match cached_changes_trie_config.clone() {
			Some(cached_changes_trie_config) => Ok(cached_changes_trie_config),
			None => {
				use client::backend::Backend;
				let changes_trie_config = self
					.state_at(BlockId::Hash(block))?
					.storage(well_known_keys::CHANGES_TRIE_CONFIG)?
					.and_then(|v| Decode::decode(&mut &*v));
				*cached_changes_trie_config = Some(changes_trie_config.clone());
				Ok(changes_trie_config)
			},
		}
	}
/// Read (from storage or cache) changes trie config.
///
/// Currently changes tries configuration is set up once (at genesis) and could not
/// be changed. Thus, we'll actually read value once and then just use cached value.
Read (from storage or cache) changes trie config.
Currently changes tries configuration is set up once (at genesis) and could not
be changed. Thus, we'll actually read value once and then just use cached value.
Read ( from storage or cache ) changes trie config . Currently changes tries configuration is set up once ( at genesis ) and could not be changed . Thus we ' ll actually read value once and then just use cached value .
fn changes_trie_config(&self, block: Block::Hash) -> Result<Option<ChangesTrieConfiguration>, client::error::Error> {
		let mut cached_changes_trie_config = self.changes_trie_config.lock();
		match cached_changes_trie_config.clone() {
			Some(cached_changes_trie_config) => Ok(cached_changes_trie_config),
			None => {
				use client::backend::Backend;
				let changes_trie_config = self
					.state_at(BlockId::Hash(block))?
					.storage(well_known_keys::CHANGES_TRIE_CONFIG)?
					.and_then(|v| Decode::decode(&mut &*v));
				*cached_changes_trie_config = Some(changes_trie_config.clone());
				Ok(changes_trie_config)
			},
		}
	}
fn changes_trie_config ( & self , block : Block :: Hash ) -> Result < Option < ChangesTrieConfiguration > , client :: error :: Error > { let mut cached_changes_trie_config = self . changes_trie_config . lock ( ) ; match cached_changes_trie_config . clone ( ) { Some ( cached_changes_trie_config ) => Ok ( cached_changes_trie_config ) , None => { use client :: backend :: Backend ; let changes_trie_config = self . state_at ( BlockId :: Hash ( block ) ) ? . storage ( well_known_keys :: CHANGES_TRIE_CONFIG ) ? . and_then ( | v | Decode :: decode ( & mut & * v ) ) ; * cached_changes_trie_config = Some ( changes_trie_config . clone ( ) ) ; Ok ( changes_trie_config ) } , } }
Read (from storage or cache) changes trie config.
Read ( from storage or cache ) changes trie config .
&self
block
Block::Hash
&self
block
Block::Hash