DVUpdateRollout class
Staged rollouts: which devices a release has reached yet.
A fleet is not updated all at once. A release goes to a slice of it, somebody watches, and the slice grows. The decision of whether this device is in the slice has to be made somewhere, and where it is made matters more than it looks: a server that draws it at random answers differently every time a device asks, so an update appears at nine o'clock and is gone at ten, and nobody -- not the operator, not the person holding the device -- can tell that apart from a broken server.
So it is not drawn. It is computed from the device and the version, and the same two answer the same forever. The version is in the hash as well as the device, which is what stops the same unlucky kiosks from being last in the queue for every release they ever get -- and, more to the point, stops the same devices from being the ones that find every bad release.
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited