I have an axum async handler as follows (simplified): async fn put_handler(Path(method_id): Path<u16>, Query(params): Query<Params>, header_map: HeaderMap, body: Bytes) -> impl IntoResponse { if CACHES.put(method_id, params.key.unwrap(), params.value,unwrap()).is_ok() { StatusCode::OK } else { StatusCode::INTERNAL_SERVER_ERROR } } 'CACHES.put' is ultrafast, in the nanoseconds range. That's why is sync. It only performs a 'put' in a cache and sets the params.value content to a in-memory buffer...