Download the PHP package tourze/quic-recovery without Composer
On this page you can find all versions of the php package tourze/quic-recovery. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Please rate this library. Is it a good library?
Informations about the package quic-recovery
QUIC Recovery Package
中文
A complete implementation of QUIC protocol packet loss detection and recovery mechanisms, following RFC 9002 specifications.
Table of Contents
- Features
- Installation
- Usage
- Quick Start
- Creating Recovery Instance
- When Sending Packets
- When Receiving Packets
- Processing Received ACK
- Handling Timeout Events
- Dependencies
- Advanced Usage
- Components
- Configuration
- Error Handling
- Performance Considerations
- RFC Compliance
- Contributing
- License
Features
- RTT Estimation: Implements exponential moving average algorithm for round-trip time estimation
- Loss Detection: Supports time-based and packet-number-based loss detection algorithms
- Packet Tracking: Tracks sent packet status and acknowledgment information
- ACK Management: Automatic ACK frame generation and processing
- Retransmission Management: Smart retransmission strategy including PTO probing and fast retransmission
Installation
Usage
Quick Start
Creating Recovery Instance
When Sending Packets
When Receiving Packets
Processing Received ACK
Handling Timeout Events
Dependencies
- PHP 8.1 or higher
tourze/quic-core- Core QUIC protocol componentstourze/quic-packets- QUIC packet structurestourze/quic-frames- QUIC frame structures
Advanced Usage
Getting Statistics
Accessing Individual Components
Periodic Cleanup
Components
RTTEstimator
- Implements RFC 9002 RTT estimation algorithm
- Supports smoothed RTT and RTT variance calculation
- Provides PTO timeout calculation
PacketTracker
- Tracks sent packet status
- Manages ACK acknowledgments and loss marking
- Supports packet reordering detection
LossDetection
- Packet number gap-based loss detection
- Time threshold-based loss detection
- PTO timeout management
AckManager
- Automatic ACK frame generation
- ACK delay control
- Missing packet detection
RetransmissionManager
- Smart retransmission strategy
- Exponential backoff algorithm
- Retransmission statistics analysis
Configuration
Error Handling
All methods include proper parameter validation and will throw InvalidArgumentException for invalid parameters.
Performance Considerations
- Periodically call
cleanup()method to clean expired records - Monitor retransmission rate to avoid retransmission storms
- Adjust initial RTT value based on network conditions
RFC Compliance
This implementation strictly follows the following RFC specifications:
- RFC 9000 - QUIC: A UDP-Based Multiplexed and Secure Transport
- RFC 9002 - QUIC Loss Detection and Congestion Control
Contributing
Please see CONTRIBUTING.md for details.
License
The MIT License (MIT). Please see License File for more information.
All versions of quic-recovery with dependencies
PHP Build Version
Package Version
Requires
php Version
^8.1
tourze/quic-core Version 0.0.*
tourze/quic-packets Version 0.0.*
tourze/quic-frames Version 0.0.*
tourze/quic-core Version 0.0.*
tourze/quic-packets Version 0.0.*
tourze/quic-frames Version 0.0.*
The package tourze/quic-recovery contains the following files
Loading the files please wait ...