(
requestId: RequestId,
interruptors: ReadonlyArray<FiberId.FiberId>,
context: Context.Context<never>
)
| 517 | } |
| 518 | |
| 519 | const sendInterrupt = ( |
| 520 | requestId: RequestId, |
| 521 | interruptors: ReadonlyArray<FiberId.FiberId>, |
| 522 | context: Context.Context<never> |
| 523 | ): Effect.Effect<void> => |
| 524 | Effect.async<void>((resume) => { |
| 525 | const parentFiber = Option.getOrThrow(Fiber.getCurrentFiber()) |
| 526 | const runtime = Runtime.make({ |
| 527 | context: parentFiber.currentContext, |
| 528 | fiberRefs: parentFiber.getFiberRefs(), |
| 529 | runtimeFlags: Runtime.defaultRuntime.runtimeFlags |
| 530 | }) |
| 531 | const fiber = options.onFromClient({ |
| 532 | message: { _tag: "Interrupt", requestId, interruptors }, |
| 533 | context, |
| 534 | discard: false |
| 535 | }).pipe( |
| 536 | Effect.timeout(1000), |
| 537 | Runtime.runFork(runtime) |
| 538 | ) |
| 539 | fiber.addObserver(() => { |
| 540 | resume(Effect.void) |
| 541 | }) |
| 542 | }) |
| 543 | |
| 544 | const write = (message: FromServer<Rpcs>): Effect.Effect<void> => { |
| 545 | switch (message._tag) { |
no test coverage detected
searching dependent graphs…