1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
use std::error::Error;
use std::time::Duration;

use futures::compat::Future01CompatExt;
use log::*;
use rusoto_s3::{PutObjectRequest, S3};

use async_trait::async_trait;

#[async_trait]
pub trait EventEmitter {
    type Event;
    type Error: std::fmt::Debug;
    async fn emit_event(&mut self, completed_events: Vec<Self::Event>) -> Result<(), Self::Error>;
}