Skip to content

Commit 8136c94

Browse files
committed
Make less copies of extension services.
Signed-off-by: David Calavera <[email protected]>
1 parent 7a9d6e2 commit 8136c94

File tree

1 file changed

+8
-14
lines changed

1 file changed

+8
-14
lines changed

lambda-extension/src/extension.rs

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,8 @@ where
222222

223223
/// Execute the given extension
224224
pub async fn run(self) -> Result<(), Error> {
225+
trace!("Running Lambda extension");
226+
225227
let client = &Client::builder().build()?;
226228

227229
let extension_id = register(client, self.extension_name, self.events).await?;
@@ -234,12 +236,13 @@ where
234236
validate_buffering_configuration(self.log_buffering)?;
235237

236238
let addr = SocketAddr::from(([0, 0, 0, 0], self.log_port_number));
239+
let service = log_processor.make_service(());
240+
let service = Arc::new(Mutex::new(service.await.unwrap()));
237241
tokio::task::spawn(async move {
238242
trace!("Creating new logs processor Service");
239243

240244
loop {
241-
let service = log_processor.make_service(());
242-
let service = Arc::new(Mutex::new(service.await.unwrap()));
245+
let service: Arc<Mutex<_>> = service.clone();
243246
let make_service = service_fn(move |req: Request<Incoming>| log_wrapper(service.clone(), req));
244247

245248
let listener = TcpListener::bind(addr).await.unwrap();
@@ -276,23 +279,14 @@ where
276279

277280
validate_buffering_configuration(self.telemetry_buffering)?;
278281

279-
// Spawn task to run processor
280-
// let make_service = service_fn(move |_socket: &AddrStream| {
281-
// trace!("Creating new telemetry processor Service");
282-
// let service = telemetry_processor.make_service(());
283-
// async move {
284-
// let service = Arc::new(Mutex::new(service.await?));
285-
// Ok::<_, T::MakeError>(service_fn(move |req| telemetry_wrapper(service.clone(), req)))
286-
// }
287-
// });
288-
289282
let addr = SocketAddr::from(([0, 0, 0, 0], self.telemetry_port_number));
283+
let service = telemetry_processor.make_service(());
284+
let service = Arc::new(Mutex::new(service.await.unwrap()));
290285
tokio::task::spawn(async move {
291286
trace!("Creating new telemetry processor Service");
292287

293288
loop {
294-
let service = telemetry_processor.make_service(());
295-
let service = Arc::new(Mutex::new(service.await.unwrap()));
289+
let service = service.clone();
296290
let make_service = service_fn(move |req| telemetry_wrapper(service.clone(), req));
297291

298292
let listener = TcpListener::bind(addr).await.unwrap();

0 commit comments

Comments
 (0)