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

@ethronpi/zeromq

v0.1.0

Published

A plugin to work with ZeroMQ in EthronLabs.

Downloads

3

Readme

@ethronpi/zeromq

NPM version Total downloads

Ethron plugin for ZeroMQ.

Developed in Dogma, compiled to JavaScript.

Engineered in Valencia, Spain, EU by EthronLabs.

Use

plugins:
  - plugin: "@ethronpi/zeromq"
    args:
      socket: pair|push|pull|pub|sub|req
      endpoint: endpoint
      role: server|client
      topic: topic
      context: context
  • socket (string, required), the socket type.

  • endpoint (string, required), the endpoint to connect or to bind.

  • role (string, required), the role to play. When sever, the socket is bound; if client, connected.

  • topic (string), the topic to subscribe implicitly when sub socket. If you need to subscribe to all the topics implicitly, set it empty text.

  • context (object), the context to use with the socket: Context class.

Tasks

send

It sends a single or multipart message on the socket.

[zeromq.send, message]
[zeromq.send, [my, message]]
[zeromq.send, [topic, message]]

Observations:

  • When pair socket used and no pair connected to the other end, the operation waits for its connection.

  • The sub sockets can't call this task, these are receive-only.

  • If req socket, it sends the message and waits for the response from the reply socket. On the other hand, if the reply socket is not available, it waits for its connection.

receive

It receives a single or multipart message on the socket.

[zeromq.receive]
[zeromq.receive, opts]
  • opts (object), the receive options:

    • timeout (number), timeout in milliseconds.

    • onTimeout, message to return if timeout reached. If none set, error will be raised.

    • encoding (string), decode the message automatically: cast to string or json.

Observations:

  • The req sockets have the implicit call to receive the response when a message sent. So well, you mustn't call this task with this type of socket.

subscribe

It subscribes to a given topic. When no topic set, all the messages received.

[zeromq.subscribe]
[zeromq.subscribe, topic]

When a sub socket, we can set the topic as socket argument; if not set there, we have to do it explicitly with this task.

unsubscribe

It unsubscribes from a topic or all the topics.

[zeromq.unsubscribe]
[zeromq.unsubscribe, topic]