Skip to content
The socket manager
Branch: master
Clone or download
Latest commit a6e7a14 Feb 19, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples updated tests, benchmarks, cleanup and optimized Jan 16, 2019
packages Update README.md Feb 19, 2019
scripts revised readme copy Jan 18, 2019
tests/integration
.gitignore fixed bundles, added sub package readmes Jan 18, 2019
.npmignore fixed bundles, added sub package readmes Jan 18, 2019
.travis.yml updated tests, benchmarks, cleanup and optimized Jan 16, 2019
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE updated tests, benchmarks, cleanup and optimized Jan 16, 2019
README.md
lerna.json lerna structure Dec 19, 2018
package.json updated tests, benchmarks, cleanup and optimized Jan 16, 2019
tslint.json v3 stub Dec 4, 2018
types.ts

README.md

Kalm
Kalm

The Socket Optimizer


Kalm Build Status


  • Easy-to-use syntax unified across protocols
  • Flexible and extensible, load your own transports and routines
  • Can be used between servers or in the browser
  • Lower resource footprint and better throughtput than plain sockets
  • Zero dependencies and can be bundled down to ~5kb!

Performance

perf

The performance gain comes from buffering packets before sending them- eventually sending batches instead of individual packages. The more traffic getting processed, the better the improvement. You can read more about the algorithm here

Install

Install the core package

npm install kalm

Install the transport layer ('tcp' for example)

npm install @kalm/tcp

Build

npm run build

Documentation

[Read more]

Usage

See the examples folder.

Logging

Kalm uses the standard NODE_DEBUG environment variable. Just include kalm in your value.

Testing

npm test

npm run bench

Contribute

If you think of something that you want, open an issue or file a pull request, we'll be more than happy to take a look!

License

Apache 2.0 (c) 2019 Frederic Charette

You can’t perform that action at this time.