Always monitor the CDP client socket, even on page.wait

This commit is contained in:
Karl Seguin
2025-09-02 19:45:49 +08:00
parent a791212d89
commit 2ac9b2088a
6 changed files with 54 additions and 24 deletions

View File

@@ -83,16 +83,21 @@ pub fn deinit(self: *Http) void {
self.arena.deinit();
}
pub fn poll(self: *Http, timeout_ms: i32, socket: posix.socket_t) bool {
return self.client.tick(.{
.timeout_ms = timeout_ms,
.poll_socket = socket,
}) catch |err| {
pub fn poll(self: *Http, timeout_ms: i32) Client.PerformStatus {
return self.client.tick(timeout_ms) catch |err| {
log.err(.app, "http poll", .{ .err = err });
return false;
return .normal;
};
}
pub fn monitorSocket(self: *Http, socket: posix.socket_t) void {
self.client.extra_socket = socket;
}
pub fn unmonitorSocket(self: *Http) void {
self.client.extra_socket = null;
}
pub fn newConnection(self: *Http) !Connection {
return Connection.init(self.ca_blob, &self.opts);
}