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,