summaryrefslogtreecommitdiffstats
path: root/doc/sphinx/uml/lease-states.uml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/sphinx/uml/lease-states.uml')
-rw-r--r--doc/sphinx/uml/lease-states.uml38
1 files changed, 38 insertions, 0 deletions
diff --git a/doc/sphinx/uml/lease-states.uml b/doc/sphinx/uml/lease-states.uml
new file mode 100644
index 0000000..66de2bb
--- /dev/null
+++ b/doc/sphinx/uml/lease-states.uml
@@ -0,0 +1,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