npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

expressify-ipc

v1.0.4

Published

An Expressify strategy enabling RESTful application over a local socket transport.

Downloads

9

Readme

expressify-ipc

An Expressify strategy enabling RESTful application over a local socket transport.

CodeFactor

Current version: 1.0.4

Lead Maintainer: Halim Qarroum

Table of contents

Install

npm install --save expressify-ipc

Features

  • Supports Linux, MacOS and Windows.
  • Based on Unix or Windows local sockets for better throughput.
  • Supports observation of resources through local sockets.

Usage

In order to use expressify-ipc, you need to create an instance of the strategy and pass it to an expressify client or server. You must pass to the constructor of expressify-ipc an options object containing two parameters :

  • endpoint (String) - Uniquely identifies the server endpoint to connect to.
  • namespace (String) - The namespace used to partition communucation on the local socket.

Creating a client

The below example shows you how to create an instance of an Expressify client using the ipc strategy.

// Creating the `client` instance.
const client = new Expressify.Client({
  strategy: new IpcStrategy({
    endpoint: 'expressify.server',
    namespace: 'foo'
  })
});

Creating a server

The below example shows you how to create an instance of an Expressify server using the ipc strategy.

// Creating the `server` instance.
const server = new Expressify.Server({
  strategy: new IpcStrategy({
    endpoint: 'expressify.server',
    namespace: 'foo'
  })
});

// Listening for incoming requests.
server.listen().then(() => {
  console.log(`[+] The server is listening on namespace '${server.strategy.opts.topic}' !`);
});

Closing expressify-ipc

Since the expressify-ipc module uses IPC local socket communication, it is required to make sure that, when done using the server or the client, you properly release the resources that have been allocated to them.

Closing the server

Here, you simply have to call the .close() API on the server instance as you would usually do it with any expressify strategy. THis will close the local socket on which the strategy is communicating.

server.close().then(() => console.log('Server instance closed'));

Closing the client

When done with a client instance, you need to explicitely close it using the .close() API on the client instance.

client.close().then(() => console.log('Client instance closed'));

If you do not close the client on Node.js, the event loop will continue running since the local socket associated with the strategy which the client is using is still opened.

See how the client is properly closed in the examples associated with the expressify-ipc strategy.

Examples

Two functional examples involving the expressify-ipc strategy are available in the examples directory :

  • Remote storage - Demonstrates how to use expressify-ipc to expose a REST interface on the server which can store in memory a set of key-value pairs, and on the client on how to query this service remotely over local sockets.
  • System monitoring - Shows you how to use expressify-ipc to expose system metrics on the server and to display them to the user on the client.

See also