func advanceEventTime()

in swift-source/focus/Generated/nimbus.swift [523:693]


    func advanceEventTime(bySeconds: Int64) throws 
    
    /**
     * Apply the updated experiments from the last fetch.
     * After calling this, the list of active experiments might change
     * (there might be new experiments, or old experiments might have expired).
     */
    func applyPendingExperiments() throws  -> [EnrollmentChangeEvent]
    
    func clearEvents() throws 
    
    /**
     * This provides a unified String interpolation library which exposes the application context.
     * It's first use is in the messaging helper, to add extra parameters to URLs.
     */
    func createStringHelper(additionalContext: JsonObject?) throws  -> NimbusStringHelper
    
    /**
     * This provides low level access to the targeting machinery for other uses by the application (e.g. messages)
     * Additional parameters can be added via the optional JSON object. This allows for many JEXL expressions
     * to be run across the same context.
     */
    func createTargetingHelper(additionalContext: JsonObject?) throws  -> NimbusTargetingHelper
    
    func dumpStateToLog() throws 
    
    /**
     * Fetches the list of experiments from the server. This does not affect the list
     * of active experiments or experiment enrolment.
     * Fetched experiments are not applied until `apply_pending_updates()` is called.
     */
    func fetchExperiments() throws 
    
    /**
     * Returns a list of experiments this user is enrolled in.
     */
    func getActiveExperiments() throws  -> [EnrolledExperiment]
    
    /**
     * Returns a list of experiments for this `app_name`, as specified in the `AppContext`.
     * It is not intended to be used to be used for user facing applications.
     */
    func getAvailableExperiments() throws  -> [AvailableExperiment]
    
    /**
     * Returns the branch allocated for a given slug or id.
     */
    func getExperimentBranch(id: String) throws  -> String?
    
    /**
     * Returns a list of experiment branches for a given experiment ID.
     */
    func getExperimentBranches(experimentSlug: String) throws  -> [ExperimentBranch]
    
    func getFeatureConfigVariables(featureId: String) throws  -> String?
    
    /**
     * Getter and setter for user's participation in all experiments.
     * Possible values are:
     * * `true`: the user will not enroll in new experiments, and opt out of all existing ones.
     * * `false`: experiments proceed as usual.
     */
    func getGlobalUserParticipation() throws  -> Bool
    
    /**
     * Initializes the database and caches enough information so that the
     * non-blocking API functions (eg, `get_experiment_branch()`) can
     * return accurate results rather than throwing a "not initialized" error.
     * It's not strictly necessary to call this function - any function that
     * wants to use the database will implicitly initialize too - this exists
     * so that the consuming application can have confidence the non-blocking
     * functions will return data instead of returning an error, and will do
     * the minimum amount of work to achieve that.
     */
    func initialize() throws 
    
    func isFetchEnabled() throws  -> Bool
    
    /**
     * Opt in to a specific branch on a specific experiment. Useful for
     * developers to test their app's interaction with the experiment.
     */
    func optInWithBranch(experimentSlug: String, branch: String) throws  -> [EnrollmentChangeEvent]
    
    /**
     * Opt out of a specific experiment.
     */
    func optOut(experimentSlug: String) throws  -> [EnrollmentChangeEvent]
    
    /**
     * Records an event for the purposes of behavioral targeting.
     * This function is used to record and persist data used for the behavioral
     * targeting such as "core-active" user targeting.
     */
    func recordEvent(eventId: String, count: Int64) throws 
    
    /**
     * Records a Glean event that this feature has been exposed.
     * If the feature is not involved in an experiment, then the event is suppressed.
     * If the feature is only involved in a rollout, then the event is suppressed.
     * If the feature is involved in an experiment, then record the experiment slug
     * and branch.
     * If the feature is involved in an experiment and a rollout, then record only the
     * experiment slug and branch.
     * If the slug is specified, then use this as the experiment, and use it to look up
     * the branch. This is useful for coenrolling features.
     */
    func recordFeatureExposure(featureId: String, slug: String?) 
    
    /**
     * Records a Glean event that this feature configuration is malformed.
     * Accepts a part_id to give the experiment owner or feature implementer
     * clues where to look.
     * The Glean event will always fire, but the content of that event will
     * vary depending on whether then feature is part of an experiment or rollout
     * or not.
     */
    func recordMalformedFeatureConfig(featureId: String, partId: String) 
    
    /**
     * Records an event as if it were in the past.
     * This, and `advance_event_time` are useful for testing.
     * `seconds_ago` must be positive.
     */
    func recordPastEvent(eventId: String, secondsAgo: Int64, count: Int64) throws 
    
    /**
     * These are test-only functions and should never be exposed to production
     * users, as they mess with the "statistical requirements" of the SDK.
     * Reset the enrollments and experiments in the database to an empty state.
     */
    func resetEnrollments() throws 
    
    /**
     * Reset internal state in response to application-level telemetry reset.
     *
     * Consumers should call this method when the user resets the telemetry state of the
     * consuming application, such as by opting out of submitting telemetry. It resets the
     * internal state of the Nimbus client to create a clean break between data collected
     * before and after the reset, including:
     *
     *    * clearing any unique identifiers used internally, so they will reset to
     *      new random values on next use.
     *    * accepting new randomization units, based on application-level ids that
     *      may have also changed.
     *    * disqualifying this client out of any active experiments, to avoid submitting
     *      misleading incomplete data.

     */
    func resetTelemetryIdentifiers() throws  -> [EnrollmentChangeEvent]
    
    /**
     * A convenience method for apps to set the experiments from a local source
     * for either testing, or before the first fetch has finished.
     *
     * Experiments set with this method are not applied until `apply_pending_updates()` is called.
     */
    func setExperimentsLocally(experimentsJson: String) throws 
    
    /**
     * Toggles the enablement of the fetch. If `false`, then calling `fetch_experiments`
     * returns immediately, having not done any fetching from remote settings.
     * This is only useful for QA, and should not be used in production: use
     * `set_global_user_participation` instead.
     */
    func setFetchEnabled(flag: Bool) throws 
    
    func setGlobalUserParticipation(optIn: Bool) throws  -> [EnrollmentChangeEvent]
    
}
open class NimbusClient: NimbusClientProtocol, @unchecked Sendable {