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

Function releaseTakers

packages/effect/src/Queue.ts:1838–1850  ·  view source on GitHub ↗
(self: Enqueue<A, E>)

Source from the content-addressed store, hash-verified

1836const exitInterrupt = internalEffect.exitInterrupt() as Failure<never, never>
1837
1838const releaseTakers = <A, E>(self: Enqueue<A, E>) => {
1839 self.scheduleRunning = false
1840 if (self.state._tag === "Done" || self.state.takers.size === 0) {
1841 return
1842 }
1843 for (const taker of self.state.takers) {
1844 self.state.takers.delete(taker)
1845 taker(internalEffect.exitVoid)
1846 if (self.messages.length === 0) {
1847 break
1848 }
1849 }
1850}
1851
1852const scheduleReleaseTaker = <A, E>(self: Enqueue<A, E>) => {
1853 if (self.scheduleRunning || self.state._tag === "Done" || self.state.takers.size === 0) {

Callers 3

offerFunction · 0.85
offerUnsafeFunction · 0.85
scheduleReleaseTakerFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected