# firecloud-core
Core types and traits for the FireCloud distributed storage system.
## Overview
This crate provides the foundational types used across all FireCloud components:
- **File handling**: `File`, `FileMetadata`, `FileManifest`
- **Chunking**: `Chunk`, `ChunkHash`, `ChunkMetadata`
- **Node identification**: Peer management types
- **Error handling**: Common error types
## Usage
```rust
use firecloud_core::{Chunk, ChunkHash, File};
// Create a chunk
let chunk = Chunk::new(data, CompressionType::Zstd);
let hash = chunk.hash();
```
## Features
- Serialization with `serde`
- BLAKE3 hashing for content addressing
- Compression type definitions
- Time-based metadata with `chrono`
## License
Licensed under either of:
- Apache License, Version 2.0 ([LICENSE-APACHE](../../LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license ([LICENSE-MIT](../../LICENSE-MIT) or http://opensource.org/licenses/MIT)
at your option.