remove async_trait for TableRepair
This commit is contained in:
parent
5475da8ea8
commit
42e2ac4ec1
1 changed files with 3 additions and 6 deletions
|
@ -1,5 +1,6 @@
|
|||
use std::sync::Arc;
|
||||
use std::time::Duration;
|
||||
use std::future::Future;
|
||||
|
||||
use async_trait::async_trait;
|
||||
use tokio::sync::watch;
|
||||
|
@ -93,17 +94,16 @@ pub async fn launch_online_repair(
|
|||
|
||||
// ----
|
||||
|
||||
#[async_trait]
|
||||
trait TableRepair: Send + Sync + 'static {
|
||||
type T: TableSchema;
|
||||
|
||||
fn table(garage: &Garage) -> &Table<Self::T, TableShardedReplication>;
|
||||
|
||||
async fn process(
|
||||
fn process(
|
||||
&mut self,
|
||||
garage: &Garage,
|
||||
entry: <<Self as TableRepair>::T as TableSchema>::E,
|
||||
) -> Result<bool, Error>;
|
||||
) -> impl Future<Output=Result<bool, Error>> + Send;
|
||||
}
|
||||
|
||||
struct TableRepairWorker<T: TableRepair> {
|
||||
|
@ -174,7 +174,6 @@ impl<R: TableRepair> Worker for TableRepairWorker<R> {
|
|||
|
||||
struct RepairVersions;
|
||||
|
||||
#[async_trait]
|
||||
impl TableRepair for RepairVersions {
|
||||
type T = VersionTable;
|
||||
|
||||
|
@ -221,7 +220,6 @@ impl TableRepair for RepairVersions {
|
|||
|
||||
struct RepairBlockRefs;
|
||||
|
||||
#[async_trait]
|
||||
impl TableRepair for RepairBlockRefs {
|
||||
type T = BlockRefTable;
|
||||
|
||||
|
@ -257,7 +255,6 @@ impl TableRepair for RepairBlockRefs {
|
|||
|
||||
struct RepairMpu;
|
||||
|
||||
#[async_trait]
|
||||
impl TableRepair for RepairMpu {
|
||||
type T = MultipartUploadTable;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue