diff options
Diffstat (limited to 'src/Network/Kademlia.hs')
-rw-r--r-- | src/Network/Kademlia.hs | 24 |
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 | ||
54 | data InsertionReporter ni = InsertionReporter | 54 | data 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. |
123 | transition :: (ni,Maybe (t,ni)) -> [RoutingTransition ni] | 131 | transition :: (ni,Maybe (t,ni)) -> [RoutingTransition ni] |
124 | transition (x,m) = | 132 | transition (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 | ||