summaryrefslogtreecommitdiffstats
path: root/doc/sphinx/uml/lease-states.uml
blob: 66de2bb95107b9c86b6d1feb0469cba340b7bd7d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
@startuml

title lease states (Kea 1.8.0)

agent "Free" as free
note left : not in the lease database

agent "Assigned" as assigned

agent "Assigned expired" as assigned_expired

agent "Declined" as declined

agent "Declined expired" as declined_expired

agent "Expired-Reclaimed" as reclaimed

free ---> assigned : assignment

assigned -> assigned_expired : after valid lifetime
assigned -> assigned : renew query
assigned ---> declined : decline query
assigned -up-> free : release query

declined --> declined_expired : after probation period

assigned_expired -up-> assigned : reuse
declined_expired -up-> assigned : reuse

assigned_expired ---> reclaimed : reclaim
declined_expired ---> free : remove

reclaimed -up-> assigned : reuse
reclaimed -up--> free : remove

declined_expired -[hidden]-> reclaimed

@enduml