Merge pull request #1958 from lightpanda-io/runner

Extract Session.wait into a Runner
This commit is contained in:
Karl Seguin
2026-03-24 07:28:18 +08:00
committed by GitHub
16 changed files with 434 additions and 393 deletions

View File

@@ -302,15 +302,8 @@ pub const Client = struct {
var ms_remaining = self.ws.timeout_ms;
while (true) {
switch (cdp.pageWait(ms_remaining)) {
.cdp_socket => {
if (self.readSocket() == false) {
return;
}
last_message = milliTimestamp(.monotonic);
ms_remaining = self.ws.timeout_ms;
},
.no_page => {
const result = cdp.pageWait(ms_remaining) catch |wait_err| switch (wait_err) {
error.NoPage => {
const status = http.tick(ms_remaining) catch |err| {
log.err(.app, "http tick", .{ .err = err });
return;
@@ -324,6 +317,18 @@ pub const Client = struct {
}
last_message = milliTimestamp(.monotonic);
ms_remaining = self.ws.timeout_ms;
continue;
},
else => return wait_err,
};
switch (result) {
.cdp_socket => {
if (self.readSocket() == false) {
return;
}
last_message = milliTimestamp(.monotonic);
ms_remaining = self.ws.timeout_ms;
},
.done => {
const now = milliTimestamp(.monotonic);