diff options
author | Linus Nordberg <linus@nordberg.se> | 2019-04-16 12:18:37 +0200 |
---|---|---|
committer | Linus Nordberg <linus@nordberg.se> | 2019-04-16 12:18:37 +0200 |
commit | 52f3fe314d07cde74a505c6c20b7c760c2b4b2c7 (patch) | |
tree | 975e3cf13a124538189b3081e56a537d140be290 | |
parent | Add data and their state (diff) | |
download | wg-dynamic-52f3fe314d07cde74a505c6c20b7c760c2b4b2c7.tar.xz wg-dynamic-52f3fe314d07cde74a505c6c20b7c760c2b4b2c7.zip |
Clarify state transitions
-rw-r--r-- | docs/ip-request.md | 44 |
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 |