|
| Barracuda.PendingRoute | | Maintainer | Stephan Friedrichs, Henning Guenther |
|
|
|
| Description |
| A data structure storing the routes that some messages have failed to take, so they are not
tried again.
|
|
| Synopsis |
|
|
|
| Documentation |
|
| data PendingRoute sign |
Instances | |
|
|
| empty :: PendingRoute sign |
| Creates an empty PendingRoute.
|
|
| insert |
|
|
| reinsert |
| :: UTCTime | The current point of time.
| | -> Routed TargetContent sign | The message to be saved.
| | -> Set SockAddr | A set of routers that were not able to route the message.
| | -> PendingRoute sign | | | -> PendingRoute sign | | | Inserts a new Routed element into the PendingRoute. It also saves routes that
already have been (unsuccessfully) tried before. Compare to insert.
|
|
|
| routeAndDelete |
| :: RoutingStrategy (r, Set SockAddr) | | | => r | The RoutingTable with the routing information.
| | -> PendingRoute sign | The PendingRoute storing nacked messages.
| | -> (PendingRoute sign, [(SockAddr, Routed TargetContent sign, Set SockAddr, UTCTime)]) | Tuples of messages where a new route has been found. It contains the
message itself, a set of attempted routes (including the new one) and
a new router to be tried. The new PendingRoute does not contain the
newly routed elements.
| | Tries to reroute stored messages. The function looks at every stored message and
proposes a new route. This new route is added to the set of already attempted hosts.
All messages with a new route-proposal are removed from the original PendingRoute, so
only the "hopeless cases" remain within.
|
|
|
| purgeZeroTTL :: UTCTime -> PendingRoute sign -> (PendingRoute sign, [Routed TargetContent sign]) |
|
| Produced by Haddock version 0.8 |