diff options
Diffstat (limited to 'src/Erebos/Network.hs')
-rw-r--r-- | src/Erebos/Network.hs | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/Erebos/Network.hs b/src/Erebos/Network.hs index 63ce7b8..7f9b060 100644 --- a/src/Erebos/Network.hs +++ b/src/Erebos/Network.hs @@ -9,7 +9,7 @@ module Erebos.Network ( Peer, peerServer, peerStorage, PeerAddress(..), getPeerAddress, getPeerAddresses, - PeerIdentity(..), peerIdentity, + PeerIdentity(..), getPeerIdentity, WaitingRef, wrDigest, Service(..), @@ -202,12 +202,14 @@ instance Ord PeerAddress where compare (DatagramAddress addr) (DatagramAddress addr') = compare addr addr' -data PeerIdentity = PeerIdentityUnknown (TVar [UnifiedIdentity -> ExceptT ErebosError IO ()]) - | PeerIdentityRef WaitingRef (TVar [UnifiedIdentity -> ExceptT ErebosError IO ()]) - | PeerIdentityFull UnifiedIdentity +data PeerIdentity + = PeerIdentityUnknown (TVar [ UnifiedIdentity -> ExceptT ErebosError IO () ]) + | PeerIdentityRef WaitingRef (TVar [ UnifiedIdentity -> ExceptT ErebosError IO () ]) + | PeerIdentityFull UnifiedIdentity -peerIdentity :: MonadIO m => Peer -> m PeerIdentity -peerIdentity = liftIO . atomically . readTVar . peerIdentityVar +-- | Get currently known identity of the given peer +getPeerIdentity :: MonadIO m => Peer -> m PeerIdentity +getPeerIdentity = liftIO . atomically . readTVar . peerIdentityVar data PeerState |