aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Nordberg <linus@nordberg.se>2019-04-16 12:18:37 +0200
committerLinus Nordberg <linus@nordberg.se>2019-04-16 12:18:37 +0200
commit52f3fe314d07cde74a505c6c20b7c760c2b4b2c7 (patch)
tree975e3cf13a124538189b3081e56a537d140be290
parentAdd data and their state (diff)
downloadwg-dynamic-52f3fe314d07cde74a505c6c20b7c760c2b4b2c7.tar.xz
wg-dynamic-52f3fe314d07cde74a505c6c20b7c760c2b4b2c7.zip
Clarify state transitions
-rw-r--r--docs/ip-request.md44
1 files changed, 29 insertions, 15 deletions
diff --git a/docs/ip-request.md b/docs/ip-request.md
index dfec048..f72e5e3 100644
--- a/docs/ip-request.md
+++ b/docs/ip-request.md
@@ -31,14 +31,20 @@ TODO: lease time
- allocated-to [peer]
- states and possible transitions:
- - created -> deleted
- - deleted -> created
+ - CREATED -> DELETED
+ - DELETED -> CREATED
- triggers:
- - request-from-client:
- - state=created
- - now > expires-at:
- - state=deleted
+ - request: incoming ip_request from client
+ - expired: now > expires-at
+
+ - state transitions
+ - <NEW>:
+ - request -> CREATED
+ - CREATED:
+ - expired -> DELETED
+ - DELETED:
+ - <delete>
## Client
@@ -80,17 +86,25 @@ interface.
- lease-time [integer]
- states and possible transitions:
- - valid -> valid-expiring, invalid
- - valid-expiring -> valid, invalid
- - invalid -> valid
+ - VALID -> VALID-EXPIRING, INVALID
+ - VALID-EXPIRING -> VALID, INVALID
+ - INVALID -> VALID
- triggers:
- - lease-from-server
- - state=valid
- - less than 2/3 of lease-time left:
- - state=valid-expiring
- - now > start-time + lease_time:
- - state=invalid
+ - got-lease: valid request_ip response
+ - aging: less than 2/3 of lease-time left
+ - aged: now > start-time + lease_time
+
+ - state transitions:
+ - VALID:
+ - aging -> VALID-EXPIRING
+ - aged -> INVALID
+ - VALID-EXPIRING:
+ - got-lease -> VALID
+ - aged -> INVALID
+ - INVALID:
+ - got-lease -> VALID
+
## Protocol