From: Josh Bleecher Snyder Date: Tue, 9 Feb 2021 16:27:48 +0000 (-0800) Subject: device: clarify device.state.state docs (again) X-Git-Tag: 0.0.20210212~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cae090d116d4aa61494f5951a9d6ab6902017dce;p=thirdparty%2Fwireguard-go.git device: clarify device.state.state docs (again) Signed-off-by: Josh Bleecher Snyder --- diff --git a/device/device.go b/device/device.go index de479bc..586715e 100644 --- a/device/device.go +++ b/device/device.go @@ -24,8 +24,10 @@ type Device struct { state struct { // state holds the device's state. It is accessed atomically. // Use the device.deviceState method to read it. - // If state is not locked, state is the current state of the device. - // If state is locked, state is the current state or intended future state of the device. + // device.deviceState does not acquire the mutex, so it captures only a snapshot. + // During state transitions, the state variable is updated before the device itself. + // The state is thus either the current state of the device or + // the intended future state of the device. // For example, while executing a call to Up, state will be deviceStateUp. // There is no guarantee that that intended future state of the device // will become the actual state; Up can fail.