Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

slip

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

slip

A Serial Line Internet Protocol (SLIP) library that runs in Node.js and the browser.

  • 1.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
12K
decreased by-11.12%
Maintainers
1
Weekly downloads
 
Created
Source

slip.js

slip.js is a JavaScript library for encoding and decoding Serial Line Internet Protocol packets. It works in both Node.js and in a web browser.

How Do I Use It?

slip.js provides two pieces of functionality: encoding and decoding messages.

Encoding

Encoding is stateless and synchronous. slip.encode() takes any array-like object containing bytes, such as a Uint8Array, Node.js Buffer, ArrayBuffer, or plain JavaScript Array. It returns a Uint8Array containing the encoded message.

Example
var message = new Uint8Array([99, 97, 116, 33]);
var slipEncoded = slip.encode(message); // Result is [192, 99, 97, 33, 192]
Options
OptionTypeDescriptionDefault value
bufferPaddingNumber_Optional_. The number of bytes to add to the message's length when initializing the encoder's internal buffer.4
offsetNumber_Optional_. An offset index into the data argument to start reading the message from.undefined
byteLengthNumber_Optional_. The number of bytes of the data argument to read.undefined

Decoding

Decoding is stateful and asynchronous. You need to instantiate a slip.Decoder object, providing a callback that will be invoked whenever a complete message is received. By default, messages are limited to 10 MB in size. You can increase this value by providing a maxBufferSize option to the Decoder constructor, specified in bytes.

To decode a SLIP packet, call decode(). Whenever the slip.Decoder detects the end of an incoming message, it will call its onMessage callback.

Example
var logMessage = function (msg) {
    console.log("A SLIP message was received! Here is it: " + msg);
};

var decoder = new slip.Decoder({
    onMessage: logMessage,
    maxMessageSize: 209715200,
    bufferSize: 2048
});

decoder.decode(packet);
decoder.decode(otherPacket);
Options
OptionTypeDescriptionDefault value
bufferSizeNumber_Optional_. The initial size of the decoder's internal buffer. It will be resized as necessary.1024
maxMessageSizeNumber_Optional_. The maximum size of incoming messages, in bytes. Messages larger than this value will cause the onError callback to be invoked.10485760 (10 MB)
onMessageFunctionA callback that will be invoked whenever a complete message is decoded.undefined
onErrorFunctionA callback that will be invoked whenever an error occurs.undefined
Events

The onMessage callback's signature is:

ArgumentTypeDescription
msgUint8ArrayThe decoded message, with SLIP characters removed.

The onError callback's signature is:

ArgumentTypeDescription
msgBufferUint8ArrayA copy of the internal message buffer.
errorMsgStringThe error message.

License

slip.js is written by Colin Clark and distributed under the MIT and GPL 3 licenses.

Keywords

FAQs

Package last updated on 25 Jul 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc