1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
// Copyright 2019 TiKV Project Authors. Licensed under Apache-2.0. use crate::engine::RocksEngine; use crate::raw::DB; use std::sync::Arc; /// A trait to enter the world of engine traits from a raw `Arc<DB>` /// with as little syntax as possible. /// /// This will be used during the transition from RocksDB to the /// `KvEngine` abstraction and then discarded. pub trait Compat { type Other; fn c(&self) -> &Self::Other; } impl Compat for Arc<DB> { type Other = RocksEngine; #[inline] fn c(&self) -> &RocksEngine { RocksEngine::from_ref(self) } }