Expand description
§PJS Core
Core types and protocols for the Priority JSON Streaming Protocol. This crate provides high-performance JSON parsing with SIMD optimizations, zero-copy operations, and semantic type hints for automatic optimization.
Re-exports§
pub use domain::StreamSession;pub use domain::ports::EventPublisherGat;pub use domain::ports::FrameSinkGat;pub use domain::ports::FrameSinkGatExt;pub use domain::ports::FrameSourceGat;pub use domain::ports::StreamRepositoryGat;pub use domain::ports::StreamStoreGat;pub use domain::services::GatOrchestratorFactory;pub use domain::services::GatStreamingOrchestrator;pub use domain::services::HealthStatus;pub use domain::services::OrchestratorConfig;pub use domain::services::ValidationService;pub use application::ApplicationError;pub use application::ApplicationResult;pub use application::commands;pub use application::dto::SchemaDefinitionDto;pub use application::dto::SchemaMetadataDto;pub use application::dto::SchemaRegistrationDto;pub use application::dto::ValidationErrorDto;pub use application::dto::ValidationRequestDto;pub use application::dto::ValidationResultDto;pub use application::queries;pub use config::ParserConfig;pub use config::PjsConfig;pub use config::SecurityConfig;pub use config::SimdConfig;pub use config::StreamingConfig;pub use config::security::BufferLimits;pub use config::security::JsonLimits;pub use config::security::NetworkLimits;pub use config::security::RateLimitingConfig;pub use config::security::SessionLimits;pub use compression::CompressedData;pub use compression::CompressionConfig;pub use compression::CompressionStrategy;pub use compression::SchemaAnalyzer;pub use compression::SchemaCompressor;pub use compression::secure::DecompressionContextStats;pub use compression::secure::SecureCompressedData;pub use compression::secure::SecureCompressor;pub use compression::secure::SecureDecompressionContext;pub use error::Error;pub use error::Result;pub use frame::Frame;pub use frame::FrameFlags;pub use frame::FrameHeader;pub use memory::ArenaJsonParser;pub use memory::CombinedArenaStats;pub use memory::JsonArena;pub use parser::LazyParser;pub use parser::ParseConfig;pub use parser::ParseStats;pub use parser::Parser;pub use parser::SimpleParser;pub use parser::SonicParser;pub use parser::ZeroCopyParser;pub use security::CompressionBombConfig;pub use security::CompressionBombDetector;pub use security::CompressionBombProtector;pub use security::CompressionStats as BombCompressionStats;pub use security::DepthTracker;pub use security::RateLimitConfig;pub use security::RateLimitError;pub use security::RateLimitGuard;pub use security::RateLimitStats;pub use security::SecurityValidator;pub use security::WebSocketRateLimiter;pub use semantic::SemanticMeta;pub use semantic::SemanticType;pub use stream::CompressedFrame;pub use stream::CompressionStats;pub use stream::DecompressionMetadata;pub use stream::DecompressionStats;pub use stream::JsonReconstructor;pub use stream::PriorityStreamer;pub use stream::ProcessResult;pub use stream::StreamConfig;pub use stream::StreamFrame;pub use stream::StreamProcessor;pub use stream::StreamStats;pub use stream::StreamingCompressor;pub use stream::StreamingDecompressor;pub use infrastructure::SchemaRepository;
Modules§
- application
- Application layer - Use cases and orchestration
- compression
- Schema-based compression for PJS protocol
- config
- Global configuration for PJS Core library
- domain
- Domain layer - Pure business logic
- error
- Error types for PJS operations
- frame
- Frame format and utilities for PJS protocol
- infrastructure
- Infrastructure layer - External concerns and adapters
- memory
- Memory management utilities for high-performance JSON processing
- parser
- High-performance JSON parsing module with hybrid approach
- prelude
- Re-export commonly used types
- security
- Security validation utilities
- semantic
- Semantic type hints for automatic optimization
- stream
- Streaming system for PJS protocol
Structs§
- Domain
Frame - Individual frame in a priority stream
- Json
Path - Type-safe JSON Path for addressing nodes in JSON structures
- Priority
- Type-safe priority value (1-255 range)
- Priority
Distribution - Distribution of frames by priority level
- Priority
Percentages - Priority distribution as percentages (for demos and visualization)
- Schema
Id - Schema identifier for tracking and referencing schemas
- Session
Id - Unique identifier for streaming sessions
- Stream
- Priority data stream entity
- Stream
Id - Unique identifier for streams within a session
Enums§
- Domain
Error - Domain-specific errors
- Domain
Event - Domain events that represent business-relevant state changes
- Json
Data - Domain-specific representation of JSON-like data This replaces serde_json::Value to maintain Clean Architecture principles
- Schema
- JSON Schema representation for validation
- Schema
Type - Simplified schema type for quick type checking
- Schema
Validation Error - Schema validation error with detailed context
Type Aliases§
- Domain
Result - Domain Result type
- Schema
Validation Result - Schema validation result