diff options
author | Roman Smrž <roman.smrz@seznam.cz> | 2025-07-28 19:16:18 +0200 |
---|---|---|
committer | Roman Smrž <roman.smrz@seznam.cz> | 2025-07-29 09:33:16 +0200 |
commit | d8160f03094e6d18509956efe9bb6aeda31d79c5 (patch) | |
tree | ef45877dcf6e64591ab08fec18356c1bc5738388 /src/Erebos/Network.hs | |
parent | 8bcaaf5524504f01bd5643d74848cec625370aa9 (diff) |
Return peer address in IO monad
Changelog: API: Replaced `Network.peerAddress` with `getPeerAddress` and added `getPeerAddresses`
Diffstat (limited to 'src/Erebos/Network.hs')
-rw-r--r-- | src/Erebos/Network.hs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/Erebos/Network.hs b/src/Erebos/Network.hs index 76ecd82..63ce7b8 100644 --- a/src/Erebos/Network.hs +++ b/src/Erebos/Network.hs @@ -8,7 +8,7 @@ module Erebos.Network ( ServerOptions(..), serverIdentity, defaultServerOptions, Peer, peerServer, peerStorage, - PeerAddress(..), peerAddress, + PeerAddress(..), getPeerAddress, getPeerAddresses, PeerIdentity(..), peerIdentity, WaitingRef, wrDigest, Service(..), @@ -139,6 +139,14 @@ data Peer = Peer , peerWaitingRefs :: TMVar [WaitingRef] } +-- | Get current main address of the peer (used to send new packets). +getPeerAddress :: MonadIO m => Peer -> m PeerAddress +getPeerAddress = liftIO . return . peerAddress + +-- | Get all known addresses of given peer. +getPeerAddresses :: MonadIO m => Peer -> m [ PeerAddress ] +getPeerAddresses = fmap (: []) . getPeerAddress + peerServer :: Peer -> Server peerServer = peerServer_ |