Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data DNSSemaphore m
- newLedgerAndPublicRootDNSSemaphore ∷ MonadSTM m ⇒ m (DNSSemaphore m)
- newDNSLocalRootSemaphore ∷ MonadSTM m ⇒ STM m (DNSSemaphore m)
- withDNSSemaphore ∷ (MonadSTM m, MonadThrow m) ⇒ DNSSemaphore m → m a → m a
DNS semaphore
data DNSSemaphore m Source #
A semaphore used to limit concurrency of dns names resolution.
newLedgerAndPublicRootDNSSemaphore ∷ MonadSTM m ⇒ m (DNSSemaphore m) Source #
Create a DNSSemaphore
for root and ledger peers.
newDNSLocalRootSemaphore ∷ MonadSTM m ⇒ STM m (DNSSemaphore m) Source #
Create a DNSSemaphore
for local root peers.
withDNSSemaphore ∷ (MonadSTM m, MonadThrow m) ⇒ DNSSemaphore m → m a → m a Source #
Run a computation by attempting to acquire the semaphore first. On termination or failure free the semaphore