JSPM

bfx-api-node-plugin-wd

1.0.4
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 8
  • Score
    100M100P100Q107104F
  • License MIT

Connection watchdog plugin for the official Bitfinex Node API

Package Exports

  • bfx-api-node-plugin-wd

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (bfx-api-node-plugin-wd) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Bitfinex Packet Watch-dog Plugin for the Node.JS API

Build Status

This plugin implements a watch-dog for the Bitfinex Node API. It can be initialized with a reconnection & watch dog delay, and will close the socket connection & automatically reconnect if no message arrives within the WD delay. It is meant to be used to detect and cycle stale socket connections.

Features

  • Closes & re-opens connections if no packet arrives within the configured WD window

Installation

npm i --save bfx-api-node-plugin-wd

Quickstart & Example

const debug = require('debug')('bfx:api:plugins:wd:example')
const { Manager, subscribe } = require('bfx-api-node-core')
const WDPlugin = require('bfx-api-node-plugin-wd')

const mgr = new Manager({
  transform: true,

  // include watch-dog plugin on manager init
  plugins: [WDPlugin({
    autoReconnect: true,  // if false, the connection will only be closed
    reconnectDelay: 5000, // wait 5 seconds before reconnecting
    packetWDDelay: 10000  // set the watch-dog to a 10s delay
  })]
})

// Note that we do nothing here; the watch-dog will fire due to a lack of
// incoming messages
mgr.onWS('open', {}, (state = {}) => {
  debug('open')
})

mgr.openWS()

Docs

For an executable example, see examples/usage.js

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request