mirror of https://github.com/voidlizard/hbs2
emit PeerExpiredEventKey (PeerExpiredEvent @e p)
This commit is contained in:
parent
8944b5a1c0
commit
563377c855
|
@ -95,6 +95,7 @@ library
|
|||
, HBS2.Net.Proto.BlockInfo
|
||||
, HBS2.Net.Proto.Definition
|
||||
, HBS2.Net.Proto.EncryptionHandshake
|
||||
, HBS2.Net.Proto.Event.PeerExpired
|
||||
, HBS2.Net.Proto.Peer
|
||||
, HBS2.Net.Proto.PeerAnnounce
|
||||
, HBS2.Net.Proto.PeerExchange
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
module HBS2.Net.Proto.Event.PeerExpired where
|
||||
|
||||
import HBS2.Clock
|
||||
import HBS2.Events
|
||||
import HBS2.Net.Proto
|
||||
import HBS2.Prelude.Plated
|
||||
|
||||
data PeerExpires = PeerExpires
|
||||
|
||||
data instance EventKey e PeerExpires =
|
||||
PeerExpiredEventKey
|
||||
deriving stock (Typeable, Eq, Generic)
|
||||
|
||||
data instance Event e PeerExpires =
|
||||
PeerExpiredEvent (Peer e)
|
||||
deriving stock (Typeable)
|
||||
|
||||
instance EventType (Event e PeerExpires) where
|
||||
isPersistent = True
|
||||
|
||||
instance Expires (EventKey e PeerExpires) where
|
||||
expiresIn _ = Nothing
|
||||
|
||||
instance Hashable (EventKey e PeerExpires)
|
||||
|
||||
--instance ( Serialise (PubKey 'Sign (Encryption e))
|
||||
-- , Serialise (PubKey 'Encrypt (Encryption e))
|
||||
-- , Serialise (Signature (Encryption e))
|
||||
-- , Serialise PeerNonce
|
||||
-- )
|
||||
|
||||
-- => Serialise PeerExpires
|
||||
|
|
@ -7,6 +7,7 @@ import HBS2.Clock
|
|||
import HBS2.Events
|
||||
import HBS2.Net.Auth.Credentials
|
||||
import HBS2.Net.PeerLocator
|
||||
import HBS2.Net.Proto.Event.PeerExpired
|
||||
import HBS2.Net.Proto.Peer
|
||||
import HBS2.Net.Proto.PeerExchange
|
||||
import HBS2.Net.Proto.Sessions
|
||||
|
@ -221,6 +222,7 @@ peerPingLoop cfg penv = do
|
|||
delPeers pl [p]
|
||||
expire (PeerInfoKey p)
|
||||
expire (KnownPeerKey p)
|
||||
emit PeerExpiredEventKey (PeerExpiredEvent @e p)
|
||||
|
||||
liftIO $ mapM_ link [watch, infoLoop]
|
||||
|
||||
|
|
Loading…
Reference in New Issue