Skip to main content

Source File Organization

Project organization

ComponentLanguageStatusDescription
lasco-coreRustActiveCore library
lasco-cliRustNot up to dateCommand-line client
lasco-swiftSwiftActiveNative macOS and iOS client

All clients call into lasco-core directly and share the same encrypted storage format and sync protocol.


Core library (lasco-core)

lasco-core/
└── src/
├── lib.rs
├── config_json.rs
├── library_json.rs
├── s3_secret.rs
├── identifiers.rs
├── session.rs
├── client.rs
├── error.rs
├── state/ state reconstruction from the operation log
│ ├── mod.rs
│ ├── types.rs
│ ├── reconstruct.rs
│ └── views.rs
├── operations/ Operation and compaction definitions
│ ├── mod.rs
│ ├── local_ops.rs
│ ├── remote_ops.rs
│ └── error.rs
├── library/ Library handle
│ ├── mod.rs
│ ├── error.rs
│ ├── user.rs
│ ├── albums.rs
│ ├── groups.rs
│ ├── local_dirs.rs
│ ├── media/ media definitions and library implementations
│ │ ├── mod.rs
│ │ ├── upload.rs
│ │ ├── query.rs
│ │ └── hash.rs
│ └── sync/ fetch, push, compaction, conflicts
│ ├── mod.rs
│ ├── error.rs
│ ├── fetch/
│ │ └── mod.rs
│ ├── push/
│ │ └── mod.rs
│ ├── compaction.rs
│ └── conflict.rs
├── encryption/ encryption definitions and methods
│ ├── mod.rs
│ ├── blob.rs
│ ├── blob_key.rs
│ ├── kek.rs
│ ├── master_key.rs
│ ├── library_salt.rs
│ └── error.rs
├── storage/ storage abstraction for remotes
│ ├── mod.rs
│ ├── mock_memory.rs
│ ├── local_fs.rs
│ └── s3.rs
└── remote/ Remote structs, last-known-remote-state reads, and local remote-state cache
├── mod.rs
├── last_known_state.rs
└── local_state/
├── mod.rs
├── media_list_json.rs
└── processed_files.rs