1.4.3 • Published 4 years ago

fib-push v1.4.3

Weekly downloads
4
License
ISC
Repository
github
Last release
4 years ago

fib-push

NPM version Build Status Build status

fib-push is one global service in a fibjs runtime, which provides duplex communication based on websocket-like connection, and manage end-2-end connection & message queue with Channel. One global service is enough in most cases, so we don't support multiple instances of fib-push at now.

fib-push has so less code that you could learn about its mechanism and usage just by reading source code :)

Core Concept

  • Channel is the pivot structure in fib-push.
  • There is one global idles variable for recording idle channel, when new idle channel added as tail, the head one would be delete and removed.
  • All message transmission is on json-encoded-format.

Usage

const push = require('fib-push');

push.config({
    idle_limit: 10,
    msg_limit: 10
});
var r = [];
var ws = {
    send: m => r.push(m)
};

function filter_data (data) {
    return data.foo === 'bar';
}
// mount one channel named of 'channel_name'
push.on('channel_name', ws, new Date(), filter_data);
push.post('channel_name', { foo: '_bar' })
console.log(r.length) // 0
push.post('channel_name', { foo: 'bar' })
console.log(r.length) // 1

console.log(r[0]) // {"timestamp":"2018-05-11T09:18:05.134Z","ch":"channel_name","data":{"foo":"bar"}}
console.log(JSON.parse(r[0]).data) // {foo: 'bar'}

View more useages in this repo's test/*.js


Types

View details in @types

1.4.3

4 years ago

1.4.2

5 years ago

1.4.1

5 years ago

1.4.0

5 years ago

1.3.0

6 years ago

1.2.2

6 years ago

1.2.1

6 years ago

1.2.0

6 years ago

1.1.0

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago