diff options
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_ |