Files
modules/measurement-rate-control/hyper-p2p-bucket-rate-limit
Raven ScottandCursor 3af23c0d34 Add toJSON() serialization helpers across all module categories on main.
Fourth pass: toJSON() delegates to snapshot() (or exportSnapshot/stateSnapshot) for JSON export and logging across agents, applications, consensus, core, encoding, experimental, indexes, media, messaging, network, observability, pear-platform, routing, scheduling, storage, supercomputer, trust, measurement, oracles, and time-ordering modules.

Co-authored-by: Cursor <[email protected]>
2026-05-21 04:22:54 -04:00
..
2026-05-20 21:02:45 -04:00
2026-05-20 21:02:45 -04:00
2026-05-20 21:02:45 -04:00
2026-05-21 00:07:44 -04:00
2026-05-20 21:02:45 -04:00
2026-05-20 21:02:45 -04:00
2026-05-20 21:02:45 -04:00

hyper-p2p-bucket-rate-limit

Production measurement & rate control module: Hyperswarm discovery + Protomux when topic is set.

Category: Measurement & rate control

Composes with: hyper-p2p-congestion-signal, hyper-p2p-bandwidth-broker

Protocol: bucket-rate-limit/v1

When to use

Multi-peer apps that need measurement & rate control over a shared Hyperswarm topic.

When not to use

Single-process tools with no P2P topic (use local APIs only or skip ready()).

Quick start

const { HyperP2PBucketRateLimit } = require('hyper-p2p-bucket-rate-limit')
const topic = process.argv[2] // 64-char hex or string
const mod = new HyperP2PBucketRateLimit({ topic, enableBackgroundTimers: false })
await mod.ready()   // joins swarm when topic set
// ... application logic ...
await mod.close()

Docs

Test

npm install && npm test