- Create Transport trait with methods (send, receive, connect, disconnect)
- Implement default transport layers (e.g., TCP, unbounded channels)
- Design for extensibility of custom transport mechanisms
- Implement NetConnectionContext for RTMP connection management
- Implement RTMP handshake process:
- C0, C1, S0, S1, S2, C2 messages
- Implement the new handshaking process since FP 9.0
- Implement message handling for RTMP messages:
- ControlMessages
- CommandMessages
- DataMessages
- Develop a transaction system for RTMP commands
- Handle timestamp wrapping around
- Create Rust structs/enums matching ActionScript classes:
- NetConnection
- NetStream
- SharedObject
- Implement methods/properties for ActionScript behavior
- Plan and implement flavors of RTMP (e.g., RTMPT, RTMPS)
- Integrate advanced features (e.g., security, encryption, custom extensions)
- Write unit tests for each component
- Write integration tests for full protocol stack
- Document API with usage examples
- Document RTMP protocol implementation and configuration
- Create sample applications or tests to demonstrate usage