expressify-ipc

    1.0.4 • Public • Published

    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

    Install

    npm i expressify-ipc

    DownloadsWeekly Downloads

    2

    Version

    1.0.4

    License

    MIT

    Unpacked Size

    64.3 kB

    Total Files

    19

    Last publish

    Collaborators

    • hqm