From 5fd4f52e5c6312bc54174b69a219008c52a4e6f6 Mon Sep 17 00:00:00 2001 From: Amaury Chamayou Date: Fri, 4 Sep 2026 12:20:32 +0100 Subject: [PATCH 1/2] Extract libuv ownership primitives into acyclic uv component Move close_ptr, proxy_ptr, and with_uv_handle from src/host/proxy.h to a new internal header src/uv/proxy.h, preserving the asynchost namespace and behavior. This removes the direct source dependency http -> host caused by src/http/curl.h including src/host/proxy.h. Update all in-tree includes to reference uv/proxy.h directly, and add the new uv source component to scripts/source-dependencies.json with no allowed internal CCF dependencies. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- scripts/source-dependencies.json | 3 ++- src/host/after_io.h | 2 +- src/host/before_io.h | 2 +- src/host/every_io.h | 2 +- src/host/signal.h | 2 +- src/host/tcp.h | 2 +- src/host/timer.h | 2 +- src/host/udp.h | 2 +- src/http/curl.h | 2 +- src/{host => uv}/proxy.h | 0 10 files changed, 10 insertions(+), 9 deletions(-) rename src/{host => uv}/proxy.h (100%) diff --git a/scripts/source-dependencies.json b/scripts/source-dependencies.json index 658749b2abbb..0adc188570e3 100644 --- a/scripts/source-dependencies.json +++ b/scripts/source-dependencies.json @@ -32,6 +32,7 @@ "tcp": ["ds"], "threading": [], "tls": ["crypto", "ds"], - "udp": ["ds"] + "udp": ["ds"], + "uv": [] } } diff --git a/src/host/after_io.h b/src/host/after_io.h index 7c9af375582b..f39b502b25d2 100644 --- a/src/host/after_io.h +++ b/src/host/after_io.h @@ -2,7 +2,7 @@ // Licensed under the Apache 2.0 License. #pragma once -#include "proxy.h" +#include "uv/proxy.h" namespace asynchost { diff --git a/src/host/before_io.h b/src/host/before_io.h index c08225b1de45..763a601b6d3a 100644 --- a/src/host/before_io.h +++ b/src/host/before_io.h @@ -3,7 +3,7 @@ #pragma once #include "ds/internal_logger.h" -#include "proxy.h" +#include "uv/proxy.h" namespace asynchost { diff --git a/src/host/every_io.h b/src/host/every_io.h index 4e40067a6c70..8bbb47c6ca84 100644 --- a/src/host/every_io.h +++ b/src/host/every_io.h @@ -2,7 +2,7 @@ // Licensed under the Apache 2.0 License. #pragma once -#include "proxy.h" +#include "uv/proxy.h" namespace asynchost { diff --git a/src/host/signal.h b/src/host/signal.h index b664a8e45874..893a1c30436c 100644 --- a/src/host/signal.h +++ b/src/host/signal.h @@ -2,7 +2,7 @@ // Licensed under the Apache 2.0 License. #pragma once -#include "proxy.h" +#include "uv/proxy.h" #include diff --git a/src/host/tcp.h b/src/host/tcp.h index d3f108854a51..1d2d5f4c6b36 100644 --- a/src/host/tcp.h +++ b/src/host/tcp.h @@ -8,8 +8,8 @@ #include "dns.h" #include "ds/internal_logger.h" #include "ds/pending_io.h" -#include "proxy.h" #include "socket.h" +#include "uv/proxy.h" #include #include diff --git a/src/host/timer.h b/src/host/timer.h index 2f8bb9d7dfd8..10fba258395d 100644 --- a/src/host/timer.h +++ b/src/host/timer.h @@ -2,7 +2,7 @@ // Licensed under the Apache 2.0 License. #pragma once -#include "proxy.h" +#include "uv/proxy.h" #include diff --git a/src/host/udp.h b/src/host/udp.h index f62329056374..4671211e72d2 100644 --- a/src/host/udp.h +++ b/src/host/udp.h @@ -7,8 +7,8 @@ #include "dns.h" #include "ds/internal_logger.h" #include "ds/pending_io.h" -#include "proxy.h" #include "socket.h" +#include "uv/proxy.h" #include diff --git a/src/http/curl.h b/src/http/curl.h index 804e1c9c30e5..cca54aa3b50d 100644 --- a/src/http/curl.h +++ b/src/http/curl.h @@ -7,7 +7,7 @@ #include "ccf/http_configuration.h" #include "ccf/rest_verb.h" #include "ds/internal_logger.h" -#include "host/proxy.h" +#include "uv/proxy.h" #include #include diff --git a/src/host/proxy.h b/src/uv/proxy.h similarity index 100% rename from src/host/proxy.h rename to src/uv/proxy.h From 5a899b037a41996b344c0dc8c64ccd408c016e69 Mon Sep 17 00:00:00 2001 From: achamayou Date: Fri, 4 Sep 2026 14:46:07 +0100 Subject: [PATCH 2/2] Include standard utilities in uv proxy Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- src/uv/proxy.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/uv/proxy.h b/src/uv/proxy.h index 7efbf6e9d634..b8151981419c 100644 --- a/src/uv/proxy.h +++ b/src/uv/proxy.h @@ -2,7 +2,9 @@ // Licensed under the Apache 2.0 License. #pragma once +#include #include +#include #include namespace asynchost