MCPcopy Create free account
hub / github.com/RtlZeroMemory/Rezi / requestFrame

Function requestFrame

packages/node/src/backend/nodeBackendInline.ts:667–750  ·  view source on GitHub ↗
(drawlist: Uint8Array)

Source from the content-addressed store, hash-verified

665 },
666
667 requestFrame(drawlist: Uint8Array): Promise<void> {
668 if (disposed) return Promise.reject(new Error("NodeBackend(inline): disposed"));
669 if (fatal !== null) return Promise.reject(fatal);
670 if (stopRequested) return Promise.reject(new Error("NodeBackend(inline): stopped"));
671 if (!started) {
672 return backend.start().then(() => backend.requestFrame(drawlist));
673 }
674 if (native === null || engineId === null) {
675 return Promise.reject(new Error("NodeBackend(inline): engine not started"));
676 }
677
678 try {
679 const frameSeq = nextFrameSeq++;
680 const fp = frameAudit.enabled ? drawlistFingerprint(drawlist) : null;
681 maybeDumpDrawlistBytes("backend-inline", "requestFrame", frameSeq, drawlist);
682 if (fp !== null) {
683 frameAudit.emit("frame.submitted", {
684 frameSeq,
685 submitPath: "requestFrame",
686 transport: "inline-v1",
687 ...fp,
688 });
689 frameAudit.emit("frame.submit.payload", {
690 frameSeq,
691 transport: "inline-v1",
692 ...fp,
693 });
694 }
695 const submitRc = native.engineSubmitDrawlist(engineId, drawlist);
696 if (frameAudit.enabled) {
697 frameAudit.emit("frame.submit.result", {
698 frameSeq,
699 submitResult: submitRc,
700 });
701 }
702 if (submitRc < 0) {
703 if (frameAudit.enabled) {
704 frameAudit.emit("frame.completed", {
705 frameSeq,
706 completedResult: submitRc,
707 });
708 }
709 return Promise.reject(
710 new ZrUiError(
711 "ZRUI_BACKEND_ERROR",
712 `engine_submit_drawlist failed: code=${String(submitRc)}`,
713 ),
714 );
715 }
716 if (frameAudit.enabled) {
717 frameAudit.emit("frame.accepted", { frameSeq });
718 }
719 const presentRc = native.enginePresent(engineId);
720 if (frameAudit.enabled) {
721 frameAudit.emit("frame.present.result", {
722 frameSeq,
723 presentResult: presentRc,
724 });

Callers

nothing calls this directly

Calls 7

maybeDumpDrawlistBytesFunction · 0.85
safeErrFunction · 0.85
safeDetailFunction · 0.70
startMethod · 0.65
requestFrameMethod · 0.65
drawlistFingerprintFunction · 0.50
emitMethod · 0.45

Tested by

no test coverage detected