Trying to normalize event handling somewhat. More to go before it's simple.

git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3685 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
2021-11-07 22:28:58 +00:00
parent 68cf3efcde
commit 18c90214a8
5 changed files with 284 additions and 149 deletions

View File

@ -425,13 +425,13 @@ async function blobHandler(request, response, blobId, uri) {
}
}
ssb.onBroadcastsChanged = function() {
ssb.addEventListener('broadcasts', function() {
broadcastEvent('onBroadcastsChanged', []);
}
});
ssb.onConnectionsChanged = function() {
ssb.addEventListener('connections', function() {
broadcastEvent('onConnectionsChanged', []);
}
});
async function loadSettings() {
try {

View File

@ -62,7 +62,7 @@ function get_latest_sequence_for_author(author) {
return sequence;
}
ssb.registerConnectionsChanged(function(change, connection) {
ssb.addEventListener('connections', function(change, connection) {
if (change == 'add') {
var sequence = get_latest_sequence_for_author(connection.id);
connection.send_json({'name': ['createHistoryStream'], 'type': 'source', 'args': [{'id': connection.id, 'seq': sequence, 'live': true, keys: false}]}, function(message) {
@ -108,21 +108,21 @@ ssb.registerConnectionsChanged(function(change, connection) {
}
});
ssb.registerRpc(['blobs', 'createWants'], function(request) {
ssb.addRpc(['blobs', 'createWants'], function(request) {
g_wants_requests[request.connection.id] = request;
function blob_want_discovered(id) {
var message = {};
message[id] = -1;
request.send_json(message);
}
ssb.registerBlobWantAdded(blob_want_discovered);
ssb.addEventListener('blob_want_added', blob_want_discovered);
ssb.sqlStream(
'SELECT id FROM blob_wants',
[],
row => blob_want_discovered(row.id));
});
ssb.registerRpc(['blobs', 'has'], function(request) {
ssb.addRpc(['blobs', 'has'], function(request) {
var found = false;
ssb.sqlStream(
'SELECT 1 FROM blobs where id = ?1',
@ -133,14 +133,14 @@ ssb.registerRpc(['blobs', 'has'], function(request) {
request.send_json(found);
});
ssb.registerRpc(['blobs', 'get'], function(request) {
ssb.addRpc(['blobs', 'get'], function(request) {
for (let id of request.args) {
var blob = ssb.blobGet(id);
request.send_binary(blob);
}
});
ssb.registerRpc(['createHistoryStream'], function(request) {
ssb.addRpc(['createHistoryStream'], function(request) {
var id = request.args[0].id;
var seq = request.args[0].seq;
var keys = request.args[0].keys || request.args[0].keys === undefined;