Commit 38ef1409d7b796b658aaae45e4c9c1c6554b91da
we need to know immedately when a message is received, for replication
Dominic Tarr committed on 4/8/2017, 12:12:34 AMParent: ee8d1567d50d2cff08efbfe027b99107a276acb4
Files changed
index.js | changed |
index.js | ||
---|---|---|
@@ -2,8 +2,9 @@ | ||
2 | 2 … | |
3 | 3 … | var join = require('path').join |
4 | 4 … | var assert = require('assert') |
5 | 5 … | var EventEmitter = require('events') |
6 … | +var Obv = require('obv') | |
6 | 7 … | |
7 | 8 … | var contpara = require('cont').para |
8 | 9 … | var pull = require('pull-stream') |
9 | 10 … | var pl = require('pull-level') |
@@ -71,16 +72,21 @@ | ||
71 | 72 … | db.__proto__ = new EventEmitter() |
72 | 73 … | |
73 | 74 … | db.opts = opts |
74 | 75 … | |
76 … | + db.post = Obv() | |
75 | 77 … | db.batch = function (batch, cb) { |
76 | 78 … | db.append(batch.map(function (e) { |
77 | 79 … | return { |
78 | 80 … | key: e.key, |
79 | 81 … | value: e.value, |
80 | 82 … | timestamp: timestamp() |
81 | 83 … | } |
82 | 84 … | }), function (err, offsets) { |
85 … | + batch.forEach(function (msg, i) { | |
86 … | + //trigger post immediately. | |
87 … | + db.post.set(msg) | |
88 … | + }) | |
83 | 89 … | cb(err) |
84 | 90 … | }) |
85 | 91 … | } |
86 | 92 … | |
@@ -100,9 +106,15 @@ | ||
100 | 106 … | // else cb(null, seq) |
101 | 107 … | else _get(key, cb) //seq |
102 | 108 … | } |
103 | 109 … | |
104 | - db.add = Validator(db, opts) | |
110 … | + var add = Validator(db, opts) | |
111 … | + db.add = function (msg, cb) { | |
112 … | + add(msg, function (err, value) { | |
113 … | + if(err) console.log(err) | |
114 … | + cb(err, value) | |
115 … | + }) | |
116 … | + } | |
105 | 117 … | |
106 | 118 … | var realtime = Notify() |
107 | 119 … | |
108 | 120 … | //TODO: eventually, this should filter out authors you do not follow. |
@@ -220,4 +232,5 @@ | ||
220 | 232 … | |
221 | 233 … | return db |
222 | 234 … | } |
223 | 235 … | |
236 … | + |
Built with git-ssb-web