[][src]Crate dogear

Macros

debug
error
trace
warn

Structs

ApplyNewLocalStructure

A completion op to update the parent and position of a local item.

ApplyRemoteItem

A completion op to insert a new remote item into the local tree, or apply synced changes to an existing item.

Builder

A tree builder builds a bookmark tree structure from a flat list of items and parent-child associations.

ChangeGuid

A completion op to change the local GUID to the merged GUID. This is used to dedupe new local items to remote ones, as well as to fix up invalid GUIDs.

CompletionOps

Completion operations to apply to the local tree after a merge. These are represented as separate structs in Vecs instead of enums yielded from an iterator so that consumers can easily chunk them.

DefaultAbortSignal

A default signal that can't be aborted.

DefaultDriver

A default implementation of the merge driver.

Deletion

Represents an accepted local or remote deletion.

Error
FlagAsMerged

A completion op to flag a remote item as merged.

FlagForUpload

A completion op to flag a local item for upload.

Guid

A GUID for an item in a bookmark tree.

Item

An item in a local or remote bookmark tree.

ItemBuilder

Adds an item with content and structure to a tree builder.

MergedNode

A merged bookmark node that indicates which side to prefer, and holds merged child nodes.

MergedRoot

The root of a merged tree, from which all merged nodes descend.

Merger

A two-way merger that produces a complete merged tree from a complete local tree and a complete remote tree with changes since the last sync.

Node

A node in a bookmark tree that knows its parent and children, and dereferences to its item.

ParentBuilder

Adds structure for an existing item to a tree builder.

ProblemCounts

Records total problem counts for telemetry. An item can have multiple problems, but each problem is only counted once per item.

ProblemSummary

A printable summary of a problem for an item.

Problems

Records problems for all items in a tree.

SkipUpload

A completion op to skip uploading a local item after resolving merge conflicts.

StructureCounts

Records structure change counters for telemetry.

Tree

A complete, rooted bookmark tree with tombstones.

TreeStats

Records the time taken to build a local or remote tree, number of items in the tree, and structure problem counts.

Upload

A completion op to upload or reupload a merged item.

Enums

Content

Content info for an item in the local or remote tree. This is used to dedupe new local items to remote items that don't exist locally, with different GUIDs and similar content.

DivergedParent

Describes where an invalid parent comes from.

DivergedParentGuid

Describes an invalid parentid.

ErrorKind
Kind

Synced item kinds. Each corresponds to a Sync record type.

MergeState

The merge state indicates which side we should prefer, local or remote, when resolving conflicts.

Problem

Describes a structure divergence for an item in a bookmark tree. These are used for logging and validation telemetry.

TelemetryEvent

A merge telemetry event.

Validity

Synced item validity.

Constants

MENU_GUID

The bookmarks menu GUID.

MOBILE_GUID

The mobile bookmarks GUID.

ROOT_GUID

The Places root GUID, used to root all items in a bookmark tree.

TAGS_GUID

The tags root GUID.

TOOLBAR_GUID

The bookmarks toolbar GUID.

UNFILED_GUID

The "Other Bookmarks" GUID, used to hold items without a parent.

Traits

AbortSignal

An abort signal is used to abort merging. Implementations of AbortSignal can store an aborted flag, usually as an atomic integer or Boolean, set the flag on abort, and have AbortSignal::aborted return the flag's value.

Driver

A merge driver provides methods to customize merging behavior.

IsValidGuid

Indicates if the GUID is valid. Implemented for byte slices and GUIDs.

Store

A store is the main interface to Dogear. It implements methods for building local and remote trees from a storage backend, fetching content info for matching items with similar contents, and persisting the merged tree.

Functions

log

Logs a merge message.

Type Definitions

Result