MCPcopy Create free account
hub / github.com/cloudflare/computer / pull

Function pull

packages/computer/src/runtime/runtime.ts:184–203  ·  view source on GitHub ↗
(controller)

Source from the content-addressed store, hash-verified

182 const stream = new ReadableStream<WorkspaceRuntimeEvent<E>>(
183 {
184 async pull(controller) {
185 if (claimed === "result") {
186 controller.error(new Error("runtime handle already consumed by result()"));
187 return;
188 }
189 claimed = "stream";
190 reader ??= handle.getReader() as ReadableStreamDefaultReader<WorkspaceRuntimeEvent<E>>;
191 try {
192 const next = await reader.read();
193 if (next.done) {
194 reader.releaseLock();
195 reader = undefined;
196 controller.close();
197 } else controller.enqueue(next.value);
198 } catch (error) {
199 reader?.releaseLock();
200 reader = undefined;
201 controller.error(error);
202 }
203 },
204 async cancel(reason) {
205 if (reader) {
206 try {

Callers

nothing calls this directly

Calls 5

transformModuleEventsFunction · 0.85
errorMethod · 0.65
getReaderMethod · 0.65
readMethod · 0.65
closeMethod · 0.65

Tested by

no test coverage detected