sentinel_driver/connection/
pipeline_impl.rs1use super::{pipeline, Connection, PipelineBatch, Result};
2
3impl Connection {
4 pub fn pipeline(&self) -> PipelineBatch {
8 PipelineBatch::new()
9 }
10
11 pub async fn execute_pipeline(
13 &mut self,
14 batch: PipelineBatch,
15 ) -> Result<Vec<pipeline::QueryResult>> {
16 let batch_len = batch.len();
17 self.instr()
18 .on_event(&crate::Event::PipelineStart { batch_len });
19 let started = std::time::Instant::now();
20 let res = batch.execute(&mut self.conn).await;
21 let total_duration = started.elapsed();
22 self.instr().on_event(&crate::Event::PipelineFlush {
23 batch_len,
24 total_duration,
25 });
26 res
27 }
28}