ouisync library

Classes

AccessChange
How to change access to a repository.
AccessChangeDisable
Disable access
AccessChangeEnable
Enable read or write access, optionally with local secret
DirectoryEntry
File
FileHandle
LocalSecret
Type of secret to unlock a repository.
LocalSecretPassword
Password provided by the user
LocalSecretSecretKey
Secret key generated by secure means (e.g., crypto-secure RNG, KDF, ...)
MessageId
MetadataEdit
Edit of a single metadata entry.
MonitorId
NetworkDefaults
Default network parameters
Password
A simple wrapper over String to avoid certain kinds of attack. For more elaboration please see the documentation for the SecretKey structure.
PasswordSalt
PeerInfo
Information about a peer.
PeerState
PeerStateActive
PeerStateConnecting
PeerStateHandshaking
PeerStateKnown
Progress
Progress of a task.
PublicRuntimeId
QuotaInfo
Repository
RepositoryHandle
SecretKey
Symmetric encryption/decryption secret key.
Server
Handle to a Ouisync service.
Session
SetLocalSecret
Used to set or change the read or write local secret of a repository.
SetLocalSecretKeyAndSalt
Use to directly (without doing password hashing) set the SecretKey and PasswordSalt for read or write access.
SetLocalSecretPassword
Password provided by the user
ShareToken
Token to share a repository. It can be encoded as a URL-formatted string and transmitted to other replicas.
StateMonitor
StateMonitorNode
Stats
Network traffic statistics.
StorageSize
Strongly typed storage size.

Enums

AccessMode
Access mode of a repository.
EntryType
Type of filesystem entry.
ErrorCode
LogLevel
NatBehavior
NetworkEvent
Network notification event.
PeerSource
How was the peer discovered.

Extensions

RepositoryExtension on Repository
SetLocalSecretExtension on SetLocalSecret

Exceptions / Errors

AlreadyExists
Entry already exists
Ambiguous
Multiple matching entries found
ConfigError
Failed to read from or write into the config file
ConnectionAborted
Connection aborted by the server
ConnectionRefused
Failed to establish connection to the server
DecodeError
DirectoryNotEmpty
Directory was expected to be empty but it isn't
Interrupted
The operation was interrupted
InvalidData
Invalid data (e.g., malformed incoming message, config file, etc...)
InvalidInput
Invalid input parameter
IsDirectory
Entry was expected to not be a directory but it is
ListenerAcceptError
Listener failed to accept client connection
ListenerBindError
Listener failed to bind to the specified address
MountDirUnspecified
Mount directory is not specified
NotDirectory
Entry was expected to be a directory but it isn't
NotFound
Entry not found
OuisyncException
PermissionDenied
Insuficient permission to perform the intended operation
ResourceBusy
File or directory is busy
RuntimeInitializeError
Failed to initialize runtime
ServiceAlreadyRunning
Another instance of the service is already running
StoreDirUnspecified
Store directory is not specified
StoreError
Operation on the internal repository store failed
TlsCertificatesInvalid
TLS certificates failed to load
TlsCertificatesNotFound
TLS certificated not found
TlsConfigError
Failed to create TLS config
TlsKeysNotFound
TLS keys not found
TransportError
Failed to send or receive message
UnexpectedResponse
Unsupported
The indended operation is not supported
VfsDriverInstallError
Failed to install virtual filesystem driver
VfsOtherError
Unspecified virtual filesystem error