Socket
Socket
Sign inDemoInstall

@brigade/pooled-thrift-client

Package Overview
Dependencies
8
Maintainers
5
Versions
6
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @brigade/pooled-thrift-client

A Thrift client utilising a pool of service connections and improved error handling/recovery


Version published
Weekly downloads
7
increased by250%
Maintainers
5
Created
Weekly downloads
 

Changelog

Source

2.0.0

  • Really just a constructor change to make things more sensible, but in line with semver, we're now at 2.0.0.

Readme

Source

pooled-thrift-client

npm version Build Status

A node Thrift client utilising a pool of service connections and improved error handling/recovery

Features

  • proper Promise support in pool instance con/destruction
  • correct behaviour on "Internal Error", aka, socket misalignment on unhandled server errors
  • better/existent timeout support for: connections, pool checkout, execution
  • builtin retry support using upstream Thrift code
  • faster detection and pruning of dead connections
  • async/await compatibility and other niceties

Example usage

Given a thrift file calculator_service.thrift with contents:

exception OutOfRange {
  1: string message
}
service CalculatorService {
  i32 add(1:i32 num1, 2:i32 num2) throws (1:OutOfRange out_of_range)
}

Compile with the thrift command (installable via your package manager):

thrift --gen js:node calculator_service.thrift

This will produce JS definitions for your service, which can then be used to create a client:

const CalculatorService = require('./CalculatorService');
const thriftClient = require('pooled-thrift-client');

// host and port are mandatory see other config options in comments
const host = '127.0.0.1', port = 9000;
const client = thriftClient(CalculatorService, { host, port }, { poolOptions: { max: 5 } });

// use the client as you would a regular client, get pooling for free
client.add(1, 2).then(sum => console.log(sum));

Testing

Tests use the calculator_service.thrift example service located in spec/support/thrift. A compiled version is committed to this repository; to recompile it, install thrift using your package manager (e.g., brew install thrift), then follow the instructions in the file.

Tests can be run using

npm test

Keywords

FAQs

Last updated on 01 Jun 2018

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc