lib: Move pull struct definition into repo-pull-private.h
Prep for further splitting up `ostree-repo-pull.c`.
This commit is contained in:
parent
7d51cee0a8
commit
12984ddef2
|
|
@ -21,9 +21,120 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "ostree-core.h"
|
#include "ostree-repo-private.h"
|
||||||
|
#include "ostree-fetcher-util.h"
|
||||||
|
#include "ostree-remote-private.h"
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
OSTREE_FETCHER_SECURITY_STATE_CA_PINNED,
|
||||||
|
OSTREE_FETCHER_SECURITY_STATE_TLS,
|
||||||
|
OSTREE_FETCHER_SECURITY_STATE_INSECURE,
|
||||||
|
} OstreeFetcherSecurityState;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
OstreeRepo *repo;
|
||||||
|
int tmpdir_dfd;
|
||||||
|
OstreeRepoPullFlags flags;
|
||||||
|
char *remote_name;
|
||||||
|
char *remote_refspec_name;
|
||||||
|
OstreeRepoMode remote_mode;
|
||||||
|
OstreeFetcher *fetcher;
|
||||||
|
OstreeFetcherSecurityState fetcher_security_state;
|
||||||
|
|
||||||
|
GPtrArray *meta_mirrorlist; /* List of base URIs for fetching metadata */
|
||||||
|
GPtrArray *content_mirrorlist; /* List of base URIs for fetching content */
|
||||||
|
OstreeRepo *remote_repo_local;
|
||||||
|
GPtrArray *localcache_repos; /* Array<OstreeRepo> */
|
||||||
|
|
||||||
|
GMainContext *main_context;
|
||||||
|
GCancellable *cancellable;
|
||||||
|
OstreeAsyncProgress *progress;
|
||||||
|
|
||||||
|
GVariant *extra_headers;
|
||||||
|
char *append_user_agent;
|
||||||
|
|
||||||
|
gboolean dry_run;
|
||||||
|
gboolean dry_run_emitted_progress;
|
||||||
|
gboolean legacy_transaction_resuming;
|
||||||
|
guint n_network_retries;
|
||||||
|
enum {
|
||||||
|
OSTREE_PULL_PHASE_FETCHING_REFS,
|
||||||
|
OSTREE_PULL_PHASE_FETCHING_OBJECTS
|
||||||
|
} phase;
|
||||||
|
gint n_scanned_metadata;
|
||||||
|
|
||||||
|
gboolean gpg_verify;
|
||||||
|
gboolean gpg_verify_summary;
|
||||||
|
gboolean sign_verify;
|
||||||
|
gboolean sign_verify_summary;
|
||||||
|
gboolean require_static_deltas;
|
||||||
|
gboolean disable_static_deltas;
|
||||||
|
gboolean has_tombstone_commits;
|
||||||
|
|
||||||
|
GBytes *summary_data;
|
||||||
|
GBytes *summary_data_sig;
|
||||||
|
GVariant *summary;
|
||||||
|
GHashTable *summary_deltas_checksums;
|
||||||
|
GHashTable *ref_original_commits; /* Maps checksum to commit, used by timestamp checks */
|
||||||
|
GHashTable *verified_commits; /* Set<checksum> of commits that have been verified */
|
||||||
|
GHashTable *ref_keyring_map; /* Maps OstreeCollectionRef to keyring remote name */
|
||||||
|
GPtrArray *static_delta_superblocks;
|
||||||
|
GHashTable *expected_commit_sizes; /* Maps commit checksum to known size */
|
||||||
|
GHashTable *commit_to_depth; /* Maps commit checksum maximum depth */
|
||||||
|
GHashTable *scanned_metadata; /* Maps object name to itself */
|
||||||
|
GHashTable *fetched_detached_metadata; /* Map<checksum,GVariant> */
|
||||||
|
GHashTable *requested_metadata; /* Maps object name to itself */
|
||||||
|
GHashTable *requested_content; /* Maps checksum to itself */
|
||||||
|
GHashTable *requested_fallback_content; /* Maps checksum to itself */
|
||||||
|
GHashTable *pending_fetch_metadata; /* Map<ObjectName,FetchObjectData> */
|
||||||
|
GHashTable *pending_fetch_content; /* Map<checksum,FetchObjectData> */
|
||||||
|
GHashTable *pending_fetch_delta_superblocks; /* Set<FetchDeltaSuperData> */
|
||||||
|
GHashTable *pending_fetch_deltaparts; /* Set<FetchStaticDeltaData> */
|
||||||
|
guint n_outstanding_metadata_fetches;
|
||||||
|
guint n_outstanding_metadata_write_requests;
|
||||||
|
guint n_outstanding_content_fetches;
|
||||||
|
guint n_outstanding_content_write_requests;
|
||||||
|
guint n_outstanding_deltapart_fetches;
|
||||||
|
guint n_outstanding_deltapart_write_requests;
|
||||||
|
guint n_total_deltaparts;
|
||||||
|
guint n_total_delta_fallbacks;
|
||||||
|
guint64 fetched_deltapart_size; /* How much of the delta we have now */
|
||||||
|
guint64 total_deltapart_size;
|
||||||
|
guint64 total_deltapart_usize;
|
||||||
|
gint n_requested_metadata;
|
||||||
|
gint n_requested_content;
|
||||||
|
guint n_fetched_deltaparts;
|
||||||
|
guint n_fetched_deltapart_fallbacks;
|
||||||
|
guint n_fetched_metadata;
|
||||||
|
guint n_fetched_content;
|
||||||
|
/* Objects imported via hardlink/reflink/copying or --localcache-repo*/
|
||||||
|
guint n_imported_metadata;
|
||||||
|
guint n_imported_content;
|
||||||
|
|
||||||
|
gboolean timestamp_check; /* Verify commit timestamps */
|
||||||
|
int maxdepth;
|
||||||
|
guint64 max_metadata_size;
|
||||||
|
guint64 start_time;
|
||||||
|
|
||||||
|
gboolean is_mirror;
|
||||||
|
gboolean trusted_http_direct;
|
||||||
|
gboolean is_commit_only;
|
||||||
|
OstreeRepoImportFlags importflags;
|
||||||
|
|
||||||
|
GPtrArray *dirs;
|
||||||
|
|
||||||
|
gboolean have_previous_bytes;
|
||||||
|
guint64 previous_bytes_sec;
|
||||||
|
guint64 previous_total_downloaded;
|
||||||
|
|
||||||
|
GError *cached_async_error;
|
||||||
|
GError **async_error;
|
||||||
|
gboolean caught_error;
|
||||||
|
|
||||||
|
GQueue scan_object_queue;
|
||||||
|
GSource *idle_src;
|
||||||
|
} OtPullData;
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
|
||||||
|
|
@ -29,15 +29,13 @@
|
||||||
#include "libglnx.h"
|
#include "libglnx.h"
|
||||||
#include "ostree.h"
|
#include "ostree.h"
|
||||||
#include "otutil.h"
|
#include "otutil.h"
|
||||||
#include "ostree-repo-private.h"
|
#include "ostree-repo-pull-private.h"
|
||||||
|
|
||||||
#ifdef HAVE_LIBCURL_OR_LIBSOUP
|
#ifdef HAVE_LIBCURL_OR_LIBSOUP
|
||||||
|
|
||||||
#include "ostree-core-private.h"
|
#include "ostree-core-private.h"
|
||||||
#include "ostree-repo-static-delta-private.h"
|
#include "ostree-repo-static-delta-private.h"
|
||||||
#include "ostree-metalink.h"
|
#include "ostree-metalink.h"
|
||||||
#include "ostree-fetcher-util.h"
|
|
||||||
#include "ostree-remote-private.h"
|
|
||||||
#include "ot-fs-utils.h"
|
#include "ot-fs-utils.h"
|
||||||
|
|
||||||
#include "ostree-repo-finder.h"
|
#include "ostree-repo-finder.h"
|
||||||
|
|
@ -66,116 +64,6 @@
|
||||||
* `n-network-retries` pull option. */
|
* `n-network-retries` pull option. */
|
||||||
#define DEFAULT_N_NETWORK_RETRIES 5
|
#define DEFAULT_N_NETWORK_RETRIES 5
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
OSTREE_FETCHER_SECURITY_STATE_CA_PINNED,
|
|
||||||
OSTREE_FETCHER_SECURITY_STATE_TLS,
|
|
||||||
OSTREE_FETCHER_SECURITY_STATE_INSECURE,
|
|
||||||
} OstreeFetcherSecurityState;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
OstreeRepo *repo;
|
|
||||||
int tmpdir_dfd;
|
|
||||||
OstreeRepoPullFlags flags;
|
|
||||||
char *remote_name;
|
|
||||||
char *remote_refspec_name;
|
|
||||||
OstreeRepoMode remote_mode;
|
|
||||||
OstreeFetcher *fetcher;
|
|
||||||
OstreeFetcherSecurityState fetcher_security_state;
|
|
||||||
|
|
||||||
GPtrArray *meta_mirrorlist; /* List of base URIs for fetching metadata */
|
|
||||||
GPtrArray *content_mirrorlist; /* List of base URIs for fetching content */
|
|
||||||
OstreeRepo *remote_repo_local;
|
|
||||||
GPtrArray *localcache_repos; /* Array<OstreeRepo> */
|
|
||||||
|
|
||||||
GMainContext *main_context;
|
|
||||||
GCancellable *cancellable;
|
|
||||||
OstreeAsyncProgress *progress;
|
|
||||||
|
|
||||||
GVariant *extra_headers;
|
|
||||||
char *append_user_agent;
|
|
||||||
|
|
||||||
gboolean dry_run;
|
|
||||||
gboolean dry_run_emitted_progress;
|
|
||||||
gboolean legacy_transaction_resuming;
|
|
||||||
guint n_network_retries;
|
|
||||||
enum {
|
|
||||||
OSTREE_PULL_PHASE_FETCHING_REFS,
|
|
||||||
OSTREE_PULL_PHASE_FETCHING_OBJECTS
|
|
||||||
} phase;
|
|
||||||
gint n_scanned_metadata;
|
|
||||||
|
|
||||||
gboolean gpg_verify;
|
|
||||||
gboolean gpg_verify_summary;
|
|
||||||
gboolean sign_verify;
|
|
||||||
gboolean sign_verify_summary;
|
|
||||||
gboolean require_static_deltas;
|
|
||||||
gboolean disable_static_deltas;
|
|
||||||
gboolean has_tombstone_commits;
|
|
||||||
|
|
||||||
GBytes *summary_data;
|
|
||||||
GBytes *summary_data_sig;
|
|
||||||
GVariant *summary;
|
|
||||||
GHashTable *summary_deltas_checksums;
|
|
||||||
GHashTable *ref_original_commits; /* Maps checksum to commit, used by timestamp checks */
|
|
||||||
GHashTable *verified_commits; /* Set<checksum> of commits that have been verified */
|
|
||||||
GHashTable *ref_keyring_map; /* Maps OstreeCollectionRef to keyring remote name */
|
|
||||||
GPtrArray *static_delta_superblocks;
|
|
||||||
GHashTable *expected_commit_sizes; /* Maps commit checksum to known size */
|
|
||||||
GHashTable *commit_to_depth; /* Maps commit checksum maximum depth */
|
|
||||||
GHashTable *scanned_metadata; /* Maps object name to itself */
|
|
||||||
GHashTable *fetched_detached_metadata; /* Map<checksum,GVariant> */
|
|
||||||
GHashTable *requested_metadata; /* Maps object name to itself */
|
|
||||||
GHashTable *requested_content; /* Maps checksum to itself */
|
|
||||||
GHashTable *requested_fallback_content; /* Maps checksum to itself */
|
|
||||||
GHashTable *pending_fetch_metadata; /* Map<ObjectName,FetchObjectData> */
|
|
||||||
GHashTable *pending_fetch_content; /* Map<checksum,FetchObjectData> */
|
|
||||||
GHashTable *pending_fetch_delta_superblocks; /* Set<FetchDeltaSuperData> */
|
|
||||||
GHashTable *pending_fetch_deltaparts; /* Set<FetchStaticDeltaData> */
|
|
||||||
guint n_outstanding_metadata_fetches;
|
|
||||||
guint n_outstanding_metadata_write_requests;
|
|
||||||
guint n_outstanding_content_fetches;
|
|
||||||
guint n_outstanding_content_write_requests;
|
|
||||||
guint n_outstanding_deltapart_fetches;
|
|
||||||
guint n_outstanding_deltapart_write_requests;
|
|
||||||
guint n_total_deltaparts;
|
|
||||||
guint n_total_delta_fallbacks;
|
|
||||||
guint64 fetched_deltapart_size; /* How much of the delta we have now */
|
|
||||||
guint64 total_deltapart_size;
|
|
||||||
guint64 total_deltapart_usize;
|
|
||||||
gint n_requested_metadata;
|
|
||||||
gint n_requested_content;
|
|
||||||
guint n_fetched_deltaparts;
|
|
||||||
guint n_fetched_deltapart_fallbacks;
|
|
||||||
guint n_fetched_metadata;
|
|
||||||
guint n_fetched_content;
|
|
||||||
/* Objects imported via hardlink/reflink/copying or --localcache-repo*/
|
|
||||||
guint n_imported_metadata;
|
|
||||||
guint n_imported_content;
|
|
||||||
|
|
||||||
gboolean timestamp_check; /* Verify commit timestamps */
|
|
||||||
int maxdepth;
|
|
||||||
guint64 max_metadata_size;
|
|
||||||
guint64 start_time;
|
|
||||||
|
|
||||||
gboolean is_mirror;
|
|
||||||
gboolean trusted_http_direct;
|
|
||||||
gboolean is_commit_only;
|
|
||||||
OstreeRepoImportFlags importflags;
|
|
||||||
|
|
||||||
GPtrArray *dirs;
|
|
||||||
|
|
||||||
gboolean have_previous_bytes;
|
|
||||||
guint64 previous_bytes_sec;
|
|
||||||
guint64 previous_total_downloaded;
|
|
||||||
|
|
||||||
GError *cached_async_error;
|
|
||||||
GError **async_error;
|
|
||||||
gboolean caught_error;
|
|
||||||
|
|
||||||
GQueue scan_object_queue;
|
|
||||||
GSource *idle_src;
|
|
||||||
} OtPullData;
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
OtPullData *pull_data;
|
OtPullData *pull_data;
|
||||||
GVariant *object;
|
GVariant *object;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue