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

@jayesol/jayeson.lib.delivery

v2.0.6

Published

Javascript implementation of Delivery

Downloads

41

Readme

v 1.4.1

  • Use StreamFinder 1.6.0: Supports advertisements with paths.
  • New message group for Name Feed: group 30.
  • Prevent streams from getting excluded more than once by having only one ReconnectClientTask.
  • Not to attempt to load truststore if truststores are not provided in the SSL config.

v 1.3.9

  • Use StreamFinder 1.4.1 : Sends advertisements containing all unadvertised streams instead of one advertisement per stream.
  • Use StreamFinder 1.5.0 : Split streams inside an advertisement into chunks of 100.
  • Fix memory leak of event loop not garbage collected if connection fails by shutting down the event loop.
  • Fix guice circular dependency between AuthService and AuthGroupProcessor.
  • Fix reconnection missing streams issue #18763.
  • Fix relayer oom issue #19366.
  • Fix disconnection from stream by not sending deregistration request twice #19650
  • Created ConsumptionStopEvent class in Java. An instance will be sent upon successful deregistration from stream.
  • Fixed not able to reconnect to redis server as a result of a change in redis server ip.
  • Added keepalive sending from subscriber to publisher and made sending of keepalive from publisher to subscriber be configurable and default to false.

v 1.2.0

  • Use StreamFinder 1.3.0 : Discovering with scope information
  • TypeScript Support for delivery
  • Improved keep-aliv sending. Will only send if there are no other messages sent
  • Bug fixes involving release of reference counted messages, AuthMessage time out. Config change: Move authMsgTimeout to authServiceConfig
  • StreamStopMessage implementation. PE can explictly tell subscriber that it is stopping a stream and subscriber can failover. Refer to wiki for more information

v 1.1.2

  • Use StreamFinder 1.2.3
  • Use Netty 4.0.36.Final
  • Support multiple scopes in subscriber(Update subscriber config.Will not work with older config)
  • Fixed Reconnection bug in Subscriber where reconnection trying stops after some retries
  • Remove StreamRegistry Group Processing from Eventloop.(No change is needed in PE)
    • To Describing PE callback behavoiur more explcitly:
      • PE should expect messages from an endpoint AFTER call of actOnStreamRegistrationRequest()
      • PE should initiate sending messages ONLY afte call of startPublishing()
  • Subscriber now dont make unnecessary connection to StreamFinder if application is not using subscriber module(i.e If no discovery streams in config).
  • Exposed default handlers in JsonBaseMessageClass. Applications can now extend JSonBaseMessageClass to do custom transformation of message within pipeline itself. E:g here
  • Added Abstrations for using with jruby
  • Minor bug fixes and improved logging

Registered MessageGroups. Please register your message group before using on common infrastructure

| Group | Byte | | ------------------------------- | ------ | | ObscureGroup(used internally) | 0 | | StreamRegistryGroup | 2 | | ConnectionCheckingGroup(keep alive) | 4 |
| Authentication Group | 5 | | GenericMessageGroup | 6 | | OrderFeed |11 | | MinMax Feed |12| | Vodds Config Feed |13| | Soccer Results Feed |14| | Sports Results Feed |15| | Name Feed |30| | SoccerFeed |69| | Ping Pong Feed(Demo Example) |71| | Sports Feed |70|

Develeoper Notes

We follow google java style guide
https://google.github.io/styleguide/javaguide.html

Few Points to take note(Copied from style guide ):

4.1 Braces

4.1.1 Braces are used where optional

Braces are used with if, else, for, do and while statements, even when the body is empty or contains only a single statement.

4.1.2 Nonempty blocks: K & R style

Braces follow the Kernighan and Ritchie style ("Egyptian brackets") for nonempty blocks and block-like constructs:

No line break before the opening brace.
Line break after the opening brace.
Line break before the closing brace.
Line break after the closing brace if that brace terminates a statement or the body of a method, constructor or named class. For example, there is no line break after the brace if it is followed by else or a comma.

Example:

  @Override public void method() {
    if (condition()) {
      try {
        something();
      } catch (ProblemException e) {
        recover();
      }
    }
  }
};```