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
- RequestFileClose
- RequestFileFlush
- RequestFileGetLength
- RequestFileGetProgress
- RequestFileRead
- RequestFileTruncate
- RequestFileWrite
- RequestRepositoryClose
- RequestRepositoryCreateDirectory
- RequestRepositoryCreateFile
- RequestRepositoryCreateMirror
- RequestRepositoryDelete
- RequestRepositoryDeleteMirror
- RequestRepositoryExport
- RequestRepositoryFileExists
- RequestRepositoryGetAccessMode
- RequestRepositoryGetBlockExpiration
- RequestRepositoryGetCredentials
- RequestRepositoryGetEntryType
- RequestRepositoryGetExpiration
- RequestRepositoryGetInfoHash
- RequestRepositoryGetMetadata
- RequestRepositoryGetMountPoint
- RequestRepositoryGetPath
- RequestRepositoryGetQuota
- RequestRepositoryGetShortName
- RequestRepositoryGetStats
- RequestRepositoryGetSyncProgress
- RequestRepositoryIsDhtEnabled
- RequestRepositoryIsPexEnabled
- RequestRepositoryIsSyncEnabled
- RequestRepositoryMirrorExists
- RequestRepositoryMount
- RequestRepositoryMove
- RequestRepositoryMoveEntry
- RequestRepositoryOpenFile
- RequestRepositoryReadDirectory
- RequestRepositoryRemoveDirectory
- RequestRepositoryRemoveFile
- RequestRepositoryResetAccess
- RequestRepositorySetAccess
- RequestRepositorySetAccessMode
- RequestRepositorySetBlockExpiration
- RequestRepositorySetCredentials
- RequestRepositorySetDhtEnabled
- RequestRepositorySetExpiration
- RequestRepositorySetMetadata
- RequestRepositorySetPexEnabled
- RequestRepositorySetQuota
- RequestRepositorySetSyncEnabled
- RequestRepositorySubscribe
- RequestRepositoryUnmount
- RequestSessionAddUserProvidedPeers
- RequestSessionBindMetrics
- RequestSessionBindNetwork
- RequestSessionBindRemoteControl
- RequestSessionCreateRepository
- RequestSessionDeleteRepositoryByName
- RequestSessionDeriveSecretKey
- RequestSessionFindRepository
- RequestSessionGeneratePasswordSalt
- RequestSessionGenerateSecretKey
- RequestSessionGetCurrentProtocolVersion
- RequestSessionGetDefaultBlockExpiration
- RequestSessionGetDefaultQuota
- RequestSessionGetDefaultRepositoryExpiration
- RequestSessionGetExternalAddrV4
- RequestSessionGetExternalAddrV6
- RequestSessionGetHighestSeenProtocolVersion
- RequestSessionGetLocalListenerAddrs
- RequestSessionGetMetricsListenerAddr
- RequestSessionGetMountRoot
- RequestSessionGetNatBehavior
- RequestSessionGetNetworkStats
- RequestSessionGetPeers
- RequestSessionGetRemoteControlListenerAddr
- RequestSessionGetRemoteListenerAddrs
- RequestSessionGetRuntimeId
- RequestSessionGetStateMonitor
- RequestSessionGetStoreDir
- RequestSessionGetUserProvidedPeers
- RequestSessionInitNetwork
- RequestSessionIsLocalDiscoveryEnabled
- RequestSessionIsPexRecvEnabled
- RequestSessionIsPexSendEnabled
- RequestSessionIsPortForwardingEnabled
- RequestSessionListRepositories
- RequestSessionMirrorExists
- RequestSessionOpenRepository
- RequestSessionRemoveUserProvidedPeers
- RequestSessionSetDefaultBlockExpiration
- RequestSessionSetDefaultQuota
- RequestSessionSetDefaultRepositoryExpiration
- RequestSessionSetLocalDiscoveryEnabled
- RequestSessionSetMountRoot
- RequestSessionSetPexRecvEnabled
- RequestSessionSetPexSendEnabled
- RequestSessionSetPortForwardingEnabled
- RequestSessionSetStoreDir
- RequestSessionSubscribeToNetwork
- RequestSessionSubscribeToStateMonitor
- RequestSessionUnsubscribe
- ResponseAccessMode
- ResponseBool
- ResponseBytes
- ResponseDirectoryEntries
- ResponseDuration
- ResponseEntryType
- ResponseFile
- ResponseNatBehavior
- ResponseNetworkEvent
- ResponseNone
- ResponsePasswordSalt
- ResponsePath
- ResponsePeerAddrs
- ResponsePeerInfos
- ResponseProgress
- ResponsePublicRuntimeId
- ResponseQuotaInfo
- ResponseRepositories
- ResponseRepository
- ResponseRepositoryEvent
- ResponseSecretKey
- ResponseSocketAddr
- ResponseStateMonitor
- ResponseStateMonitorEvent
- ResponseStats
- ResponseStorageSize
- ResponseString
- ResponseU16
- ResponseU64
- 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
andPasswordSalt
for read or write access. - SetLocalSecretPassword
- Password provided by the user
- 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
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