sqs_service

Function sqs_service 

Source
pub async fn sqs_service<S3T, SInit, SqsT, EventT, CompletedEventT, EventDecoderT, EventEncoderT, EventHandlerT, CacheT, OnAck, EmissionResult, OnEmission>(
    queue_url: impl Into<String>,
    initial_messages: impl IntoIterator<Item = Message>,
    dest_bucket: impl Into<String>,
    consume_policy: ConsumePolicy,
    completion_policy: CompletionPolicy,
    s3_init: SInit,
    s3_client: S3T,
    sqs_client: SqsT,
    event_decoder: EventDecoderT,
    event_encoder: EventEncoderT,
    event_handler: EventHandlerT,
    cache: CacheT,
    on_ack: OnAck,
    on_emit: OnEmission,
) -> Result<(), Box<dyn Error>>
where S3T: S3 + Clone + Send + Sync + 'static, SInit: Fn(String) -> S3T + Clone + Send + Sync + 'static, SqsT: Sqs + Clone + Send + Sync + 'static, CompletedEventT: Clone + Send + Sync + 'static, EventT: Clone + Send + Sync + 'static, EventDecoderT: PayloadDecoder<EventT> + Clone + Send + Sync + 'static, EventEncoderT: CompletionEventSerializer<CompletedEvent = CompletedEventT, Output = Vec<u8>, Error = <EventHandlerT as EventHandler>::Error> + Clone + Send + Sync + 'static, EventHandlerT: EventHandler<InputEvent = EventT, OutputEvent = CompletedEventT, Error = Error> + Clone + Send + Sync + 'static, CacheT: Cache + Clone + Send + Sync + 'static, OnAck: Fn(SqsCompletionHandlerActor<CompletedEventT, <EventHandlerT as EventHandler>::Error, SqsT>, Result<String, String>) + Send + Sync + 'static, OnEmission: Fn(String, String) -> EmissionResult + Send + Sync + 'static, EmissionResult: Future<Output = Result<(), Box<dyn Error + Send + Sync + 'static>>> + Send + 'static,