fuchsia.update

PROTOCOLS

Info

Defined in fuchsia.update/update.fidl

Information about the state of the update system.

GetChannel

Retrieve the currently active update channel.

  • response channel the currently active update channel.

Request

NameType

Response

NameType
channel string[128]

ChannelControl

Defined in fuchsia.update/update.fidl

Control the target update channel, this is the channel we will use on the next update check.

GetChannel

Retrieve the currently active update channel.

  • response channel the currently active update channel.

Request

NameType

Response

NameType
channel string[128]

SetTarget

Set a new desired target channel. This tells the updater to attempt to check for updates using a new channel. This is tentative, and won't be persisted unless an update check on that channel is successful.

A response is generated when the new target channel has been verified as valid.

  • request channel the new target channel name (name used by the updater)

Request

NameType
channel string[128]

Response

NameType

GetTarget

Get the current tentative target channel for updates. This returns the channel that the update client is using to perform update checks. It's always one of: - the current channel - the default channel - a new target that's different, but hasn't been OTA'd from yet.

  • response channel the current target channel.

Request

NameType

Response

NameType
channel string[128]

Manager

Defined in fuchsia.update/update.fidl

CheckNow

Immediately check for an update. options: Did a user initiate this request? (USER_INITIATED) This changes some parameters about aggressiveness of retries and throttling. monitor: An interface on which to receive the status events for this update check. It's only valid for a single update check, after that it won't receive any more events.

-> Was the update check successfully started (state machine in a proper state to do so).

Request

NameType
options Options
monitor request<Monitor>?

Response

NameType
result CheckStartedResult

GetState

Get the current state of the Manager (is an update available, is it currently checking for an update, etc).

Request

NameType

Response

NameType
state State

AddMonitor

Get all status events, for all update checks (interactive and background).

Request

NameType
monitor request<Monitor>

Monitor

Defined in fuchsia.update/update.fidl

Receiver of updates for either an individual update check, or to continuously receive updates for all checks.

OnState

Receive the current state as it changes.

Response

NameType
state State

ENUMS

Initiator

Type: uint32

Defined in fuchsia.update/update.fidl

Who or what initiated the update check.

NameValueDescription
USER 0
SERVICE 1

ManagerState

Type: uint32

Defined in fuchsia.update/update.fidl

 The various states that the manager can be in.

     +----------------------+
 --->|         IDLE         |<--------------------------------+
 |   +----------------------+                                 |
 |              |               +----------------------+      |
 |              |<--------------|   UPDATE_AVAILABLE   |      |
 |              |               +----------------------+      |
 |              v                       ^                     |
 |   +----------------------+           |                     |
 |<--| CHECKING_FOR_UPDATES |-----------------+               |
 |   +----------------------+                 |               |
 |              v                             |               |
 |   +----------------------+                 |               |
 |   |  PERFORMING_UPDATE   |---------------->|               |
 |   +----------------------+                 |               |
 |              v                             |               |
 |   +----------------------+                 |               |
 |   |  WAITING_FOR_REBOOT  |---------------->|               |
 |   +----------------------+                 |               |
 |              v                             v               |
 |   +----------------------+     +----------------------+    |
 +---|  FINALIZING_UPDATE   |---->|  ENCOUNTERED_ERROR   |----+
     +----------------------+     +----------------------+

NameValueDescription
IDLE 0
CHECKING_FOR_UPDATES 1
UPDATE_AVAILABLE 2
PERFORMING_UPDATE 3
WAITING_FOR_REBOOT 4
FINALIZING_UPDATE 5
ENCOUNTERED_ERROR 6

CheckStartedResult

Type: uint32

Defined in fuchsia.update/update.fidl

NameValueDescription
STARTED 0
IN_PROGRESS 1
THROTTLED 2

TABLES

Options

Defined in fuchsia.update/update.fidl

Configuration options for an update attempt (this is common with the Fuchsia OTA Interface v2)

OrdinalNameTypeDescription
1 initiator Initiator What initiated this update attempt.

State

Defined in fuchsia.update/update.fidl

OrdinalNameTypeDescription
1 state ManagerState The current state of the Manager. Always present.
2 version_available string The version available from Omaha. Will be present in `UPDATE_AVAILABLE` or starting from `PERFORMING_UPDATE`.