first commit
This commit is contained in:
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
node_modules
|
||||
*.sw*
|
||||
db
|
||||
41
browser.js
Normal file
41
browser.js
Normal file
@@ -0,0 +1,41 @@
|
||||
var Engine = require('engine.io-stream');
|
||||
var multilevel = require('multilevel');
|
||||
|
||||
var manifest = require('./manifest.json');
|
||||
|
||||
var container = require('container-el');
|
||||
var List = require('level-list');
|
||||
|
||||
var db = multilevel.client(manifest);
|
||||
var con = Engine('/engine');
|
||||
con.pipe(db.createRpcStream()).pipe(con);
|
||||
|
||||
window.db = db;
|
||||
|
||||
var list = List(db, function (row) {
|
||||
var p = document.createElement('p');
|
||||
p.appendChild(document.createTextNode(row.text));
|
||||
return p;
|
||||
});
|
||||
|
||||
container.appendChild(list.el);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
58
index.js
Normal file
58
index.js
Normal file
@@ -0,0 +1,58 @@
|
||||
var http = require('http');
|
||||
var Engine = require('engine.io-stream');
|
||||
var browserify = require('browserify');
|
||||
|
||||
var level = require('level');
|
||||
var multilevel = require('multilevel');
|
||||
var liveStream = require('level-live-stream');
|
||||
|
||||
// webrtc
|
||||
var webrtc = require('wrtc');
|
||||
var pc = null;
|
||||
var offer = null;
|
||||
var answer = null;
|
||||
|
||||
/* 1. Global settings, data and functions. */
|
||||
var dataChannelSettings = {
|
||||
'reliable': {
|
||||
ordered: true,
|
||||
maxRetransmits: 0
|
||||
},
|
||||
};
|
||||
|
||||
var pcSettings = [
|
||||
{
|
||||
iceServers: [{url:'stun:stun.l.google.com:19302'}]
|
||||
},
|
||||
{
|
||||
'optional': [{DtlsSrtpKeyAgreement: false}]
|
||||
}
|
||||
];
|
||||
|
||||
var pendingDataChannels = {};
|
||||
var dataChannels = {};
|
||||
|
||||
var server = http.createServer(function (req, res) {
|
||||
if (req.url == '/') {
|
||||
res.end('<script src="/bundle.js"></script>');
|
||||
} else if (req.url == '/bundle.js') {
|
||||
browserify(__dirname + '/browser.js')
|
||||
.bundle({debug: true})
|
||||
.pipe(res);
|
||||
} else {
|
||||
res.end('Oops');
|
||||
}
|
||||
}).listen(5000);
|
||||
|
||||
var db = level(__dirname + '/db', {
|
||||
valueEncoding: 'json'
|
||||
});
|
||||
|
||||
liveStream.install(db);
|
||||
multilevel.writeManifest(db, __dirname + '/manifest.json');
|
||||
|
||||
var multistream = multilevel.server(db);
|
||||
var engine = Engine(function (con) {
|
||||
con.pipe(multistream).pipe(con);
|
||||
});
|
||||
engine.attach(server, '/engine');
|
||||
1
manifest.json
Normal file
1
manifest.json
Normal file
@@ -0,0 +1 @@
|
||||
{"methods":{"createReadStream":{"type":"readable"},"readStream":{"type":"readable"},"createValueStream":{"type":"readable"},"valueStream":{"type":"readable"},"createKeyStream":{"type":"readable"},"keyStream":{"type":"readable"},"createWriteStream":{"type":"writable"},"writeStream":{"type":"writable"},"isOpen":{"type":"sync"},"isClosed":{"type":"sync"},"put":{"type":"async"},"get":{"type":"async"},"del":{"type":"async"},"batch":{"type":"async"},"approximateSize":{"type":"async"},"createLiveStream":{"type":"readable"},"liveStream":{"type":"readable"}}}
|
||||
34
package.json
Normal file
34
package.json
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"name": "talk",
|
||||
"version": "0.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "",
|
||||
"license": "BSD",
|
||||
"dependencies": {
|
||||
"browserify": "~2.29.1",
|
||||
"container-el": "0.0.1",
|
||||
"domify": "~1.0.0",
|
||||
"ecstatic": "~0.4.8",
|
||||
"engine.io-client": "^1.5.1",
|
||||
"engine.io-stream": "~0.4.1",
|
||||
"enter-input": "0.0.0",
|
||||
"level": "~0.15.0",
|
||||
"level-list": "~0.10.0",
|
||||
"level-live-stream": "~1.4.7",
|
||||
"level-livefeed": "^0.2.0",
|
||||
"level-master": "^1.0.2",
|
||||
"level-replicate": "^1.2.1",
|
||||
"level-sublevel": "~5.1.1",
|
||||
"leveldown": "^1.3.0",
|
||||
"multilevel": "~5.5.0",
|
||||
"reactive-component": "~0.13.2",
|
||||
"serverless-webrtc": "^1.0.5",
|
||||
"sublevel": "^2.4.0",
|
||||
"through": "^2.3.6",
|
||||
"wrtc": "0.0.56"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user