Crate ouisync

Crate ouisync 

Source

Re-exports§

pub use self::db::SCHEMA_VERSION;
pub use self::protocol::BLOCK_SIZE;
pub use self::protocol::RepositoryId;
pub use self::protocol::StorageSize;

Modules§

crypto
db
path
Utilities for working with filesystem paths.
protocol
Datatypes for the ouisync protocol and for interoperability between the network layer and the storage later

Structs§

Branch
Credentials
Credentials for accessing a repository.
DebugPrinter
DecodeError
DeviceId
DeviceId uniquely identifies machines on which this software is running. Its only purpose is to ensure that one WriterId (which currently equates to sing::PublicKey) will never create two or more concurrent snapshots as that would break the whole repository. This is achieved by ensuring that there is always only a single DeviceId associated with a single WriterId.
DhtLookupStream
Stream returned from [Network::dht_lookup].
DhtPin
Ensures the DHT instances have been started and remain running until the pin is in scope. See [DhtDiscovery::pin] for more info.
Directory
Event
Notification event
File
InfoHash
20-byte long identifier of nodes and objects on the DHT
JointDirectory
Unified view over multiple concurrent versions of a directory.
Metadata
Network
NetworkBuilder
NetworkEventReceiver
NetworkEventStream
Wrapper around NetworkEventReceiver that implements Stream.
PeerInfo
Information about a peer.
PeerInfoCollector
Progress
Progress of a task.
PublicRuntimeId
RecvStream
Registration
Repository
RepositoryHandle
RepositoryParams
SecretRuntimeId
SendStream
ShareToken
Token to share a repository. It can be encoded as a URL-formatted string and transmitted to other replicas.
Stats
Network traffic statistics.
TopicId
Identified of a network stream topic.
UdpSocket
Side channel for the underlying UDP socket which allows sending and receiving raw UDP datagrams.
VersionVector
Version vector.
WriteSecrets
Secrets for write access.

Enums§

Access
AccessChange
How to change access to a repository.
AccessMode
Access mode of a repository.
AccessSecrets
Secrets for access to a repository.
EntryRef
Info about a directory entry.
EntryType
Type of filesystem entry.
Error
JointEntry
JointEntryRef
LocalSecret
Type of secret to unlock a repository.
NatBehavior
NetworkEvent
Network notification event.
Payload
PeerAddr
PeerSource
How was the peer discovered.
PeerState
SetLocalSecret
Used to set or change the read or write local secret of a repository.
StoreError

Constants§

BLOB_HEADER_SIZE
Size of the blob header in bytes.
DATA_VERSION
DEFAULT_DHT_ROUTERS
DIRECTORY_VERSION
Version of the Directory serialization format.
INFO_HASH_LEN
Length of InfoHash in bytes.

Traits§

DatagramSocket
Trait for UDP-like sockets.
DhtContactsStoreTrait
Persistent store for DHT contacts. It is periodically updated with the current DHT contacts and persisted. It is then used to provide additional nodes to bootstrap against on the next DHT discovery startup.

Functions§

database_files
List of repository database files. Includes the main db file and any auxiliary files.
repository_info_hash

Type Aliases§

Result
A specialized Result type for convenience.