make sure that predecessors are smaller and successors are larger than node ID
This commit is contained in:
parent
2c98d8507d
commit
1204457a2a
|
@ -218,11 +218,11 @@ instance Typeable a => Show (TQueue a) where
|
||||||
|
|
||||||
-- | convenience function that updates the successors of a 'LocalNodeState'
|
-- | convenience function that updates the successors of a 'LocalNodeState'
|
||||||
setSuccessors :: [RemoteNodeState] -> LocalNodeState -> LocalNodeState
|
setSuccessors :: [RemoteNodeState] -> LocalNodeState -> LocalNodeState
|
||||||
setSuccessors succ' ns = ns {successors = take (kNeighbours ns) . nub . sortBy (localCompare `on` getNid) $ succ'}
|
setSuccessors succ' ns = ns {successors = take (kNeighbours ns) . nub . sortBy (localCompare `on` getNid) . filter ((== LT) . (localCompare `on` getNid) (toRemoteNodeState ns)) $ succ'}
|
||||||
|
|
||||||
-- | convenience function that updates the predecessors of a 'LocalNodeState'
|
-- | convenience function that updates the predecessors of a 'LocalNodeState'
|
||||||
setPredecessors :: [RemoteNodeState] -> LocalNodeState -> LocalNodeState
|
setPredecessors :: [RemoteNodeState] -> LocalNodeState -> LocalNodeState
|
||||||
setPredecessors pred' ns = ns {predecessors = take (kNeighbours ns) . nub . sortBy (flip (localCompare `on` getNid)) $ pred'}
|
setPredecessors pred' ns = ns {predecessors = take (kNeighbours ns) . nub . sortBy (flip localCompare `on` getNid) . filter ((== GT) . (localCompare `on` getNid) (toRemoteNodeState ns)) $ pred'}
|
||||||
|
|
||||||
type NodeCache = Map.Map NodeID CacheEntry
|
type NodeCache = Map.Map NodeID CacheEntry
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue