summaryrefslogtreecommitdiff
path: root/src/Network/Kademlia.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Network/Kademlia.hs')
-rw-r--r--src/Network/Kademlia.hs24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/Network/Kademlia.hs b/src/Network/Kademlia.hs
index 53c37175..315cc652 100644
--- a/src/Network/Kademlia.hs
+++ b/src/Network/Kademlia.hs
@@ -52,15 +52,23 @@ data RoutingTransition ni = RoutingTransition
52 deriving (Eq,Ord,Show,Read) 52 deriving (Eq,Ord,Show,Read)
53 53
54data InsertionReporter ni = InsertionReporter 54data InsertionReporter ni = InsertionReporter
55 { -- | Called on every inbound packet. 55 { -- | Called on every inbound packet. Accepts:
56 --
57 -- * Origin of packet.
58 --
59 -- * List of nodes to be pinged as a result.
56 reportArrival :: POSIXTime 60 reportArrival :: POSIXTime
57 -> ni -- ^ Origin of packet. 61 -> ni
58 -> [ni] -- ^ These will be pinged as a result. 62 -> [ni]
59 -> IO () 63 -> IO ()
60 -- | Called on every ping probe. 64 -- | Called on every ping probe. Accepts:
65 --
66 -- * Who was pinged.
67 --
68 -- * True Bool value if they ponged.
61 , reportPingResult :: POSIXTime 69 , reportPingResult :: POSIXTime
62 -> ni -- ^ Who was pinged. 70 -> ni
63 -> Bool -- ^ True if they ponged. 71 -> Bool
64 -> IO () 72 -> IO ()
65 } 73 }
66 74
@@ -122,8 +130,8 @@ data Kademlia nid ni = Kademlia (InsertionReporter ni)
122-- more easily groked list of transitions. 130-- more easily groked list of transitions.
123transition :: (ni,Maybe (t,ni)) -> [RoutingTransition ni] 131transition :: (ni,Maybe (t,ni)) -> [RoutingTransition ni]
124transition (x,m) = 132transition (x,m) =
125 -- | Just _ <- m = Node transition: Accepted --> Stranger 133 -- Just _ <- m = Node transition: Accepted --> Stranger
126 -- | Nothing <- m = Node transition: Applicant --> Stranger 134 -- Nothing <- m = Node transition: Applicant --> Stranger
127 RoutingTransition x Stranger 135 RoutingTransition x Stranger
128 : maybeToList (accepted <$> m) 136 : maybeToList (accepted <$> m)
129 137