Expand description
Braid HTTP server implementation.
This module provides server-side support for the Braid protocol using Axum. It enables applications to:
- Track resource versions as a directed acyclic graph (DAG)
- Send updates as snapshots or patches
- Stream subscription updates to clients (HTTP 209)
- Handle version conflicts with merge strategies
- Manage resource state with CRDT support
§Module Organization
server/
├── middleware - BraidLayer and BraidState extractor
├── send_update - SendUpdateExt trait for responses
├── parse_update - ParseUpdateExt trait for requests
├── config - ServerConfig options
├── resource_state - ResourceStateManager for CRDT state
└── conflict_resolver - ConflictResolver for mergingRe-exports§
pub use conflict_resolver::ConflictResolver;pub use resource_state::ResourceStateManager;
Modules§
- conflict_
resolver - Conflict resolution for Diamond-Types CRDT merges.
- multiplex
- Server-side Braid Multiplexing implementation.
- resource_
state - Per-resource state management with thread-safe CRDT synchronization.
- subscription
- Server-side subscription utilities for Braid protocol.
- utils
- Server utilities for Braid protocol.
Structs§
- Braid
Layer - Axum middleware layer for Braid protocol support.
- Braid
State - Braid protocol state extracted from HTTP request headers.
- IsFirefox
- Newtype wrapper indicating Firefox browser detection.
- Server
Config - Server configuration for Braid-HTTP support.
- Update
Response
Traits§
- Parse
Update Ext - Extension trait for Axum request to parse Braid updates.
- Send
Update Ext - Extension trait for Axum responses to send Braid updates.
Type Aliases§
- Update
Broadcast - Broadcast channel for sending updates to multiple subscribers.