
Security News
AGENTS.md Gains Traction as an Open Format for AI Coding Agents
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
chuckt_redis
Advanced tools
ChuckT is an event transport system built on the SockJS websocket API. This module is the server-side implementation of ChuckT and is designed to complement the client-side ChuckT JavaScript library.This fork future implements publish/subscribe derived by redis.
ChuckT-node is a node server component for triggering and/or listening to events over the SockJS websocket API. This client is intended to be used in conjunction with the client-side ChuckT JavaScript library:
Injects publish and subscribe into ChuckT which almost replicates and simplifies the core features of socket.io into sockjs.
The recommended way to install chuckt-node is through npm:
npm install chuckt_redis
ChuckT instances require a socket connection:
var sockjs = require('sockjs');
var chuckt = require('chuck_redis');
// To set a global reference to all clients
var connections={};
// A global reference to the redis publisher
var publisher = redis.createClient();
var sock = sockjs.createServer();
sock.on('connection', function(conn) {
var socket = new ChuckT(conn,connections,publisher);
// ... do chuckt stuff like add listeners or emit events
By default the clients don't subscribe to namespaces, as not all clients require to be join any namespaces. To initialise pubsub for a client
socket.initPub();
chuck_redis has 4 basic methods
socket.emitToBrowser('some-event', 'bar');
socket.emitToAllBrowsers('some-event', 'bar');
socket.emitToChannel('some-event', 'bar');
socket.emitToPeers('some-event', 'bar');
socket.switchChannel('nameOfTheChannel');
Functions such as emitToBrowser
and emitToAllBrowsers
works even if a user if not part of any namespaces.
When any emit function is called you can send any number or arbitrary arguments.
Any number of arguments and even a callback can be passed with events. The callback is essentially just a proxy to a callback that is defined (and executed) on the frontend:
chuckt.on('another-event', function(arg1, arg2, callback) {
// ... do stuff with arguments
callback();
});
Some events may only pass a callback:
chuckt.on('another-event-2', function(callback) {
// ... do stuff without arguments
callback();
});
You may want to pass arguments back to the frontend's callback:
chuckt.on('another-event-3', function(callback) {
// ... do stuff without arguments
callback('dear frontend', 'you may find these arguments compelling');
});
And sometimes, your event may not come with any arguments nor a callback:
chuckt.on('another-event-4', function() {
// ... do stuff without ever acknowledging receipt
});
A big thanks to epixa/chuckt-node for making event driven possible in sockjs.
FAQs
ChuckT is an event transport system built on the SockJS websocket API. This module is the server-side implementation of ChuckT and is designed to complement the client-side ChuckT JavaScript library.This fork future implements publish/subscribe derived by redis.
We found that chuckt_redis demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.