MCPcopy Create free account
hub / github.com/Effect-TS/effect / sendInterrupt

Function sendInterrupt

packages/effect/src/unstable/rpc/RpcClient.ts:540–558  ·  view source on GitHub ↗
(
    requestId: RequestId,
    interruptors: ReadonlyArray<number>,
    context: Context.Context<never>
  )

Source from the content-addressed store, hash-verified

538 }
539
540 const sendInterrupt = (
541 requestId: RequestId,
542 interruptors: ReadonlyArray<number>,
543 context: Context.Context<never>
544 ): Effect.Effect<void> =>
545 Effect.callback<void>((resume) => {
546 const parentFiber = Fiber.getCurrent()!
547 const fiber = options.onFromClient({
548 message: { _tag: "Interrupt", requestId, interruptors },
549 context,
550 discard: false
551 }).pipe(
552 Effect.timeout(1000),
553 Effect.runForkWith(parentFiber.context)
554 )
555 fiber.addObserver(() => {
556 resume(Effect.void)
557 })
558 })
559
560 const write = (message: FromServer<Rpcs>): Effect.Effect<void> => {
561 switch (message._tag) {

Callers 2

onEffectRequestFunction · 0.85
RpcClient.tsFile · 0.85

Calls 3

addObserverMethod · 0.80
resumeFunction · 0.70
pipeMethod · 0.65

Tested by

no test coverage detected