| // Copyright 2022 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| { |
| include: [ |
| "//src/connectivity/network/lib/net_interfaces/client.shard.cml", |
| "//src/lib/fuchsia-hyper/hyper.shard.cml", |
| "inspect/client.shard.cml", |
| "syslog/client.shard.cml", |
| ], |
| program: { |
| runner: "elf", |
| binary: "bin/httpsdate_time_source", |
| }, |
| capabilities: [ |
| { |
| protocol: [ "fuchsia.time.external.PushSource" ], |
| }, |
| ], |
| use: [ |
| { |
| protocol: [ "fuchsia.metrics.MetricEventLoggerFactory" ], |
| from: "parent", |
| }, |
| { |
| directory: "root-ssl-certificates", |
| rights: [ "r*" ], |
| path: "/config/ssl", |
| }, |
| ], |
| expose: [ |
| { |
| protocol: [ "fuchsia.time.external.PushSource" ], |
| from: "self", |
| }, |
| ], |
| config: { |
| // HTTPS request is considered failed after the timeout. |
| https_timeout_sec: { type: "uint8" }, |
| |
| // The ratio between a standard deviation and a final bound size, expressed as a percentage. |
| standard_deviation_bound_percentage: { type: "uint8" }, |
| |
| // How many times longer than a subsequent poll the first poll will take. This encapsulates |
| // the additional time required during the first HTTPS request to setup a TLS connection and |
| // is used to make a best guess for how long the second call will take. |
| first_rtt_time_factor: { type: "uint16" }, |
| |
| // If enabled, `fuchsia.time.external.PullSource` is provided instead of |
| // `fuchsia.time.external.PushSource`. |
| use_pull_api: { type: "bool" }, |
| |
| // Max number fetch attempts for `fuchsia.time.external.Urgency.Low`. |
| max_attempts_urgency_low: { type: "uint32" }, |
| |
| // Number of polls per sample for `fuchsia.time.external.Urgency.Low`. |
| num_polls_urgency_low: { type: "uint32" }, |
| |
| // Max number fetch attempts for `fuchsia.time.external.Urgency.Medium`. |
| max_attempts_urgency_medium: { type: "uint32" }, |
| |
| // Number of polls per sample for `fuchsia.time.external.Urgency.Medium`. |
| num_polls_urgency_medium: { type: "uint32" }, |
| |
| // Max number fetch attempts for `fuchsia.time.external.Urgency.High`. |
| max_attempts_urgency_high: { type: "uint32" }, |
| |
| // Number of polls per sample for `fuchsia.time.external.Urgency.High`. |
| num_polls_urgency_high: { type: "uint32" }, |
| }, |
| } |