| Crates.io | ipfrs-transport |
| lib.rs | ipfrs-transport |
| version | 0.1.0 |
| created_at | 2026-01-18 20:55:23.190607+00 |
| updated_at | 2026-01-18 20:55:23.190607+00 |
| description | Transport protocols and zero-copy data exchange for IPFRS distributed system |
| homepage | https://github.com/cool-japan/ipfrs |
| repository | https://github.com/cool-japan/ipfrs |
| max_upload_size | |
| id | 2053087 |
| size | 1,248,612 |
TensorSwap: High-performance data exchange protocol for IPFRS.
ipfrs-transport implements the data exchange layer for IPFRS, featuring:
Evolution of IPFS Bitswap with neural-symbolic optimizations:
TensorSwap Engine
├── Request Manager # Outgoing block requests
├── Response Handler # Incoming block provides
├── Want List Manager # Priority queue of needed blocks
└── Peer Selector # Choose best peer for each block
↓
QUIC Stream (quinn)
↓
ipfrs-network (libp2p)
| Metric | Kubo Bitswap | IPFRS TensorSwap | Improvement |
|---|---|---|---|
| Time to First Block | ~500ms | <50ms (QUIC) | 10x |
| Large File Throughput | ~100 MB/s | ~500 MB/s | 5x |
| Connection Setup | 2-RTT | 0-RTT (QUIC) | Instant |
use ipfrs_transport::{TensorSwap, Config};
use ipfrs_core::Cid;
// Initialize TensorSwap
let swapper = TensorSwap::new(config).await?;
// Request blocks with priority
swapper.want_block(cid, Priority::High).await?;
// Stream large tensor
let stream = swapper.stream_tensor(cid).await?;
while let Some(chunk) = stream.next().await {
// Process chunk...
}
quinn - QUIC implementationlibp2p - P2P networking primitivestokio - Async runtimefutures - Stream processing