pub fn search_best_range_before<S: Storage<Block, T>>(
		&self,
		storage: &S,
		block: NumberFor<Block>,
	) -> ClientResult<Option<(ComplexBlockId<Block>, Option<ComplexBlockId<Block>>)>> {
		Ok(self.search_best_before(storage, block, false)?
			.map(|(entry, next)| (entry.valid_from, next)))
	}
/// Wrapper that calls search_before to get range where the given block fits.
Wrapper that calls search_before to get range where the given block fits.
Wrapper that calls search_before to get range where the given block fits .
pub fn search_best_range_before<S: Storage<Block, T>>(
		&self,
		storage: &S,
		block: NumberFor<Block>,
	) -> ClientResult<Option<(ComplexBlockId<Block>, Option<ComplexBlockId<Block>>)>> {
		Ok(self.search_best_before(storage, block, false)?
			.map(|(entry, next)| (entry.valid_from, next)))
	}
pub fn search_best_range_before < S : Storage < Block , T > > ( & self , storage : & S , block : NumberFor < Block > , ) -> ClientResult < Option < ( ComplexBlockId < Block > , Option < ComplexBlockId < Block > > ) > > { Ok ( self . search_best_before ( storage , block , false ) ? . map ( | ( entry , next ) | ( entry . valid_from , next ) ) ) }
Wrapper that calls search_before to get range where the given block fits.
Wrapper that calls search_before to get range where the given block fits .
&self
storage
&S
block
NumberFor<Block>
&self
storage
&S
block
NumberFor<Block>