From 1c78157f8736207d3f719700abbbf2724940f5aa Mon Sep 17 00:00:00 2001 From: haad Date: Thu, 20 Oct 2016 12:24:49 +0200 Subject: [PATCH 1/3] Add Pubsub (WIP) Closes #530. --- src/core/components/pubsub.js | 68 +++++++++++++++++++++++++++++++++++ src/core/index.js | 2 ++ 2 files changed, 70 insertions(+) create mode 100644 src/core/components/pubsub.js diff --git a/src/core/components/pubsub.js b/src/core/components/pubsub.js new file mode 100644 index 0000000000..6480aa90ab --- /dev/null +++ b/src/core/components/pubsub.js @@ -0,0 +1,68 @@ +'use strict' + +const multiaddr = require('multiaddr') +const promisify = require('promisify-es6') +const flatMap = require('lodash.flatmap') +const values = require('lodash.values') +const Stream = require('stream') + +const FloodSub = require('libp2p-floodsub') + +const OFFLINE_ERROR = require('../utils').OFFLINE_ERROR + +module.exports = function pubsub (self) { + + let fsub + + return { + start: promisify((libp2pNode, callback) => { + fsub = new FloodSub(libp2pNode) + callback(null) + }), + + sub: promisify((topic, options, callback) => { + if (typeof options === 'function') { + callback = options + options = {} + } + + if (!self.isOnline()) { + return callback(OFFLINE_ERROR) + } + + var rs = new Stream() + rs.readable = true + rs._read = () => {} + rs.cancel = () => { + fsub.unsubscribe(topic) + } + + fsub.on(topic, (data) => { + console.log("PUBSUB DATA:", data.toString()) + rs.emit('data', { + data: data.toString(), + topicIDs: [topic], + // these fields are currently missing from message + // (but are present in messages from go-ipfs pubsub) + // from: bs58.encode(message.from), + // data: Base64.decode(message.data), + // seqno: Base64.decode(message.seqno) + }) + }) + + fsub.subscribe(topic) + callback(null, rs) + }), + + pub: promisify((topic, data, callback) => { + if (!self.isOnline()) { + return callback(OFFLINE_ERROR) + } + + const out = data instanceof Buffer ? data : new Buffer(data) + fsub.publish(topic, out) + callback(null) + }), + + } +} diff --git a/src/core/index.js b/src/core/index.js index a58836c10c..9df64cb3f0 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -23,6 +23,7 @@ const swarm = require('./components/swarm') const ping = require('./components/ping') const files = require('./components/files') const bitswap = require('./components/bitswap') +const pubsub = require('./components/pubsub') exports = module.exports = IPFS @@ -67,4 +68,5 @@ function IPFS (repoInstance) { this.files = files(this) this.bitswap = bitswap(this) this.ping = ping(this) + this.pubsub = pubsub(this) } From f26ab99a165c058dd3947cfb766374515ae47920 Mon Sep 17 00:00:00 2001 From: haad Date: Thu, 20 Oct 2016 12:38:02 +0200 Subject: [PATCH 2/3] Add pubsub (WIP) --- js-ipfs.sublime-project | 8 + js-ipfs.sublime-workspace | 2026 +++++++++++++++++++++++++++++++++ src/core/components/pubsub.js | 20 +- 3 files changed, 2042 insertions(+), 12 deletions(-) create mode 100644 js-ipfs.sublime-project create mode 100644 js-ipfs.sublime-workspace diff --git a/js-ipfs.sublime-project b/js-ipfs.sublime-project new file mode 100644 index 0000000000..24db30311b --- /dev/null +++ b/js-ipfs.sublime-project @@ -0,0 +1,8 @@ +{ + "folders": + [ + { + "path": "." + } + ] +} diff --git a/js-ipfs.sublime-workspace b/js-ipfs.sublime-workspace new file mode 100644 index 0000000000..282a120f10 --- /dev/null +++ b/js-ipfs.sublime-workspace @@ -0,0 +1,2026 @@ +{ + "auto_complete": + { + "selected_items": + [ + [ + "op", + "oplog" + ], + [ + "key", + "keyCode" + ], + [ + "new", + "newItems" + ], + [ + "da", + "daemon1" + ], + [ + "pro", + "promises" + ], + [ + "defau", + "defaultNetworkName" + ], + [ + "lo", + "localhost" + ], + [ + "db", + "dbname" + ], + [ + "co", + "command" + ], + [ + "load", + "loadHistory" + ], + [ + "res", + "result" + ], + [ + "Ip", + "IpfsApi" + ], + [ + "remove", + "removeAllListeners" + ], + [ + "Aa", + "ArrayStore" + ], + [ + "Arra", + "ArrayStore" + ], + [ + "Pub", + "PubSub\t(OrbitDB.js)" + ], + [ + "con", + "concurrency" + ], + [ + "net", + "network" + ], + [ + "ipfs", + "ipfsApi" + ], + [ + "ip", + "ipfsApi" + ], + [ + "loca", + "localhostNetwork" + ], + [ + "cosn", + "console" + ], + [ + "add", + "address" + ], + [ + "repo", + "repoInstance" + ], + [ + "o", + "object" + ], + [ + "qu", + "queryLoop" + ], + [ + "Eve", + "EventStore" + ], + [ + "cac", + "cacheFile" + ], + [ + "eve", + "events" + ], + [ + "ca", + "cached" + ], + [ + "all", + "allowOffline" + ], + [ + "for", + "forEach" + ], + [ + "log", + "logHash" + ], + [ + "re", + "readable" + ], + [ + "up", + "updated" + ], + [ + "store", + "stores" + ], + [ + "inde", + "_index" + ], + [ + "th", + "then" + ], + [ + "byte", + "byteLength" + ], + [ + "cons", + "console" + ], + [ + "keva", + "keyvalueDB" + ], + [ + "eventlogD", + "eventlogDB" + ], + [ + "De", + "DefaultIndex" + ], + [ + "opt", + "options\t(EventLogDB.js)" + ], + [ + "Count", + "CounterIndex" + ], + [ + "d", + "dbname" + ], + [ + "_", + "_index" + ], + [ + "upd", + "updateIndex" + ], + [ + "hand", + "handledItems" + ], + [ + "_ite", + "_itemsR" + ], + [ + "comp", + "compact\t(EventLogDB.js)" + ], + [ + "_c", + "_createLWWSet" + ], + [ + "inc", + "inclusive" + ], + [ + "even", + "eventlogDB" + ], + [ + "item", + "items" + ], + [ + "le", + "length\t(client.test.js)" + ], + [ + "Ke", + "KeyValueDB" + ], + [ + "K", + "KeyValueDB" + ], + [ + "Log", + "LogAggregator" + ], + [ + "_ca", + "_cachePayload" + ], + [ + "start", + "startDaemon\t(index.js)" + ], + [ + "val", + "value" + ], + [ + "user", + "username" + ], + [ + "Orbit", + "OrbitDB" + ], + [ + "cos", + "console" + ], + [ + "cou", + "counter1" + ], + [ + "us", + "user" + ], + [ + "me", + "message" + ], + [ + "coun", + "counterDB" + ], + [ + "pr", + "promises" + ], + [ + "fun", + "function" + ], + [ + "ite", + "iterator" + ], + [ + "joi", + "joinedCount" + ], + [ + "chan", + "channel" + ], + [ + "las", + "lastHash" + ], + [ + "payl", + "payloadHashes" + ], + [ + "Or", + "OrbitDB" + ], + [ + "other", + "otherLogHash" + ], + [ + "ot", + "otherLogHash" + ], + [ + "before", + "beforeEach\t(client.test.js)" + ], + [ + "use", + "username" + ], + [ + "crea", + "createClient" + ], + [ + "Pr", + "Promise" + ], + [ + "defa", + "defaultFilepath" + ], + [ + "O", + "OrbitDB" + ], + [ + "chann", + "channelName" + ], + [ + "fetch", + "fetchPayload" + ], + [ + "Re", + "result" + ], + [ + "_fetc", + "_fetchHistory\t(OrbitList.js)" + ], + [ + "B", + "Buffer" + ], + [ + "chun", + "chunkedObjects" + ], + [ + "Op", + "OpTypes" + ], + [ + "ope", + "operation\t(OrbitDB.js)" + ], + [ + "Po", + "PostTypes" + ], + [ + "File", + "FilePost" + ], + [ + "Orbi", + "OrbitDBItem\t(Operation.js)" + ], + [ + "obi", + "OrbitDBItem" + ], + [ + "Pos", + "Posts" + ], + [ + "Post", + "PostTypes\t(OrbitDB.js)" + ], + [ + "join", + "joinedCount" + ], + [ + "cu", + "curCount" + ], + [ + "se", + "second" + ], + [ + "cre", + "createOperation" + ], + [ + "resl", + "result\t(OrbitList.js)" + ], + [ + "list", + "listHash" + ], + [ + "fet", + "fetchRecursive" + ], + [ + "Ma", + "MaxHistory" + ], + [ + "dis", + "disconnect\t(OrbitClient.js)" + ], + [ + "fin", + "findAll" + ], + [ + "is", + "isGreaterThanOperation" + ], + [ + "_find", + "_findAfter" + ], + [ + "seq", + "sequence" + ], + [ + "to", + "toArray" + ], + [ + "del", + "delete" + ], + [ + "La", + "Lazy" + ], + [ + "cl", + "clear\t(OrbitClient.js)" + ], + [ + "de", + "delete" + ], + [ + "fi", + "filter" + ], + [ + "handl", + "handledItems" + ], + [ + "was", + "wasHandled" + ], + [ + "current", + "currentAmount" + ], + [ + "onConn", + "onConnectionError" + ], + [ + "onCo", + "onConnectionError" + ], + [ + "curr", + "currentAmount\t(DataStore.js)" + ], + [ + "com", + "compactId" + ], + [ + "ne", + "next" + ], + [ + "filt", + "filtered" + ], + [ + "compac", + "compactId" + ] + ] + }, + "buffers": + [ + { + "file": "package.json", + "settings": + { + "buffer_size": 4354, + "line_ending": "Unix" + } + }, + { + "file": "src/core/index.js", + "settings": + { + "buffer_size": 2210, + "encoding": "UTF-8", + "line_ending": "Unix" + } + }, + { + "file": "src/core/components/go-online.js", + "settings": + { + "buffer_size": 584, + "encoding": "UTF-8", + "line_ending": "Unix" + } + }, + { + "file": "src/core/components/pubsub.js", + "settings": + { + "buffer_size": 1317, + "encoding": "UTF-8", + "line_ending": "Unix" + } + }, + { + "file": "/Users/samuli/code/js-ipfs-api-haadcode/src/api/pubsub.js", + "settings": + { + "buffer_size": 3041, + "line_ending": "Unix" + } + }, + { + "file": "src/core/components/object.js", + "settings": + { + "buffer_size": 5527, + "line_ending": "Unix" + } + } + ], + "build_system": "", + "build_system_choices": + [ + ], + "build_varint": "", + "command_palette": + { + "height": 354.0, + "last_filter": "pre", + "selected_items": + [ + [ + "pre", + "Markdown Preview: Preview in Browser" + ], + [ + "previ", + "Markdown Preview: Preview in Browser" + ], + [ + "prev", + "Markdown Preview: Preview in Browser" + ], + [ + "", + "About" + ], + [ + "preview", + "Markdown Preview: Preview in Browser" + ], + [ + "ins", + "Package Control: Install Package" + ], + [ + "re", + "Package Control: Remove Package" + ], + [ + "inst", + "Package Control: Install Package" + ], + [ + "remove", + "Package Control: Remove Package" + ], + [ + "remo", + "Package Control: Remove Package" + ], + [ + "mark", + "Markdown Preview: Preview in Browser" + ], + [ + "markd", + "Markdown Preview: Preview in Browser" + ], + [ + "instal", + "Package Control: Install Package" + ], + [ + "mar", + "Markdown Preview: Preview in Browser" + ], + [ + "insta", + "Package Control: Install Package" + ], + [ + "packa", + "Preferences: Browse Packages" + ] + ], + "width": 431.0 + }, + "console": + { + "height": 126.0, + "history": + [ + "import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)" + ] + }, + "distraction_free": + { + "menu_visible": true, + "show_minimap": false, + "show_open_files": false, + "show_tabs": false, + "side_bar_visible": false, + "status_bar_visible": false + }, + "expanded_folders": + [ + "/Users/samuli/code/js-ipfs", + "/Users/samuli/code/js-ipfs/src", + "/Users/samuli/code/js-ipfs/src/core", + "/Users/samuli/code/js-ipfs/src/core/components" + ], + "file_history": + [ + "/Users/samuli/code/js-ipfs/src/core/components/object.js", + "/Users/samuli/code/js-ipfs/src/core/components/swarm.js", + "/Users/samuli/code/js-ipfs/src/index.js", + "/Users/samuli/code/js-ipfs/README.md", + "/Users/samuli/code/orbit-db/conf/webpack.example.config.js", + "/Users/samuli/code/orbit-db/node_modules/orbit-db-pubsub/src/ipfs-pubsub.js", + "/Users/samuli/code/orbit-db/examples/eventlog.js", + "/Users/samuli/code/orbit-db/examples/browser/index.js", + "/Users/samuli/code/orbit-db/package.json", + "/Users/samuli/code/orbit-db/examples/start-daemon.js", + "/Users/samuli/code/orbit-db/src/OrbitDB.js", + "/Users/samuli/code/orbit-db/node_modules/orbit-db-store/src/Store.js", + "/Users/samuli/code/orbit-db/API.md", + "/Users/samuli/code/orbit-db/examples/browser/arraystore.html", + "/Users/samuli/code/orbit-db/examples/browser/arrays.js", + "/Users/samuli/code/orbit-db/src/ArrayIndex.js", + "/Users/samuli/code/orbit-db/src/ArrayStore.js", + "/Users/samuli/code/orbit-db/README.md", + "/Users/samuli/code/orbit-db-docstore/README.md", + "/Users/samuli/code/orbit-db-docstore/LICENSE", + "/Users/samuli/code/orbit-db/circle.yml", + "/Users/samuli/code/orbit-db/conf/webpack.example.arrays.config.js", + "/Users/samuli/code/orbit-db/node_modules/ipfs-api/lib/api/pubsub.js", + "/Users/samuli/code/proto3/index.js", + "/Users/samuli/code/proto3/dist/index.html", + "/Users/samuli/code/orbit-db/examples/browser/index.html", + "/Users/samuli/code/orbit-db/conf/webpack.config.minified.js", + "/Users/samuli/code/orbit-db/conf/webpack.config.js", + "/Users/samuli/code/orbit-db/examples/keyvalue.js", + "/Users/samuli/code/orbit-db/examples/benchmark-kv.js", + "/Users/samuli/code/orbit-db/examples/benchmark.js", + "/Users/samuli/code/orbit-db/test/client.test.js", + "/Users/samuli/code/orbit-db/LICENSE", + "/Users/samuli/code/orbit-db/.gitignore", + "/Users/samuli/code/orbit-db/node_modules/ipfs-daemon/ipfs-daemon.js", + "/Users/samuli/code/orbit-db/webpack.example.config.js", + "/Users/samuli/code/orbit-db/webpack.config.minified.js", + "/Users/samuli/code/orbit-db/webpack.config.js", + "/Users/samuli/code/orbit-db/test/counterdb.test.js", + "/Users/samuli/code/orbit-db/node_modules/ipfs-merkle-dag/src/merkledag.proto", + "/Users/samuli/code/orbit-db/node_modules/ipfs-merkle-dag/lib/merkledag.proto", + "/Users/samuli/code/orbit-db/node_modules/ipfs-api/dist/index.js", + "/Users/samuli/code/orbit-db/CHANGELOG.md", + "/Users/samuli/code/orbit-db/node_modules/orbit-db-counterstore/src/CounterIndex.js", + "/Users/samuli/code/orbit-db/node_modules/bluebird/js/release/promise.js", + "/Users/samuli/code/orbit-db/node_modules/ipfsd-ctl/src/index.js", + "/Users/samuli/code/orbit-db/node_modules/ipfsd-ctl/src/node.js", + "/Users/samuli/code/orbit-db/src/cli/index.js", + "/Users/samuli/code/orbit-db/src/Cache.js", + "/Users/samuli/code/orbit-db/examples/browser/bundle.js", + "/Users/samuli/code/orbit-db/node_modules/ipfs-api/lib/request-api.js", + "/Users/samuli/code/orbit-db/node_modules/ipfs-api/src/api/pubsub.js", + "/Users/samuli/code/orbit-db/node_modules/ipfs-api/package.json", + "/Users/samuli/code/orbit-db/examples/browser/browser.html", + "/Users/samuli/code/orbit-db/dist/orbitdb.js", + "/Users/samuli/code/orbit-db/node_modules/ipfs-merkle-dag/src/dag-node.js", + "/Users/samuli/code/orbit-db/node_modules/ipfs-merkle-dag/lib/dag-node.js", + "/Users/samuli/code/orbit-db/dist/orbitdb.min.js", + "/Users/samuli/code/anonymous-networks/client/webpack.dist.config.js", + "/Users/samuli/code/orbit-db/scripts/post_install.sh", + "/Users/samuli/code/orbit-db/dist/orbitdb.js.map", + "/Users/samuli/code/orbit-db/node_modules/orbit-db-counterstore/src/CounterStore.js", + "/Users/samuli/code/orbit-db/node_modules/ipfs-log/src/log.js", + "/Users/samuli/code/anonymous-networks/node_modules/orbit-db-pubsub/src/ipfs-pubsub.js", + "/Users/samuli/code/anonymous-networks/src/Orbit.js", + "/Users/samuli/code/tmp/orbit-db/examples/benchmark.js", + "/Users/samuli/code/orbit-message-broker/src/IPFSPubSub.js", + "/Users/samuli/code/orbit-db/src/PubSub.js", + "/Users/samuli/code/orbit-db/examples/benchmark-temp.js", + "/Users/samuli/code/orbit-message-broker/index.js", + "/Users/samuli/code/orbit-message-broker/package.json", + "/Users/samuli/code/orbit-message-broker/src/PubSub.js", + "/Users/samuli/code/orbit-message-broker/src/Pubsub.js", + "/Users/samuli/Library/Application Support/Sublime Text 3/Packages/User/Preferences.sublime-settings", + "/Users/samuli/code/orbit-db/examples/eventlog-reader.js", + "/Users/samuli/code/anonymous-networks/node_modules/orbit-crypto/index.js", + "/Users/samuli/code/orbit-db/node_modules/colors/ReadMe.md", + "/Users/samuli/code/orbit-db/node_modules/orbit-db-store/src/Cache.js", + "/Users/samuli/code/ipfs-log/src/log.js", + "/Users/samuli/code/orbit-db/test/orbit-db.test.js", + "/Users/samuli/code/pubsub/README.md", + "/Users/samuli/code/orbit-db/node_modules/async/log.js", + "/Users/samuli/code/orbit-db/examples/browser/browser.js", + "/Users/samuli/code/orbit-db/examples/browser.js", + "/Users/samuli/code/orbit-db/examples/index.html", + "/Users/samuli/code/orbit-db/examples/browser.html", + "/Users/samuli/code/orbit-db-store/README.md", + "/Users/samuli/code/orbit-db/orbit-db.sublime-project", + "/Users/samuli/code/orbit-message-broker/PubSub.js", + "/Users/samuli/code/orbit-db/node_modules/ipfs-log/src/entry.js", + "/Users/samuli/code/orbit-db/node_modules/ipfs/lib/core/ipfs/files.js", + "/Users/samuli/code/orbit-db/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js", + "/Users/samuli/code/anonymous-networks/client/dist/assets/main.js", + "/Users/samuli/code/orbit-db/Vagrantfile", + "/Users/samuli/code/ipfs-log/src/entry.js", + "/Users/samuli/code/orbit-db/node_modules/ipfs/lib/core/index.js", + "/Users/samuli/code/orbit-db/node_modules/libp2p-ipfs-browser/dist/index.js", + "/Users/samuli/code/orbit-db/node_modules/libp2p-ipfs-browser/package.json", + "/Users/samuli/code/anonymous-networks/test/orbit.test.js", + "/Users/samuli/code/anonymous-networks/node_modules/ipfs/lib/core/ipfs/go-offline.js", + "/Users/samuli/code/anonymous-networks/node_modules/ipfs/lib/core/ipfs/libp2p.js", + "/Users/samuli/code/anonymous-networks/node_modules/ipfs/lib/core/ipfs/id.js", + "/Users/samuli/code/ipfs-log/test/log.spec.js", + "/Users/samuli/code/orbit-db/node_modules/orbit-db-feedstore/src/FeedIndex.js", + "/Users/samuli/code/orbit-db/node_modules/orbit-db-feedstore/src/FeedStore.js", + "/Users/samuli/code/ipfs-log/test/entry.spec.js", + "/Users/samuli/code/orbit-db/test/network.json", + "/Users/samuli/code/orbit-db/node_modules/babel-core/lib/transformation/file/options/option-manager.js", + "/Users/samuli/code/anonymous-networks/newnetwork.json", + "/Users/samuli/Desktop/orbit-db-benchmark-160509.log", + "/Users/samuli/Desktop/ipfs.object.put-benchmark-160509.log", + "/Users/samuli/code/orbit-db/examples/benchmark2.js", + "/Users/samuli/code/orbit-db/examples/benchmark.old.js", + "/Users/samuli/code/orbit-db/debug.csv", + "/Users/samuli/code/orbit-db/debug.log", + "/Users/samuli/Desktop/benchmark-160509.log", + "/Users/samuli/code/js-ipfs-api/README.md", + "/Users/samuli/code/orbit-db/src/stores/Store.js", + "/Users/samuli/code/orbit-db/src/stores/counters/CounterStore.js", + "/Users/samuli/code/orbit-db/src/stores/counters/CounterIndex.js", + "/Users/samuli/code/orbit-db/src/stores/kvstore/KeyValueStore.js", + "/Users/samuli/code/orbit-db/src/stores/kvstore/KeyValueIndex.js", + "/Users/samuli/code/orbit-db/src/stores/eventlog/EventStore.js", + "/Users/samuli/code/orbit-db/src/stores/eventlog/EventIndex.js", + "/Users/samuli/Desktop/log.txt", + "/Users/samuli/code/orbit-db/src/oplog/OperationsLog.js", + "/Users/samuli/code/orbit-db/src/oplog/Cache.js", + "/Users/samuli/code/orbit-db/src/stores/DefaultIndex.js" + ], + "find": + { + "height": 53.0 + }, + "find_in_files": + { + "height": 136.0, + "where_history": + [ + "-dist/, -lib/, -node_modules/", + "-dist/, -lib/", + "", + "-node_modules/", + "*.js, -node_modules/", + "", + "-.tmp/, -node_modules/, -client/dist, -*.log, *.js", + "-.tmp/, -node_modules/, -client/dist, -*.log", + "", + "-.tmp/, -node_modules/, -client/dist, -*.log" + ] + }, + "find_state": + { + "case_sensitive": false, + "find_history": + [ + "._libp2pNode", + "_libp2pNode", + "samuli", + "Chance", + "tmp", + "username", + "IpfsDataDir", + "tmp", + "protobuf(", + "cacheFile", + "console.log", + "itemCount", + "db =", + "db = awa", + "ipfsDaemon", + "db", + "cacheFile", + "ipfsPath", + "for (", + ";", + "ipfsd", + "for(", + ";", + "logger", + "names", + "value", + "merkle", + "MerkleDAG", + "MerkleDAG Link", + "An IPFS MerkleDAG Link", + ";", + "password", + "dist/", + ".js", + "protobuf(fs.readFileSync(path.join(__dirname, 'merkledag.proto')", + "const proto = protobuf(fs.readFileSync(path.join(__dirname, 'merkledag.proto')))", + "fs.readFileSync(", + "merkledag.proto", + "logger", + ";", + ") => ", + "=> ", + "Iterator", + "OrbitServer", + ";", + "js-base64", + "console.log", + "client2", + "ipfs", + "password", + "network", + ";", + "username", + "network", + ";", + "this.user", + ";", + "store", + "this._pubsub", + "PubSub", + "indexOf", + "queryLoop", + ";", + "_onClose", + ".clear", + "await", + "'lodash'", + "db", + "asyncawait", + "buffer", + "Sync took", + "this._pubsub", + "PubSub", + "this._pubsub", + "178.", + "_this.swarm.transport.add('wstar',", + "error", + "self._libp2pNode", + "\"22\"", + "console.log", + "OrbitServer", + "async", + "babel-preset-es2015", + "babel-loader", + "console.log", + "join", + ".log", + ".feed", + " }", + "heapUsed: ", + "heapTotal: ", + "{ rss: ", + "problem", + " }", + "heapUsed: ", + "heapTotal: ", + "{ rss: ", + "heapUsed: ", + "heapTotal: ", + "rss: ", + " }", + "{ ", + "queries per second", + "_.", + "lodash", + "json-loader", + "this.network", + "_createStore", + "client.", + "eventlog", + ".Log", + "items", + ".set", + "OperationsLog", + "oldCount", + "dbname", + "this.dbname", + "this.options", + ".ops", + "ipfsPath", + "onConnectionError", + "onConnected", + "ipfs", + ".connect", + "events", + ".set", + "events", + "this.options" + ], + "highlight": true, + "in_selection": false, + "preserve_case": false, + "regex": false, + "replace_history": + [ + "", + "'", + ",\n", + "" + ], + "reverse": false, + "show_context": true, + "use_buffer2": true, + "whole_word": false, + "wrap": true + }, + "groups": + [ + { + "selected": 3, + "sheets": + [ + { + "buffer": 0, + "file": "package.json", + "semi_transient": false, + "settings": + { + "buffer_size": 4354, + "regions": + { + }, + "selection": + [ + [ + 1808, + 1808 + ] + ], + "settings": + { + "syntax": "Packages/Materialize/Langs/npm JSON.tmLanguage" + }, + "translation.x": 0.0, + "translation.y": 0.0, + "zoom_level": 1.0 + }, + "stack_index": 5, + "type": "text" + }, + { + "buffer": 1, + "file": "src/core/index.js", + "semi_transient": false, + "settings": + { + "buffer_size": 2210, + "regions": + { + }, + "selection": + [ + [ + 2179, + 2179 + ] + ], + "settings": + { + "syntax": "Packages/Babel/JavaScript (Babel).sublime-syntax" + }, + "translation.x": 0.0, + "translation.y": 1149.0, + "zoom_level": 1.0 + }, + "stack_index": 3, + "type": "text" + }, + { + "buffer": 2, + "file": "src/core/components/go-online.js", + "semi_transient": false, + "settings": + { + "buffer_size": 584, + "regions": + { + }, + "selection": + [ + [ + 571, + 571 + ] + ], + "settings": + { + "syntax": "Packages/Babel/JavaScript (Babel).sublime-syntax" + }, + "translation.x": 0.0, + "translation.y": 0.0, + "zoom_level": 1.0 + }, + "stack_index": 2, + "type": "text" + }, + { + "buffer": 3, + "file": "src/core/components/pubsub.js", + "semi_transient": false, + "settings": + { + "buffer_size": 1317, + "regions": + { + }, + "selection": + [ + [ + 728, + 728 + ] + ], + "settings": + { + "syntax": "Packages/Babel/JavaScript (Babel).sublime-syntax" + }, + "translation.x": 0.0, + "translation.y": 685.0, + "zoom_level": 1.0 + }, + "stack_index": 0, + "type": "text" + }, + { + "buffer": 4, + "file": "/Users/samuli/code/js-ipfs-api-haadcode/src/api/pubsub.js", + "semi_transient": false, + "settings": + { + "buffer_size": 3041, + "regions": + { + }, + "selection": + [ + [ + 2207, + 2350 + ] + ], + "settings": + { + "syntax": "Packages/Babel/JavaScript (Babel).sublime-syntax" + }, + "translation.x": 0.0, + "translation.y": 1584.0, + "zoom_level": 1.0 + }, + "stack_index": 1, + "type": "text" + }, + { + "buffer": 5, + "file": "src/core/components/object.js", + "semi_transient": false, + "settings": + { + "buffer_size": 5527, + "regions": + { + }, + "selection": + [ + [ + 1965, + 2058 + ] + ], + "settings": + { + "syntax": "Packages/Babel/JavaScript (Babel).sublime-syntax" + }, + "translation.x": 0.0, + "translation.y": 2363.0, + "zoom_level": 1.0 + }, + "stack_index": 4, + "type": "text" + } + ] + } + ], + "incremental_find": + { + "height": 28.0 + }, + "input": + { + "height": 69.0 + }, + "layout": + { + "cells": + [ + [ + 0, + 0, + 1, + 1 + ] + ], + "cols": + [ + 0.0, + 1.0 + ], + "rows": + [ + 0.0, + 1.0 + ] + }, + "menu_visible": true, + "output.find_results": + { + "height": 0.0 + }, + "pinned_build_system": "", + "project": "js-ipfs.sublime-project", + "replace": + { + "height": 96.0 + }, + "save_all_on_build": true, + "select_file": + { + "height": 0.0, + "last_filter": "", + "selected_items": + [ + [ + "pac", + "package.json" + ], + [ + "pubsub", + "node_modules/orbit-db-pubsub/src/ipfs-pubsub.js" + ], + [ + "webpa", + "conf/webpack.example.config.js" + ], + [ + "read", + "README.md" + ], + [ + "arrayinde", + "src/ArrayIndex.js" + ], + [ + "store.", + "node_modules/orbit-db-store/src/Store.js" + ], + [ + "orbit", + "src/OrbitDB.js" + ], + [ + "api", + "API.md" + ], + [ + "bench", + "examples/benchmark.js" + ], + [ + "eventlog", + "examples/eventlog.js" + ], + [ + "store.js", + "node_modules/orbit-db-store/src/Store.js" + ], + [ + "ipfs-da", + "node_modules/ipfs-daemon/ipfs-daemon.js" + ], + [ + "merkleda", + "node_modules/ipfs-merkle-dag/src/merkledag.proto" + ], + [ + "merkle", + "node_modules/ipfs-merkle-dag/lib/merkledag.proto" + ], + [ + "dist/index", + "node_modules/ipfs-api/dist/index.js" + ], + [ + "counter", + "node_modules/orbit-db-counterstore/src/CounterIndex.js" + ], + [ + "ipfsd-ctl/", + "node_modules/ipfsd-ctl/src/index.js" + ], + [ + "request-a", + "node_modules/ipfs-api/lib/request-api.js" + ], + [ + "orbitdb", + "src/OrbitDB.js" + ], + [ + ".proto", + "node_modules/ipfs-merkle-dag/lib/merkledag.proto" + ], + [ + "merkel", + "node_modules/ipfs-merkle-dag/src/merkledag.proto" + ], + [ + "merk.proto", + "node_modules/ipfs-merkle-dag/lib/merkledag.proto" + ], + [ + "cac", + "src/Cache.js" + ], + [ + "log.js", + "orbit-db/node_modules/ipfs-log/src/log.js" + ], + [ + "cach", + "orbit-db/src/Cache.js" + ], + [ + "counters", + "orbit-db/node_modules/orbit-db-counterstore/src/CounterStore.js" + ], + [ + "cir", + "orbit-db/circle.yml" + ], + [ + "web", + "orbit-db/webpack.config.js" + ], + [ + "ben", + "orbit-db/examples/benchmark.js" + ], + [ + "or", + "orbit-db/src/OrbitDB.js" + ], + [ + "benchma", + "orbit-db/examples/benchmark.js" + ], + [ + "readm", + "orbit-db/node_modules/colors/ReadMe.md" + ], + [ + "store", + "orbit-db/node_modules/orbit-db-store/src/Store.js" + ], + [ + "cache", + "orbit-db/node_modules/orbit-db-store/src/Cache.js" + ], + [ + "pubs", + "orbit-db/src/PubSub.js" + ], + [ + "log", + "orbit-db/node_modules/async/log.js" + ], + [ + "pa", + "orbit-db/package.json" + ], + [ + "minifi", + "orbit-db/webpack.config.minified.js" + ], + [ + "src/store.js", + "orbit-db/node_modules/orbit-db-store/src/Store.js" + ], + [ + "arras", + "orbit-db/src/ArrayStore.js" + ], + [ + "arra", + "orbit-db/src/ArrayIndex.js" + ], + [ + "pub", + "src/PubSub.js" + ], + [ + "entry", + "node_modules/ipfs-log/src/entry.js" + ], + [ + "webp", + "webpack.example.config.js" + ], + [ + "vag", + "Vagrantfile" + ], + [ + "cou", + "test/counterdb.test.js" + ], + [ + "key", + "examples/keyvalue.js" + ], + [ + "pu", + "src/PubSub.js" + ], + [ + ".test", + "test/client.test.js" + ], + [ + "clie", + "test/client.test.js" + ], + [ + "cli", + "test/client.test.js" + ], + [ + "be", + "examples/benchmark.js" + ], + [ + "re", + "README.md" + ], + [ + "ca", + "src/oplog/Cache.js" + ], + [ + "pubsu", + "src/PubSub.js" + ], + [ + "orbi", + "src/OrbitDB.js" + ], + [ + "keyva", + "src/stores/kvstore/KeyValueIndex.js" + ], + [ + "eve", + "src/stores/eventlog/EventIndex.js" + ], + [ + "defa", + "src/stores/DefaultIndex.js" + ], + [ + "count", + "src/stores/counters/CounterIndex.js" + ], + [ + "ope", + "src/oplog/OperationsLog.js" + ], + [ + "net", + "network.json" + ], + [ + "ke", + "examples/keyvalue.js" + ], + [ + "sto", + "src/stores/Store.js" + ], + [ + "s", + "src/stores/Store.js" + ], + [ + "kv", + "src/stores/kvstore/KeyValueStore.js" + ], + [ + "coun", + "src/stores/counters/CounterIndex.js" + ], + [ + "even", + "src/stores/eventlog/EventStore.js" + ], + [ + "p", + "package.json" + ], + [ + "benc", + "examples/benchmark-kv.js" + ], + [ + "me", + "src/post/MetaInfo.js" + ], + [ + "pos", + "src/post/Post.js" + ], + [ + "event", + "src/db/EventLogIndex.js" + ], + [ + "brow", + "examples/browser.html" + ], + [ + "inde", + "examples/index.html" + ], + [ + "bro", + "examples/browser.js" + ], + [ + "op", + "src/db/Operation.js" + ], + [ + "def", + "src/db/DefaultIndex.js" + ], + [ + "de", + "src/db/DefaultIndex.js" + ], + [ + "gcou", + "src/db/GCounter.js" + ], + [ + ".gi", + ".gitignore" + ], + [ + "gc", + "src/db/GCounter.js" + ], + [ + "ag", + "src/db/Aggregator.js" + ], + [ + "orbitdbi", + "src/post/OrbitDBItem.js" + ], + [ + "opt", + "src/db/OpTypes.js" + ], + [ + "po", + "src/post/Post.js" + ], + [ + "reade", + "examples/reader.js" + ], + [ + "-te", + "test/orbit-client-tests.js" + ], + [ + "clien", + "test/orbit-client-tests.js" + ], + [ + "client-t", + "test/orbit-client-tests.js" + ], + [ + "log.j", + "node_modules/ipfs-log/examples/log.js" + ], + [ + "orbit-cli", + "test/orbit-client-tests.js" + ], + [ + "orbitno", + "src/list/OrbitNode.js" + ], + [ + "orbit-list", + "test/orbit-list-tests.js" + ], + [ + "archi", + "docs/architecture.md" + ], + [ + "promised", + "node_modules/orbit-common/lib/ipfs-api-promised.js" + ], + [ + "lis", + "src/list/List.js" + ], + [ + "list-node", + "test/orbitlist-node-tests.js" + ], + [ + "node", + "src/list/Node.js" + ], + [ + "opty", + "src/db/OpTypes.js" + ], + [ + "client", + "src/Client.js" + ], + [ + "orbitdbite", + "src/post/OrbitDBItem.js" + ], + [ + "post", + "src/post/Post.js" + ], + [ + "node-te", + "test/list-node-tests.js" + ], + [ + "client-te", + "test/orbit-client-tests.js" + ], + [ + "list-te", + "test/list-tests.js" + ], + [ + "orbit-node", + "test/orbitlist-node-tests.js" + ], + [ + "list", + "src/list/List.js" + ], + [ + "orbit-li", + "test/orbit-list-tests.js" + ], + [ + "ar", + "docs/architecture.md" + ], + [ + "text", + "src/post/TextPost.js" + ], + [ + "base", + "src/post/BasePost.js" + ], + [ + "file", + "src/post/FilePost.js" + ], + [ + "dir", + "src/post/DirectoryPost.js" + ], + [ + "list-tes", + "test/orbit-list-tests.js" + ], + [ + "meta", + "src/post/MetaInfo.js" + ], + [ + "di", + "src/post/DirectoryPost.js" + ], + [ + "dire", + "src/post/DirectoryPost.js" + ], + [ + "arc", + "docs/architecture.md" + ], + [ + "promise", + "node_modules/orbit-common/lib/ipfs-api-promised.js" + ], + [ + "rea", + "examples/reader.js" + ], + [ + "orbitnode", + "src/list/OrbitNode.js" + ], + [ + "ornode", + "src/list/OrbitNode.js" + ], + [ + "orbit-list-", + "test/orbit-list-tests.js" + ], + [ + "orbitlis", + "src/list/OrbitList.js" + ], + [ + "wreck/inde", + "node_modules/orbit-common/node_modules/ipfsd-ctl/node_modules/ipfs-api/node_modules/wreck/lib/index.js" + ], + [ + "request-api", + "node_modules/orbit-common/node_modules/ipfsd-ctl/node_modules/ipfs-api/src/request-api.js" + ], + [ + "dbite", + "src/post/OrbitDBItem.js" + ] + ], + "width": 0.0 + }, + "select_project": + { + "height": 500.0, + "last_filter": "db", + "selected_items": + [ + [ + "db", + "~/code/orbit-db/orbit-db.sublime-project" + ], + [ + "pubsub", + "~/code/orbit-db-pubsub/orbit-db-pubsub.sublime-project" + ], + [ + "ano", + "~/code/anonymous-networks/anonymous-networks.sublime-project" + ], + [ + "labe", + "~/code/labels-and-milestones/labels-and-milestones.sublime-project" + ], + [ + "test", + "~/code/ipfs-test-apis/ipfs-test-apis.sublime-project" + ], + [ + "", + "~/code/anonymous-networks/anonymous-networks.sublime-project" + ], + [ + "dae", + "~/code/ipfs-daemon/ipfs-daemon.sublime-project" + ], + [ + "proto3", + "~/code/proto3/proto3.sublime-project" + ], + [ + "js", + "~/code/js-ipfs-api-haadcode/js-ipfs-api.sublime-project" + ], + [ + "crypto", + "~/code/orbit-crypto/orbit-crypto.sublime-project" + ], + [ + "pub", + "~/code/orbit-db-pubsub/orbit-db-pubsub.sublime-project" + ], + [ + "colog", + "~/go/src/github.com/keks/go-ipfs-colog/go-ipfs-colog.sublime-project" + ], + [ + "core", + "~/code/orbit-core/orbit-core.sublime-project" + ], + [ + "kv", + "~/code/orbit-db-kvstore/orbit-db-kvstore.sublime-project" + ], + [ + "text", + "~/code/orbit-textui/orbit-textui.sublime-project" + ], + [ + "feed", + "~/code/orbit-db-feedstore/orbit-db-feedstore.sublime-project" + ], + [ + "coun", + "~/code/orbit-db-counterstore/orbit-db-counterstore.sublime-project" + ], + [ + "even", + "~/code/orbit-db-eventstore/orbit-db-eventstore.sublime-project" + ], + [ + "ipfs-dae", + "~/code/ipfs-daemon/ipfs-daemon.sublime-project" + ], + [ + "ipfs-a", + "~/code/js-ipfs-api-haadcode/js-ipfs-api.sublime-project" + ], + [ + "ipfs", + "~/code/js-ipfs-api-haadcode/js-ipfs-api.sublime-project" + ], + [ + "log", + "~/code/ipfs-log/ipfs-log.sublime-project" + ], + [ + "ipfsd", + "~/code/js-ipfsd-ctl/js-ipfsd-ctl.sublime-project" + ], + [ + "gim", + "~/code/gimme-ipfs-daemon/gimme-ipfs-daemon.sublime-project" + ], + [ + "gi", + "~/code/gimme-ipfs-daemon/gimme-ipfs-daemon.sublime-project" + ], + [ + "gimm", + "~/code/gimme-ipfs-daemon/gimme-ipfs-daemon.sublime-project" + ], + [ + "count", + "~/code/orbit-db-counterstore/orbit-db-counterstore.sublime-project" + ], + [ + "js-ip", + "~/code/js-ipfs-api-haadcode/js-ipfs-api.sublime-project" + ], + [ + "ipfs-api", + "~/code/js-ipfs-api-haadcode/js-ipfs-api.sublime-project" + ], + [ + "events", + "~/code/orbit-db-eventstore/orbit-db-eventstore.sublime-project" + ], + [ + "pubsu", + "~/code/orbit-db-pubsub/orbit-db-pubsub.sublime-project" + ], + [ + "fee", + "~/code/orbit-db-feedstore/orbit-db-feedstore.sublime-project" + ], + [ + "kvs", + "~/code/orbit-db-kvstore/orbit-db-kvstore.sublime-project" + ], + [ + "event", + "~/code/orbit-db-eventstore/orbit-db-eventstore.sublime-project" + ], + [ + "eve", + "~/code/orbit-db-eventstore/orbit-db-eventstore.sublime-project" + ], + [ + "store", + "~/code/orbit-db-store/orbit-db-store.sublime-project" + ], + [ + "sto", + "~/code/orbit-db-store/orbit-store.sublime-workspace" + ], + [ + "js-ipfs", + "~/code/js-ipfs-api-haadcode/js-ipfs-api.sublime-project" + ], + [ + "co", + "~/code/orbit-core/orbit-core.sublime-project" + ], + [ + "pu", + "~/code/orbit-db-pubsub/orbit-db-pubsub.sublime-project" + ], + [ + "api", + "~/code/js-ipfs-api-haadcode/js-ipfs-api.sublime-project" + ], + [ + "a", + "~/code/anonymous-networks/anonymous-networks.sublime-project" + ], + [ + "cou", + "~/code/orbit-db-counterstore/orbit-db-counterstore.sublime-project" + ], + [ + "pro", + "~/code/proto2/proto2.sublime-project" + ], + [ + "ipfslg", + "~/code/ipfs-log/ipfs-log.sublime-project" + ], + [ + "proto", + "~/code/protocollabs/protocollabs.sublime-project" + ], + [ + "proto2", + "~/code/proto2/proto2.sublime-project" + ], + [ + "or", + "~/code/orbit-server/orbit-server.sublime-project" + ], + [ + "logpl", + "~/code/logplease/logplease.sublime-project" + ], + [ + "lo", + "~/code/ipfs-log/ipfs-log.sublime-project" + ], + [ + "ser", + "~/code/orbit-server/orbit-server.sublime-project" + ], + [ + "orbitd", + "~/code/tmp/orbit-db/orbitdb-ipfs.sublime-project" + ], + [ + "s", + "~/code/orbit-db-store/orbit-db-store.sublime-project" + ], + [ + "st", + "~/code/orbit-db-store/orbit-db-store.sublime-project" + ], + [ + "an", + "~/code/anonymous-networks/anonymous-networks.sublime-project" + ], + [ + "ip", + "~/code/ipfs-log/ipfs-log.sublime-project" + ], + [ + "crd", + "~/code/crdts/crdts.sublime-project" + ], + [ + "l", + "~/code/ipfs-log/ipfs-log.sublime-project" + ], + [ + "pr", + "~/code/proto1/proto1.sublime-workspace" + ], + [ + "cr", + "~/code/crdts/crdts.sublime-project" + ], + [ + "orbit", + "~/code/orbit-common/orbit-common.sublime-project" + ], + [ + "orbit-c", + "~/code/orbit-common/orbit-common.sublime-project" + ], + [ + "se", + "~/code/orbit-server/orbit-server.sublime-project" + ], + [ + "ipg", + "~/code/ipfs-log/ipfs-log.sublime-project" + ], + [ + "com", + "~/code/orbit-common/orbit-common.sublime-project" + ], + [ + "cl", + "~/code/orbit-client/orbit-client.sublime-project" + ], + [ + "o", + "~/code/orbit-server/orbit-server.sublime-project" + ], + [ + "n", + "~/code/anonymous-networks/anonymous-networks.sublime-project" + ], + [ + "anon", + "~/code/anonymous-networks/anonymous-networks.sublime-project" + ] + ], + "width": 380.0 + }, + "select_symbol": + { + "height": 354.0, + "last_filter": "", + "selected_items": + [ + ], + "width": 853.0 + }, + "selected_group": 0, + "settings": + { + }, + "show_minimap": true, + "show_open_files": true, + "show_tabs": true, + "side_bar_visible": true, + "side_bar_width": 244.0, + "status_bar_visible": true, + "template_settings": + { + } +} diff --git a/src/core/components/pubsub.js b/src/core/components/pubsub.js index 6480aa90ab..a3a4a1a3d1 100644 --- a/src/core/components/pubsub.js +++ b/src/core/components/pubsub.js @@ -1,17 +1,13 @@ 'use strict' -const multiaddr = require('multiaddr') const promisify = require('promisify-es6') -const flatMap = require('lodash.flatmap') -const values = require('lodash.values') const Stream = require('stream') const FloodSub = require('libp2p-floodsub') const OFFLINE_ERROR = require('../utils').OFFLINE_ERROR -module.exports = function pubsub (self) { - +module.exports = function pubsub (self) { let fsub return { @@ -38,14 +34,13 @@ module.exports = function pubsub (self) { } fsub.on(topic, (data) => { - console.log("PUBSUB DATA:", data.toString()) + console.log('PUBSUB DATA:', data.toString()) rs.emit('data', { data: data.toString(), - topicIDs: [topic], - // these fields are currently missing from message + topicIDs: [topic] + // these fields are currently missing from message // (but are present in messages from go-ipfs pubsub) // from: bs58.encode(message.from), - // data: Base64.decode(message.data), // seqno: Base64.decode(message.seqno) }) }) @@ -59,10 +54,11 @@ module.exports = function pubsub (self) { return callback(OFFLINE_ERROR) } - const out = data instanceof Buffer ? data : new Buffer(data) - fsub.publish(topic, out) + const buf = Buffer.isBuffer(data) ? data : new Buffer(data) + + fsub.publish(topic, buf) callback(null) - }), + }) } } From 2c7175999d18b0785618339bc2ca894e88d0fa06 Mon Sep 17 00:00:00 2001 From: haad Date: Thu, 20 Oct 2016 16:27:47 +0200 Subject: [PATCH 3/3] Opps. Remove sublime files. --- js-ipfs.sublime-project | 8 - js-ipfs.sublime-workspace | 2026 ------------------------------------- 2 files changed, 2034 deletions(-) delete mode 100644 js-ipfs.sublime-project delete mode 100644 js-ipfs.sublime-workspace diff --git a/js-ipfs.sublime-project b/js-ipfs.sublime-project deleted file mode 100644 index 24db30311b..0000000000 --- a/js-ipfs.sublime-project +++ /dev/null @@ -1,8 +0,0 @@ -{ - "folders": - [ - { - "path": "." - } - ] -} diff --git a/js-ipfs.sublime-workspace b/js-ipfs.sublime-workspace deleted file mode 100644 index 282a120f10..0000000000 --- a/js-ipfs.sublime-workspace +++ /dev/null @@ -1,2026 +0,0 @@ -{ - "auto_complete": - { - "selected_items": - [ - [ - "op", - "oplog" - ], - [ - "key", - "keyCode" - ], - [ - "new", - "newItems" - ], - [ - "da", - "daemon1" - ], - [ - "pro", - "promises" - ], - [ - "defau", - "defaultNetworkName" - ], - [ - "lo", - "localhost" - ], - [ - "db", - "dbname" - ], - [ - "co", - "command" - ], - [ - "load", - "loadHistory" - ], - [ - "res", - "result" - ], - [ - "Ip", - "IpfsApi" - ], - [ - "remove", - "removeAllListeners" - ], - [ - "Aa", - "ArrayStore" - ], - [ - "Arra", - "ArrayStore" - ], - [ - "Pub", - "PubSub\t(OrbitDB.js)" - ], - [ - "con", - "concurrency" - ], - [ - "net", - "network" - ], - [ - "ipfs", - "ipfsApi" - ], - [ - "ip", - "ipfsApi" - ], - [ - "loca", - "localhostNetwork" - ], - [ - "cosn", - "console" - ], - [ - "add", - "address" - ], - [ - "repo", - "repoInstance" - ], - [ - "o", - "object" - ], - [ - "qu", - "queryLoop" - ], - [ - "Eve", - "EventStore" - ], - [ - "cac", - "cacheFile" - ], - [ - "eve", - "events" - ], - [ - "ca", - "cached" - ], - [ - "all", - "allowOffline" - ], - [ - "for", - "forEach" - ], - [ - "log", - "logHash" - ], - [ - "re", - "readable" - ], - [ - "up", - "updated" - ], - [ - "store", - "stores" - ], - [ - "inde", - "_index" - ], - [ - "th", - "then" - ], - [ - "byte", - "byteLength" - ], - [ - "cons", - "console" - ], - [ - "keva", - "keyvalueDB" - ], - [ - "eventlogD", - "eventlogDB" - ], - [ - "De", - "DefaultIndex" - ], - [ - "opt", - "options\t(EventLogDB.js)" - ], - [ - "Count", - "CounterIndex" - ], - [ - "d", - "dbname" - ], - [ - "_", - "_index" - ], - [ - "upd", - "updateIndex" - ], - [ - "hand", - "handledItems" - ], - [ - "_ite", - "_itemsR" - ], - [ - "comp", - "compact\t(EventLogDB.js)" - ], - [ - "_c", - "_createLWWSet" - ], - [ - "inc", - "inclusive" - ], - [ - "even", - "eventlogDB" - ], - [ - "item", - "items" - ], - [ - "le", - "length\t(client.test.js)" - ], - [ - "Ke", - "KeyValueDB" - ], - [ - "K", - "KeyValueDB" - ], - [ - "Log", - "LogAggregator" - ], - [ - "_ca", - "_cachePayload" - ], - [ - "start", - "startDaemon\t(index.js)" - ], - [ - "val", - "value" - ], - [ - "user", - "username" - ], - [ - "Orbit", - "OrbitDB" - ], - [ - "cos", - "console" - ], - [ - "cou", - "counter1" - ], - [ - "us", - "user" - ], - [ - "me", - "message" - ], - [ - "coun", - "counterDB" - ], - [ - "pr", - "promises" - ], - [ - "fun", - "function" - ], - [ - "ite", - "iterator" - ], - [ - "joi", - "joinedCount" - ], - [ - "chan", - "channel" - ], - [ - "las", - "lastHash" - ], - [ - "payl", - "payloadHashes" - ], - [ - "Or", - "OrbitDB" - ], - [ - "other", - "otherLogHash" - ], - [ - "ot", - "otherLogHash" - ], - [ - "before", - "beforeEach\t(client.test.js)" - ], - [ - "use", - "username" - ], - [ - "crea", - "createClient" - ], - [ - "Pr", - "Promise" - ], - [ - "defa", - "defaultFilepath" - ], - [ - "O", - "OrbitDB" - ], - [ - "chann", - "channelName" - ], - [ - "fetch", - "fetchPayload" - ], - [ - "Re", - "result" - ], - [ - "_fetc", - "_fetchHistory\t(OrbitList.js)" - ], - [ - "B", - "Buffer" - ], - [ - "chun", - "chunkedObjects" - ], - [ - "Op", - "OpTypes" - ], - [ - "ope", - "operation\t(OrbitDB.js)" - ], - [ - "Po", - "PostTypes" - ], - [ - "File", - "FilePost" - ], - [ - "Orbi", - "OrbitDBItem\t(Operation.js)" - ], - [ - "obi", - "OrbitDBItem" - ], - [ - "Pos", - "Posts" - ], - [ - "Post", - "PostTypes\t(OrbitDB.js)" - ], - [ - "join", - "joinedCount" - ], - [ - "cu", - "curCount" - ], - [ - "se", - "second" - ], - [ - "cre", - "createOperation" - ], - [ - "resl", - "result\t(OrbitList.js)" - ], - [ - "list", - "listHash" - ], - [ - "fet", - "fetchRecursive" - ], - [ - "Ma", - "MaxHistory" - ], - [ - "dis", - "disconnect\t(OrbitClient.js)" - ], - [ - "fin", - "findAll" - ], - [ - "is", - "isGreaterThanOperation" - ], - [ - "_find", - "_findAfter" - ], - [ - "seq", - "sequence" - ], - [ - "to", - "toArray" - ], - [ - "del", - "delete" - ], - [ - "La", - "Lazy" - ], - [ - "cl", - "clear\t(OrbitClient.js)" - ], - [ - "de", - "delete" - ], - [ - "fi", - "filter" - ], - [ - "handl", - "handledItems" - ], - [ - "was", - "wasHandled" - ], - [ - "current", - "currentAmount" - ], - [ - "onConn", - "onConnectionError" - ], - [ - "onCo", - "onConnectionError" - ], - [ - "curr", - "currentAmount\t(DataStore.js)" - ], - [ - "com", - "compactId" - ], - [ - "ne", - "next" - ], - [ - "filt", - "filtered" - ], - [ - "compac", - "compactId" - ] - ] - }, - "buffers": - [ - { - "file": "package.json", - "settings": - { - "buffer_size": 4354, - "line_ending": "Unix" - } - }, - { - "file": "src/core/index.js", - "settings": - { - "buffer_size": 2210, - "encoding": "UTF-8", - "line_ending": "Unix" - } - }, - { - "file": "src/core/components/go-online.js", - "settings": - { - "buffer_size": 584, - "encoding": "UTF-8", - "line_ending": "Unix" - } - }, - { - "file": "src/core/components/pubsub.js", - "settings": - { - "buffer_size": 1317, - "encoding": "UTF-8", - "line_ending": "Unix" - } - }, - { - "file": "/Users/samuli/code/js-ipfs-api-haadcode/src/api/pubsub.js", - "settings": - { - "buffer_size": 3041, - "line_ending": "Unix" - } - }, - { - "file": "src/core/components/object.js", - "settings": - { - "buffer_size": 5527, - "line_ending": "Unix" - } - } - ], - "build_system": "", - "build_system_choices": - [ - ], - "build_varint": "", - "command_palette": - { - "height": 354.0, - "last_filter": "pre", - "selected_items": - [ - [ - "pre", - "Markdown Preview: Preview in Browser" - ], - [ - "previ", - "Markdown Preview: Preview in Browser" - ], - [ - "prev", - "Markdown Preview: Preview in Browser" - ], - [ - "", - "About" - ], - [ - "preview", - "Markdown Preview: Preview in Browser" - ], - [ - "ins", - "Package Control: Install Package" - ], - [ - "re", - "Package Control: Remove Package" - ], - [ - "inst", - "Package Control: Install Package" - ], - [ - "remove", - "Package Control: Remove Package" - ], - [ - "remo", - "Package Control: Remove Package" - ], - [ - "mark", - "Markdown Preview: Preview in Browser" - ], - [ - "markd", - "Markdown Preview: Preview in Browser" - ], - [ - "instal", - "Package Control: Install Package" - ], - [ - "mar", - "Markdown Preview: Preview in Browser" - ], - [ - "insta", - "Package Control: Install Package" - ], - [ - "packa", - "Preferences: Browse Packages" - ] - ], - "width": 431.0 - }, - "console": - { - "height": 126.0, - "history": - [ - "import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)" - ] - }, - "distraction_free": - { - "menu_visible": true, - "show_minimap": false, - "show_open_files": false, - "show_tabs": false, - "side_bar_visible": false, - "status_bar_visible": false - }, - "expanded_folders": - [ - "/Users/samuli/code/js-ipfs", - "/Users/samuli/code/js-ipfs/src", - "/Users/samuli/code/js-ipfs/src/core", - "/Users/samuli/code/js-ipfs/src/core/components" - ], - "file_history": - [ - "/Users/samuli/code/js-ipfs/src/core/components/object.js", - "/Users/samuli/code/js-ipfs/src/core/components/swarm.js", - "/Users/samuli/code/js-ipfs/src/index.js", - "/Users/samuli/code/js-ipfs/README.md", - "/Users/samuli/code/orbit-db/conf/webpack.example.config.js", - "/Users/samuli/code/orbit-db/node_modules/orbit-db-pubsub/src/ipfs-pubsub.js", - "/Users/samuli/code/orbit-db/examples/eventlog.js", - "/Users/samuli/code/orbit-db/examples/browser/index.js", - "/Users/samuli/code/orbit-db/package.json", - "/Users/samuli/code/orbit-db/examples/start-daemon.js", - "/Users/samuli/code/orbit-db/src/OrbitDB.js", - "/Users/samuli/code/orbit-db/node_modules/orbit-db-store/src/Store.js", - "/Users/samuli/code/orbit-db/API.md", - "/Users/samuli/code/orbit-db/examples/browser/arraystore.html", - "/Users/samuli/code/orbit-db/examples/browser/arrays.js", - "/Users/samuli/code/orbit-db/src/ArrayIndex.js", - "/Users/samuli/code/orbit-db/src/ArrayStore.js", - "/Users/samuli/code/orbit-db/README.md", - "/Users/samuli/code/orbit-db-docstore/README.md", - "/Users/samuli/code/orbit-db-docstore/LICENSE", - "/Users/samuli/code/orbit-db/circle.yml", - "/Users/samuli/code/orbit-db/conf/webpack.example.arrays.config.js", - "/Users/samuli/code/orbit-db/node_modules/ipfs-api/lib/api/pubsub.js", - "/Users/samuli/code/proto3/index.js", - "/Users/samuli/code/proto3/dist/index.html", - "/Users/samuli/code/orbit-db/examples/browser/index.html", - "/Users/samuli/code/orbit-db/conf/webpack.config.minified.js", - "/Users/samuli/code/orbit-db/conf/webpack.config.js", - "/Users/samuli/code/orbit-db/examples/keyvalue.js", - "/Users/samuli/code/orbit-db/examples/benchmark-kv.js", - "/Users/samuli/code/orbit-db/examples/benchmark.js", - "/Users/samuli/code/orbit-db/test/client.test.js", - "/Users/samuli/code/orbit-db/LICENSE", - "/Users/samuli/code/orbit-db/.gitignore", - "/Users/samuli/code/orbit-db/node_modules/ipfs-daemon/ipfs-daemon.js", - "/Users/samuli/code/orbit-db/webpack.example.config.js", - "/Users/samuli/code/orbit-db/webpack.config.minified.js", - "/Users/samuli/code/orbit-db/webpack.config.js", - "/Users/samuli/code/orbit-db/test/counterdb.test.js", - "/Users/samuli/code/orbit-db/node_modules/ipfs-merkle-dag/src/merkledag.proto", - "/Users/samuli/code/orbit-db/node_modules/ipfs-merkle-dag/lib/merkledag.proto", - "/Users/samuli/code/orbit-db/node_modules/ipfs-api/dist/index.js", - "/Users/samuli/code/orbit-db/CHANGELOG.md", - "/Users/samuli/code/orbit-db/node_modules/orbit-db-counterstore/src/CounterIndex.js", - "/Users/samuli/code/orbit-db/node_modules/bluebird/js/release/promise.js", - "/Users/samuli/code/orbit-db/node_modules/ipfsd-ctl/src/index.js", - "/Users/samuli/code/orbit-db/node_modules/ipfsd-ctl/src/node.js", - "/Users/samuli/code/orbit-db/src/cli/index.js", - "/Users/samuli/code/orbit-db/src/Cache.js", - "/Users/samuli/code/orbit-db/examples/browser/bundle.js", - "/Users/samuli/code/orbit-db/node_modules/ipfs-api/lib/request-api.js", - "/Users/samuli/code/orbit-db/node_modules/ipfs-api/src/api/pubsub.js", - "/Users/samuli/code/orbit-db/node_modules/ipfs-api/package.json", - "/Users/samuli/code/orbit-db/examples/browser/browser.html", - "/Users/samuli/code/orbit-db/dist/orbitdb.js", - "/Users/samuli/code/orbit-db/node_modules/ipfs-merkle-dag/src/dag-node.js", - "/Users/samuli/code/orbit-db/node_modules/ipfs-merkle-dag/lib/dag-node.js", - "/Users/samuli/code/orbit-db/dist/orbitdb.min.js", - "/Users/samuli/code/anonymous-networks/client/webpack.dist.config.js", - "/Users/samuli/code/orbit-db/scripts/post_install.sh", - "/Users/samuli/code/orbit-db/dist/orbitdb.js.map", - "/Users/samuli/code/orbit-db/node_modules/orbit-db-counterstore/src/CounterStore.js", - "/Users/samuli/code/orbit-db/node_modules/ipfs-log/src/log.js", - "/Users/samuli/code/anonymous-networks/node_modules/orbit-db-pubsub/src/ipfs-pubsub.js", - "/Users/samuli/code/anonymous-networks/src/Orbit.js", - "/Users/samuli/code/tmp/orbit-db/examples/benchmark.js", - "/Users/samuli/code/orbit-message-broker/src/IPFSPubSub.js", - "/Users/samuli/code/orbit-db/src/PubSub.js", - "/Users/samuli/code/orbit-db/examples/benchmark-temp.js", - "/Users/samuli/code/orbit-message-broker/index.js", - "/Users/samuli/code/orbit-message-broker/package.json", - "/Users/samuli/code/orbit-message-broker/src/PubSub.js", - "/Users/samuli/code/orbit-message-broker/src/Pubsub.js", - "/Users/samuli/Library/Application Support/Sublime Text 3/Packages/User/Preferences.sublime-settings", - "/Users/samuli/code/orbit-db/examples/eventlog-reader.js", - "/Users/samuli/code/anonymous-networks/node_modules/orbit-crypto/index.js", - "/Users/samuli/code/orbit-db/node_modules/colors/ReadMe.md", - "/Users/samuli/code/orbit-db/node_modules/orbit-db-store/src/Cache.js", - "/Users/samuli/code/ipfs-log/src/log.js", - "/Users/samuli/code/orbit-db/test/orbit-db.test.js", - "/Users/samuli/code/pubsub/README.md", - "/Users/samuli/code/orbit-db/node_modules/async/log.js", - "/Users/samuli/code/orbit-db/examples/browser/browser.js", - "/Users/samuli/code/orbit-db/examples/browser.js", - "/Users/samuli/code/orbit-db/examples/index.html", - "/Users/samuli/code/orbit-db/examples/browser.html", - "/Users/samuli/code/orbit-db-store/README.md", - "/Users/samuli/code/orbit-db/orbit-db.sublime-project", - "/Users/samuli/code/orbit-message-broker/PubSub.js", - "/Users/samuli/code/orbit-db/node_modules/ipfs-log/src/entry.js", - "/Users/samuli/code/orbit-db/node_modules/ipfs/lib/core/ipfs/files.js", - "/Users/samuli/code/orbit-db/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js", - "/Users/samuli/code/anonymous-networks/client/dist/assets/main.js", - "/Users/samuli/code/orbit-db/Vagrantfile", - "/Users/samuli/code/ipfs-log/src/entry.js", - "/Users/samuli/code/orbit-db/node_modules/ipfs/lib/core/index.js", - "/Users/samuli/code/orbit-db/node_modules/libp2p-ipfs-browser/dist/index.js", - "/Users/samuli/code/orbit-db/node_modules/libp2p-ipfs-browser/package.json", - "/Users/samuli/code/anonymous-networks/test/orbit.test.js", - "/Users/samuli/code/anonymous-networks/node_modules/ipfs/lib/core/ipfs/go-offline.js", - "/Users/samuli/code/anonymous-networks/node_modules/ipfs/lib/core/ipfs/libp2p.js", - "/Users/samuli/code/anonymous-networks/node_modules/ipfs/lib/core/ipfs/id.js", - "/Users/samuli/code/ipfs-log/test/log.spec.js", - "/Users/samuli/code/orbit-db/node_modules/orbit-db-feedstore/src/FeedIndex.js", - "/Users/samuli/code/orbit-db/node_modules/orbit-db-feedstore/src/FeedStore.js", - "/Users/samuli/code/ipfs-log/test/entry.spec.js", - "/Users/samuli/code/orbit-db/test/network.json", - "/Users/samuli/code/orbit-db/node_modules/babel-core/lib/transformation/file/options/option-manager.js", - "/Users/samuli/code/anonymous-networks/newnetwork.json", - "/Users/samuli/Desktop/orbit-db-benchmark-160509.log", - "/Users/samuli/Desktop/ipfs.object.put-benchmark-160509.log", - "/Users/samuli/code/orbit-db/examples/benchmark2.js", - "/Users/samuli/code/orbit-db/examples/benchmark.old.js", - "/Users/samuli/code/orbit-db/debug.csv", - "/Users/samuli/code/orbit-db/debug.log", - "/Users/samuli/Desktop/benchmark-160509.log", - "/Users/samuli/code/js-ipfs-api/README.md", - "/Users/samuli/code/orbit-db/src/stores/Store.js", - "/Users/samuli/code/orbit-db/src/stores/counters/CounterStore.js", - "/Users/samuli/code/orbit-db/src/stores/counters/CounterIndex.js", - "/Users/samuli/code/orbit-db/src/stores/kvstore/KeyValueStore.js", - "/Users/samuli/code/orbit-db/src/stores/kvstore/KeyValueIndex.js", - "/Users/samuli/code/orbit-db/src/stores/eventlog/EventStore.js", - "/Users/samuli/code/orbit-db/src/stores/eventlog/EventIndex.js", - "/Users/samuli/Desktop/log.txt", - "/Users/samuli/code/orbit-db/src/oplog/OperationsLog.js", - "/Users/samuli/code/orbit-db/src/oplog/Cache.js", - "/Users/samuli/code/orbit-db/src/stores/DefaultIndex.js" - ], - "find": - { - "height": 53.0 - }, - "find_in_files": - { - "height": 136.0, - "where_history": - [ - "-dist/, -lib/, -node_modules/", - "-dist/, -lib/", - "", - "-node_modules/", - "*.js, -node_modules/", - "", - "-.tmp/, -node_modules/, -client/dist, -*.log, *.js", - "-.tmp/, -node_modules/, -client/dist, -*.log", - "", - "-.tmp/, -node_modules/, -client/dist, -*.log" - ] - }, - "find_state": - { - "case_sensitive": false, - "find_history": - [ - "._libp2pNode", - "_libp2pNode", - "samuli", - "Chance", - "tmp", - "username", - "IpfsDataDir", - "tmp", - "protobuf(", - "cacheFile", - "console.log", - "itemCount", - "db =", - "db = awa", - "ipfsDaemon", - "db", - "cacheFile", - "ipfsPath", - "for (", - ";", - "ipfsd", - "for(", - ";", - "logger", - "names", - "value", - "merkle", - "MerkleDAG", - "MerkleDAG Link", - "An IPFS MerkleDAG Link", - ";", - "password", - "dist/", - ".js", - "protobuf(fs.readFileSync(path.join(__dirname, 'merkledag.proto')", - "const proto = protobuf(fs.readFileSync(path.join(__dirname, 'merkledag.proto')))", - "fs.readFileSync(", - "merkledag.proto", - "logger", - ";", - ") => ", - "=> ", - "Iterator", - "OrbitServer", - ";", - "js-base64", - "console.log", - "client2", - "ipfs", - "password", - "network", - ";", - "username", - "network", - ";", - "this.user", - ";", - "store", - "this._pubsub", - "PubSub", - "indexOf", - "queryLoop", - ";", - "_onClose", - ".clear", - "await", - "'lodash'", - "db", - "asyncawait", - "buffer", - "Sync took", - "this._pubsub", - "PubSub", - "this._pubsub", - "178.", - "_this.swarm.transport.add('wstar',", - "error", - "self._libp2pNode", - "\"22\"", - "console.log", - "OrbitServer", - "async", - "babel-preset-es2015", - "babel-loader", - "console.log", - "join", - ".log", - ".feed", - " }", - "heapUsed: ", - "heapTotal: ", - "{ rss: ", - "problem", - " }", - "heapUsed: ", - "heapTotal: ", - "{ rss: ", - "heapUsed: ", - "heapTotal: ", - "rss: ", - " }", - "{ ", - "queries per second", - "_.", - "lodash", - "json-loader", - "this.network", - "_createStore", - "client.", - "eventlog", - ".Log", - "items", - ".set", - "OperationsLog", - "oldCount", - "dbname", - "this.dbname", - "this.options", - ".ops", - "ipfsPath", - "onConnectionError", - "onConnected", - "ipfs", - ".connect", - "events", - ".set", - "events", - "this.options" - ], - "highlight": true, - "in_selection": false, - "preserve_case": false, - "regex": false, - "replace_history": - [ - "", - "'", - ",\n", - "" - ], - "reverse": false, - "show_context": true, - "use_buffer2": true, - "whole_word": false, - "wrap": true - }, - "groups": - [ - { - "selected": 3, - "sheets": - [ - { - "buffer": 0, - "file": "package.json", - "semi_transient": false, - "settings": - { - "buffer_size": 4354, - "regions": - { - }, - "selection": - [ - [ - 1808, - 1808 - ] - ], - "settings": - { - "syntax": "Packages/Materialize/Langs/npm JSON.tmLanguage" - }, - "translation.x": 0.0, - "translation.y": 0.0, - "zoom_level": 1.0 - }, - "stack_index": 5, - "type": "text" - }, - { - "buffer": 1, - "file": "src/core/index.js", - "semi_transient": false, - "settings": - { - "buffer_size": 2210, - "regions": - { - }, - "selection": - [ - [ - 2179, - 2179 - ] - ], - "settings": - { - "syntax": "Packages/Babel/JavaScript (Babel).sublime-syntax" - }, - "translation.x": 0.0, - "translation.y": 1149.0, - "zoom_level": 1.0 - }, - "stack_index": 3, - "type": "text" - }, - { - "buffer": 2, - "file": "src/core/components/go-online.js", - "semi_transient": false, - "settings": - { - "buffer_size": 584, - "regions": - { - }, - "selection": - [ - [ - 571, - 571 - ] - ], - "settings": - { - "syntax": "Packages/Babel/JavaScript (Babel).sublime-syntax" - }, - "translation.x": 0.0, - "translation.y": 0.0, - "zoom_level": 1.0 - }, - "stack_index": 2, - "type": "text" - }, - { - "buffer": 3, - "file": "src/core/components/pubsub.js", - "semi_transient": false, - "settings": - { - "buffer_size": 1317, - "regions": - { - }, - "selection": - [ - [ - 728, - 728 - ] - ], - "settings": - { - "syntax": "Packages/Babel/JavaScript (Babel).sublime-syntax" - }, - "translation.x": 0.0, - "translation.y": 685.0, - "zoom_level": 1.0 - }, - "stack_index": 0, - "type": "text" - }, - { - "buffer": 4, - "file": "/Users/samuli/code/js-ipfs-api-haadcode/src/api/pubsub.js", - "semi_transient": false, - "settings": - { - "buffer_size": 3041, - "regions": - { - }, - "selection": - [ - [ - 2207, - 2350 - ] - ], - "settings": - { - "syntax": "Packages/Babel/JavaScript (Babel).sublime-syntax" - }, - "translation.x": 0.0, - "translation.y": 1584.0, - "zoom_level": 1.0 - }, - "stack_index": 1, - "type": "text" - }, - { - "buffer": 5, - "file": "src/core/components/object.js", - "semi_transient": false, - "settings": - { - "buffer_size": 5527, - "regions": - { - }, - "selection": - [ - [ - 1965, - 2058 - ] - ], - "settings": - { - "syntax": "Packages/Babel/JavaScript (Babel).sublime-syntax" - }, - "translation.x": 0.0, - "translation.y": 2363.0, - "zoom_level": 1.0 - }, - "stack_index": 4, - "type": "text" - } - ] - } - ], - "incremental_find": - { - "height": 28.0 - }, - "input": - { - "height": 69.0 - }, - "layout": - { - "cells": - [ - [ - 0, - 0, - 1, - 1 - ] - ], - "cols": - [ - 0.0, - 1.0 - ], - "rows": - [ - 0.0, - 1.0 - ] - }, - "menu_visible": true, - "output.find_results": - { - "height": 0.0 - }, - "pinned_build_system": "", - "project": "js-ipfs.sublime-project", - "replace": - { - "height": 96.0 - }, - "save_all_on_build": true, - "select_file": - { - "height": 0.0, - "last_filter": "", - "selected_items": - [ - [ - "pac", - "package.json" - ], - [ - "pubsub", - "node_modules/orbit-db-pubsub/src/ipfs-pubsub.js" - ], - [ - "webpa", - "conf/webpack.example.config.js" - ], - [ - "read", - "README.md" - ], - [ - "arrayinde", - "src/ArrayIndex.js" - ], - [ - "store.", - "node_modules/orbit-db-store/src/Store.js" - ], - [ - "orbit", - "src/OrbitDB.js" - ], - [ - "api", - "API.md" - ], - [ - "bench", - "examples/benchmark.js" - ], - [ - "eventlog", - "examples/eventlog.js" - ], - [ - "store.js", - "node_modules/orbit-db-store/src/Store.js" - ], - [ - "ipfs-da", - "node_modules/ipfs-daemon/ipfs-daemon.js" - ], - [ - "merkleda", - "node_modules/ipfs-merkle-dag/src/merkledag.proto" - ], - [ - "merkle", - "node_modules/ipfs-merkle-dag/lib/merkledag.proto" - ], - [ - "dist/index", - "node_modules/ipfs-api/dist/index.js" - ], - [ - "counter", - "node_modules/orbit-db-counterstore/src/CounterIndex.js" - ], - [ - "ipfsd-ctl/", - "node_modules/ipfsd-ctl/src/index.js" - ], - [ - "request-a", - "node_modules/ipfs-api/lib/request-api.js" - ], - [ - "orbitdb", - "src/OrbitDB.js" - ], - [ - ".proto", - "node_modules/ipfs-merkle-dag/lib/merkledag.proto" - ], - [ - "merkel", - "node_modules/ipfs-merkle-dag/src/merkledag.proto" - ], - [ - "merk.proto", - "node_modules/ipfs-merkle-dag/lib/merkledag.proto" - ], - [ - "cac", - "src/Cache.js" - ], - [ - "log.js", - "orbit-db/node_modules/ipfs-log/src/log.js" - ], - [ - "cach", - "orbit-db/src/Cache.js" - ], - [ - "counters", - "orbit-db/node_modules/orbit-db-counterstore/src/CounterStore.js" - ], - [ - "cir", - "orbit-db/circle.yml" - ], - [ - "web", - "orbit-db/webpack.config.js" - ], - [ - "ben", - "orbit-db/examples/benchmark.js" - ], - [ - "or", - "orbit-db/src/OrbitDB.js" - ], - [ - "benchma", - "orbit-db/examples/benchmark.js" - ], - [ - "readm", - "orbit-db/node_modules/colors/ReadMe.md" - ], - [ - "store", - "orbit-db/node_modules/orbit-db-store/src/Store.js" - ], - [ - "cache", - "orbit-db/node_modules/orbit-db-store/src/Cache.js" - ], - [ - "pubs", - "orbit-db/src/PubSub.js" - ], - [ - "log", - "orbit-db/node_modules/async/log.js" - ], - [ - "pa", - "orbit-db/package.json" - ], - [ - "minifi", - "orbit-db/webpack.config.minified.js" - ], - [ - "src/store.js", - "orbit-db/node_modules/orbit-db-store/src/Store.js" - ], - [ - "arras", - "orbit-db/src/ArrayStore.js" - ], - [ - "arra", - "orbit-db/src/ArrayIndex.js" - ], - [ - "pub", - "src/PubSub.js" - ], - [ - "entry", - "node_modules/ipfs-log/src/entry.js" - ], - [ - "webp", - "webpack.example.config.js" - ], - [ - "vag", - "Vagrantfile" - ], - [ - "cou", - "test/counterdb.test.js" - ], - [ - "key", - "examples/keyvalue.js" - ], - [ - "pu", - "src/PubSub.js" - ], - [ - ".test", - "test/client.test.js" - ], - [ - "clie", - "test/client.test.js" - ], - [ - "cli", - "test/client.test.js" - ], - [ - "be", - "examples/benchmark.js" - ], - [ - "re", - "README.md" - ], - [ - "ca", - "src/oplog/Cache.js" - ], - [ - "pubsu", - "src/PubSub.js" - ], - [ - "orbi", - "src/OrbitDB.js" - ], - [ - "keyva", - "src/stores/kvstore/KeyValueIndex.js" - ], - [ - "eve", - "src/stores/eventlog/EventIndex.js" - ], - [ - "defa", - "src/stores/DefaultIndex.js" - ], - [ - "count", - "src/stores/counters/CounterIndex.js" - ], - [ - "ope", - "src/oplog/OperationsLog.js" - ], - [ - "net", - "network.json" - ], - [ - "ke", - "examples/keyvalue.js" - ], - [ - "sto", - "src/stores/Store.js" - ], - [ - "s", - "src/stores/Store.js" - ], - [ - "kv", - "src/stores/kvstore/KeyValueStore.js" - ], - [ - "coun", - "src/stores/counters/CounterIndex.js" - ], - [ - "even", - "src/stores/eventlog/EventStore.js" - ], - [ - "p", - "package.json" - ], - [ - "benc", - "examples/benchmark-kv.js" - ], - [ - "me", - "src/post/MetaInfo.js" - ], - [ - "pos", - "src/post/Post.js" - ], - [ - "event", - "src/db/EventLogIndex.js" - ], - [ - "brow", - "examples/browser.html" - ], - [ - "inde", - "examples/index.html" - ], - [ - "bro", - "examples/browser.js" - ], - [ - "op", - "src/db/Operation.js" - ], - [ - "def", - "src/db/DefaultIndex.js" - ], - [ - "de", - "src/db/DefaultIndex.js" - ], - [ - "gcou", - "src/db/GCounter.js" - ], - [ - ".gi", - ".gitignore" - ], - [ - "gc", - "src/db/GCounter.js" - ], - [ - "ag", - "src/db/Aggregator.js" - ], - [ - "orbitdbi", - "src/post/OrbitDBItem.js" - ], - [ - "opt", - "src/db/OpTypes.js" - ], - [ - "po", - "src/post/Post.js" - ], - [ - "reade", - "examples/reader.js" - ], - [ - "-te", - "test/orbit-client-tests.js" - ], - [ - "clien", - "test/orbit-client-tests.js" - ], - [ - "client-t", - "test/orbit-client-tests.js" - ], - [ - "log.j", - "node_modules/ipfs-log/examples/log.js" - ], - [ - "orbit-cli", - "test/orbit-client-tests.js" - ], - [ - "orbitno", - "src/list/OrbitNode.js" - ], - [ - "orbit-list", - "test/orbit-list-tests.js" - ], - [ - "archi", - "docs/architecture.md" - ], - [ - "promised", - "node_modules/orbit-common/lib/ipfs-api-promised.js" - ], - [ - "lis", - "src/list/List.js" - ], - [ - "list-node", - "test/orbitlist-node-tests.js" - ], - [ - "node", - "src/list/Node.js" - ], - [ - "opty", - "src/db/OpTypes.js" - ], - [ - "client", - "src/Client.js" - ], - [ - "orbitdbite", - "src/post/OrbitDBItem.js" - ], - [ - "post", - "src/post/Post.js" - ], - [ - "node-te", - "test/list-node-tests.js" - ], - [ - "client-te", - "test/orbit-client-tests.js" - ], - [ - "list-te", - "test/list-tests.js" - ], - [ - "orbit-node", - "test/orbitlist-node-tests.js" - ], - [ - "list", - "src/list/List.js" - ], - [ - "orbit-li", - "test/orbit-list-tests.js" - ], - [ - "ar", - "docs/architecture.md" - ], - [ - "text", - "src/post/TextPost.js" - ], - [ - "base", - "src/post/BasePost.js" - ], - [ - "file", - "src/post/FilePost.js" - ], - [ - "dir", - "src/post/DirectoryPost.js" - ], - [ - "list-tes", - "test/orbit-list-tests.js" - ], - [ - "meta", - "src/post/MetaInfo.js" - ], - [ - "di", - "src/post/DirectoryPost.js" - ], - [ - "dire", - "src/post/DirectoryPost.js" - ], - [ - "arc", - "docs/architecture.md" - ], - [ - "promise", - "node_modules/orbit-common/lib/ipfs-api-promised.js" - ], - [ - "rea", - "examples/reader.js" - ], - [ - "orbitnode", - "src/list/OrbitNode.js" - ], - [ - "ornode", - "src/list/OrbitNode.js" - ], - [ - "orbit-list-", - "test/orbit-list-tests.js" - ], - [ - "orbitlis", - "src/list/OrbitList.js" - ], - [ - "wreck/inde", - "node_modules/orbit-common/node_modules/ipfsd-ctl/node_modules/ipfs-api/node_modules/wreck/lib/index.js" - ], - [ - "request-api", - "node_modules/orbit-common/node_modules/ipfsd-ctl/node_modules/ipfs-api/src/request-api.js" - ], - [ - "dbite", - "src/post/OrbitDBItem.js" - ] - ], - "width": 0.0 - }, - "select_project": - { - "height": 500.0, - "last_filter": "db", - "selected_items": - [ - [ - "db", - "~/code/orbit-db/orbit-db.sublime-project" - ], - [ - "pubsub", - "~/code/orbit-db-pubsub/orbit-db-pubsub.sublime-project" - ], - [ - "ano", - "~/code/anonymous-networks/anonymous-networks.sublime-project" - ], - [ - "labe", - "~/code/labels-and-milestones/labels-and-milestones.sublime-project" - ], - [ - "test", - "~/code/ipfs-test-apis/ipfs-test-apis.sublime-project" - ], - [ - "", - "~/code/anonymous-networks/anonymous-networks.sublime-project" - ], - [ - "dae", - "~/code/ipfs-daemon/ipfs-daemon.sublime-project" - ], - [ - "proto3", - "~/code/proto3/proto3.sublime-project" - ], - [ - "js", - "~/code/js-ipfs-api-haadcode/js-ipfs-api.sublime-project" - ], - [ - "crypto", - "~/code/orbit-crypto/orbit-crypto.sublime-project" - ], - [ - "pub", - "~/code/orbit-db-pubsub/orbit-db-pubsub.sublime-project" - ], - [ - "colog", - "~/go/src/github.com/keks/go-ipfs-colog/go-ipfs-colog.sublime-project" - ], - [ - "core", - "~/code/orbit-core/orbit-core.sublime-project" - ], - [ - "kv", - "~/code/orbit-db-kvstore/orbit-db-kvstore.sublime-project" - ], - [ - "text", - "~/code/orbit-textui/orbit-textui.sublime-project" - ], - [ - "feed", - "~/code/orbit-db-feedstore/orbit-db-feedstore.sublime-project" - ], - [ - "coun", - "~/code/orbit-db-counterstore/orbit-db-counterstore.sublime-project" - ], - [ - "even", - "~/code/orbit-db-eventstore/orbit-db-eventstore.sublime-project" - ], - [ - "ipfs-dae", - "~/code/ipfs-daemon/ipfs-daemon.sublime-project" - ], - [ - "ipfs-a", - "~/code/js-ipfs-api-haadcode/js-ipfs-api.sublime-project" - ], - [ - "ipfs", - "~/code/js-ipfs-api-haadcode/js-ipfs-api.sublime-project" - ], - [ - "log", - "~/code/ipfs-log/ipfs-log.sublime-project" - ], - [ - "ipfsd", - "~/code/js-ipfsd-ctl/js-ipfsd-ctl.sublime-project" - ], - [ - "gim", - "~/code/gimme-ipfs-daemon/gimme-ipfs-daemon.sublime-project" - ], - [ - "gi", - "~/code/gimme-ipfs-daemon/gimme-ipfs-daemon.sublime-project" - ], - [ - "gimm", - "~/code/gimme-ipfs-daemon/gimme-ipfs-daemon.sublime-project" - ], - [ - "count", - "~/code/orbit-db-counterstore/orbit-db-counterstore.sublime-project" - ], - [ - "js-ip", - "~/code/js-ipfs-api-haadcode/js-ipfs-api.sublime-project" - ], - [ - "ipfs-api", - "~/code/js-ipfs-api-haadcode/js-ipfs-api.sublime-project" - ], - [ - "events", - "~/code/orbit-db-eventstore/orbit-db-eventstore.sublime-project" - ], - [ - "pubsu", - "~/code/orbit-db-pubsub/orbit-db-pubsub.sublime-project" - ], - [ - "fee", - "~/code/orbit-db-feedstore/orbit-db-feedstore.sublime-project" - ], - [ - "kvs", - "~/code/orbit-db-kvstore/orbit-db-kvstore.sublime-project" - ], - [ - "event", - "~/code/orbit-db-eventstore/orbit-db-eventstore.sublime-project" - ], - [ - "eve", - "~/code/orbit-db-eventstore/orbit-db-eventstore.sublime-project" - ], - [ - "store", - "~/code/orbit-db-store/orbit-db-store.sublime-project" - ], - [ - "sto", - "~/code/orbit-db-store/orbit-store.sublime-workspace" - ], - [ - "js-ipfs", - "~/code/js-ipfs-api-haadcode/js-ipfs-api.sublime-project" - ], - [ - "co", - "~/code/orbit-core/orbit-core.sublime-project" - ], - [ - "pu", - "~/code/orbit-db-pubsub/orbit-db-pubsub.sublime-project" - ], - [ - "api", - "~/code/js-ipfs-api-haadcode/js-ipfs-api.sublime-project" - ], - [ - "a", - "~/code/anonymous-networks/anonymous-networks.sublime-project" - ], - [ - "cou", - "~/code/orbit-db-counterstore/orbit-db-counterstore.sublime-project" - ], - [ - "pro", - "~/code/proto2/proto2.sublime-project" - ], - [ - "ipfslg", - "~/code/ipfs-log/ipfs-log.sublime-project" - ], - [ - "proto", - "~/code/protocollabs/protocollabs.sublime-project" - ], - [ - "proto2", - "~/code/proto2/proto2.sublime-project" - ], - [ - "or", - "~/code/orbit-server/orbit-server.sublime-project" - ], - [ - "logpl", - "~/code/logplease/logplease.sublime-project" - ], - [ - "lo", - "~/code/ipfs-log/ipfs-log.sublime-project" - ], - [ - "ser", - "~/code/orbit-server/orbit-server.sublime-project" - ], - [ - "orbitd", - "~/code/tmp/orbit-db/orbitdb-ipfs.sublime-project" - ], - [ - "s", - "~/code/orbit-db-store/orbit-db-store.sublime-project" - ], - [ - "st", - "~/code/orbit-db-store/orbit-db-store.sublime-project" - ], - [ - "an", - "~/code/anonymous-networks/anonymous-networks.sublime-project" - ], - [ - "ip", - "~/code/ipfs-log/ipfs-log.sublime-project" - ], - [ - "crd", - "~/code/crdts/crdts.sublime-project" - ], - [ - "l", - "~/code/ipfs-log/ipfs-log.sublime-project" - ], - [ - "pr", - "~/code/proto1/proto1.sublime-workspace" - ], - [ - "cr", - "~/code/crdts/crdts.sublime-project" - ], - [ - "orbit", - "~/code/orbit-common/orbit-common.sublime-project" - ], - [ - "orbit-c", - "~/code/orbit-common/orbit-common.sublime-project" - ], - [ - "se", - "~/code/orbit-server/orbit-server.sublime-project" - ], - [ - "ipg", - "~/code/ipfs-log/ipfs-log.sublime-project" - ], - [ - "com", - "~/code/orbit-common/orbit-common.sublime-project" - ], - [ - "cl", - "~/code/orbit-client/orbit-client.sublime-project" - ], - [ - "o", - "~/code/orbit-server/orbit-server.sublime-project" - ], - [ - "n", - "~/code/anonymous-networks/anonymous-networks.sublime-project" - ], - [ - "anon", - "~/code/anonymous-networks/anonymous-networks.sublime-project" - ] - ], - "width": 380.0 - }, - "select_symbol": - { - "height": 354.0, - "last_filter": "", - "selected_items": - [ - ], - "width": 853.0 - }, - "selected_group": 0, - "settings": - { - }, - "show_minimap": true, - "show_open_files": true, - "show_tabs": true, - "side_bar_visible": true, - "side_bar_width": 244.0, - "status_bar_visible": true, - "template_settings": - { - } -}