<commit_before>## Redis Vent

The Redis Vent allows you to send custom events from the server to the clients that subscribe to it.
It also will bypasses Meteor's mergebox, meaning all events sent out, will not be stored on the server.

You may need this if you want absolute control over the reactivity.

It uses Redis ofcourse to communicate events to all instances in your infrastructure that talk share the same Redis Connection.

What this means:
1. You can implement a very efficient and scalable chat application
2. You can emulate reactivity with other databases other than mongo.

### API

On the server:
```js
import {Vent} from 'meteor/cultofcoders:redis-oplog';

// This creates a publication end-point (make sure the name does not collide with any existing publish endpoints)
Vent.publish({
    'threadMessage'({threadId}) {
        // check permissions, you have access to this.userId, because you are in publish context
        
        // registers listeners on redis<commit_msg>Small update to docs<commit_after>## Redis Vent

The Redis Vent allows you to send custom events from the server to the clients that subscribe to it.
It also will bypasses Meteor's mergebox, meaning all events sent out will not be stored on the server.

You may need this if you want absolute control over the reactivity.

It uses Redis ofcourse to communicate events to all instances in your infrastructure that share the same Redis connection.

What this means:
1. You can implement a very efficient and scalable chat application, at the expense of writing more code to achieve this, which is normal.
2. You can emulate reactivity with other databases/apis other than mongo.

### API

On the server:
```js
import {Vent} from 'meteor/cultofcoders:redis-oplog';

// This creates a publication end-point (make sure the name does not collide with any existing publish endpoints)
Vent.publish({
    'threadMessage'({threadId}) {
        // check permissions, you have access to this.userId, because you are in publish context
        
        // registers listeners on redis
{'fraction_non_alphanumeric': 0.05278450363196126, 'fraction_numerical': 0.001937046004842615, 'mean_word_length': 3.9425837320574164, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '447144', 'n_tokens_mistral': 533, 'n_tokens_neox': 511, 'n_words': 298}