Update README.md
This commit is contained in:
parent
49164da105
commit
5f2777cdb2
@ -143,71 +143,3 @@ async function run() {
|
||||
|
||||
run();
|
||||
```
|
||||
|
||||
## Benefits of This Approach
|
||||
|
||||
1. **Type Safety**: All socktop types work identically in WASM
|
||||
2. **Validation**: Configuration validation happens in Rust
|
||||
3. **Maintainability**: Share types between native and WASM code
|
||||
4. **Performance**: Rust types compile to efficient WASM
|
||||
5. **Future Proof**: Updates to socktop types automatically work in WASM
|
||||
|
||||
## Real-World Usage
|
||||
|
||||
For production WASM applications:
|
||||
|
||||
1. Use this pattern to create a WASM module that exports configuration and serialization functions
|
||||
2. Handle WebSocket connections in JavaScript using browser APIs
|
||||
3. Use the exported functions for type-safe message creation and parsing
|
||||
4. Leverage socktop's structured error handling for robust applications
|
||||
- **No TLS dependencies**: Completely avoids rustls/TLS
|
||||
- **No tokio/mio**: Uses only WASM-compatible dependencies
|
||||
|
||||
### ❌ WASM Limitations
|
||||
- **No native networking**: `tokio-tungstenite` doesn't work in WASM
|
||||
- **No TLS support**: rustls is not WASM-compatible
|
||||
- **No file system**: Certificate loading not available
|
||||
|
||||
## Architecture for WASM Users
|
||||
|
||||
```
|
||||
WASM Application
|
||||
├── Use socktop_connector types (✅ this test proves it works)
|
||||
├── Use browser WebSocket API for networking
|
||||
└── Handle serialization with socktop message format
|
||||
```
|
||||
|
||||
## Quick Start
|
||||
|
||||
1. **Build the WASM package**:
|
||||
```bash
|
||||
cd socktop_wasm_test
|
||||
wasm-pack build --target web --out-dir pkg
|
||||
```
|
||||
|
||||
2. **Start local server**:
|
||||
```bash
|
||||
basic-http-server .
|
||||
```
|
||||
|
||||
3. **Open browser** to `http://localhost:8000` and click "Run WASM Test"
|
||||
|
||||
## Success Criteria
|
||||
|
||||
- ✅ WASM builds without any networking dependencies
|
||||
- ✅ Core types compile and serialize properly
|
||||
- ✅ Configuration API works for WebSocket setup
|
||||
- ✅ No rustls/TLS/tokio/mio dependencies
|
||||
|
||||
## Real-World WASM Usage
|
||||
|
||||
WASM users should:
|
||||
1. **Use these types** for message structure compatibility
|
||||
2. **Use browser WebSocket** for actual connections:
|
||||
```javascript
|
||||
const ws = new WebSocket('ws://localhost:3000/ws');
|
||||
ws.send(JSON.stringify({ request: 'Metrics' }));
|
||||
```
|
||||
3. **Handle responses** using the same serialization format
|
||||
|
||||
This test proves `socktop_connector`'s **types and patterns** work in WASM, even though the networking must be handled differently.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user