// 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.PullSource",
                "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.PullSource",
                "fuchsia.time.external.PushSource",
            ],
            from: "self",
        },
    ],
    config: {
        // The endpoint URL for querying time information. The HTTPS time source
        // uses the time reported in HTTPS responses to estimate current time.
        // None of the other approaches such as NTP are acceptable for Fuchsia
        // products in general.
        //
        // URI used to obtain time samples.
        // time_source_endpoint_url: "https://clients3.google.com/generate_204",
        time_source_endpoint_url: {
            type: "string",

            // A nice, round, number.
            max_size: 1024,
        },

        // HTTPS request is considered failed after the timeout.
        //
        // Currently based on a best guess.
        // https_timeout_sec: 10,
        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.
        //
        // This value is based on a best guess how many times longer than a subsequent poll the first
        // poll will take.
        // first_rtt_time_factor: 5,
        first_rtt_time_factor: { type: "uint16" },

        // If enabled, `fuchsia.time.external.PullSource` is provided instead of
        // `fuchsia.time.external.PushSource`.
        //
        // By default, `fuchsia.time.external.PushSource` is provided.
        // use_pull_api: false,
        use_pull_api: { type: "bool" },

        // Max number fetch attempts for `fuchsia.time.external.Urgency.Low`.
        //
        // Initial value.
        // max_attempts_urgency_low: 4,
        max_attempts_urgency_low: { type: "uint32" },

        // Number of polls per sample for `fuchsia.time.external.Urgency.Low`.
        //
        // As per estimations, increasing further wouldn't bring sizeable benefits.
        // num_polls_urgency_low: 7,
        num_polls_urgency_low: { type: "uint32" },

        // Max number fetch attempts for `fuchsia.time.external.Urgency.Medium`.
        //
        // Initial value.
        // max_attempts_urgency_medium: 3,
        max_attempts_urgency_medium: { type: "uint32" },

        // Number of polls per sample for `fuchsia.time.external.Urgency.Medium`.
        //
        // Fastest sample that gives a bound size within desired target range based on a typical
        // oscillator tolerance.
        // num_polls_urgency_medium: 5,
        num_polls_urgency_medium: { type: "uint32" },

        // Max number fetch attempts for `fuchsia.time.external.Urgency.High`.
        //
        // Initial value.
        // max_attempts_urgency_high: 3,
        max_attempts_urgency_high: { type: "uint32" },

        // Number of polls per sample for `fuchsia.time.external.Urgency.High`.
        //
        // Fastest possible sample that gives an acceptable worst case slew duration.
        // num_polls_urgency_high: 3,
        num_polls_urgency_high: { type: "uint32" },
    },
}
