Commit ffc6bbc
committed
feat: Add Tier 3-4 ZRTL plugins with async support
Tier 3 Plugins:
- zrtl_crypto: Hashing (SHA256/512, MD5), Base64, Hex, UUID v4/v7,
cryptographically secure random using getrandom crate
- zrtl_http: Full HTTP client with request builder API, async support
(get_async, post_async, request_send_async)
- zrtl_compress: Gzip/Zlib/Deflate compression using byte arrays
Tier 4 Plugins:
- zrtl_sql: SQLite database with handle-based API using rusqlite
- zrtl_websocket: WebSocket client with async support using tungstenite
Async Infrastructure:
- All I/O plugins now support ZrtlPromise-based async operations
- HTTP: http_get_async, http_post_async, http_request_send_async
- WebSocket: ws_connect_async, ws_recv_async, ws_send_async
- Network: net_tcp_connect_async, net_tcp_accept_async, net_tcp_read_async
- Thread-based futures with proper state machine cleanup
- Type-tagged promise states for correct memory deallocation
Improvements:
- zrtl_math: RNG now seeded with OS entropy via getrandom
- zrtl_crypto: Uses getrandom for cryptographically secure random
- All plugins have proper memory management and error handling
100 tests passing across 16 plugins.1 parent f64ba62 commit ffc6bbc
22 files changed
Lines changed: 4047 additions & 492 deletions
File tree
- plugins
- zrtl_compress
- src
- zrtl_crypto
- src
- zrtl_http
- src
- zrtl_math
- src
- zrtl_net
- src
- zrtl_sql
- src
- zrtl_websocket
- src
- reflaxe.zyntax
- output
- test
- output
- sdk/tests
Binary file not shown.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
15 | 20 | | |
16 | 21 | | |
17 | 22 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
0 commit comments