吕君喜 406d880ac6 first %!s(int64=3) %!d(string=hai) anos
..
build 406d880ac6 first %!s(int64=3) %!d(string=hai) anos
prebuilds 406d880ac6 first %!s(int64=3) %!d(string=hai) anos
src 406d880ac6 first %!s(int64=3) %!d(string=hai) anos
LICENSE 406d880ac6 first %!s(int64=3) %!d(string=hai) anos
README.md 406d880ac6 first %!s(int64=3) %!d(string=hai) anos
binding.gyp 406d880ac6 first %!s(int64=3) %!d(string=hai) anos
fallback.js 406d880ac6 first %!s(int64=3) %!d(string=hai) anos
index.js 406d880ac6 first %!s(int64=3) %!d(string=hai) anos
package.json 406d880ac6 first %!s(int64=3) %!d(string=hai) anos

README.md

bufferutil

Version npm Linux/macOS Build Windows Build

bufferutil is what makes ws fast. It provides some utilities to efficiently perform some operations such as masking and unmasking the data payload of WebSocket frames.

Installation

npm install bufferutil --save-optional

The --save-optional flag tells npm to save the package in your package.json under the optionalDependencies key.

API

The module exports two functions.

bufferUtil.mask(source, mask, output, offset, length)

Masks a buffer using the given masking-key as specified by the WebSocket protocol.

Arguments

  • source - The buffer to mask.
  • mask - A buffer representing the masking-key.
  • output - The buffer where to store the result.
  • offset - The offset at which to start writing.
  • length - The number of bytes to mask.

Example

'use strict';

const bufferUtil = require('bufferutil');
const crypto = require('crypto');

const source = crypto.randomBytes(10);
const mask = crypto.randomBytes(4);

bufferUtil.mask(source, mask, source, 0, source.length);

bufferUtil.unmask(buffer, mask)

Unmasks a buffer using the given masking-key as specified by the WebSocket protocol.

Arguments

  • buffer - The buffer to unmask.
  • mask - A buffer representing the masking-key.

Example

'use strict';

const bufferUtil = require('bufferutil');
const crypto = require('crypto');

const buffer = crypto.randomBytes(10);
const mask = crypto.randomBytes(4);

bufferUtil.unmask(buffer, mask);

License

MIT