Skip to content
This repository was archived by the owner on Jun 3, 2020. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions dat/extensions.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ exports.getPeer = getPeer
function broadcastEphemeralMessage (archive, payload) {
datEphemeralExtMsg.broadcast(archive, encodeEphemeralMsg(payload))
}
exports.broadcastEphemeralMessage =broadcastEphemeralMessage
exports.broadcastEphemeralMessage = broadcastEphemeralMessage

// impl for datPeers.send(peerId, msg)
function sendEphemeralMessage (archive, peerId, payload) {
Expand Down Expand Up @@ -186,4 +186,4 @@ function decodeSessionData (sessionData) {
console.error('Failed to parse local session data', e, sessionData)
return null
}
}
}
5 changes: 2 additions & 3 deletions dat/folder-sync.js
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,7 @@ const syncFolderToArchive = exports.syncFolderToArchive = function (archive, opt
const ensureSyncFinished = exports.ensureSyncFinished = async function (archive) {
var isFinished
var release = await getArchiveSyncLock(archive)
try { isFinished = (archive._activeSyncs == 0) }
finally { release() }
try { isFinished = (archive._activeSyncs == 0) } finally { release() }
if (!isFinished) {
return ensureSyncFinished(archive) // check again
}
Expand Down Expand Up @@ -182,7 +181,7 @@ exports.configureFolderToArchiveWatcher = async function (archive) {
// no need to setup watcher
// just do an add-only sync from archive->folder
await sync(archive, false, {shallow: false, addOnly: true})
if (shouldAbort()) return
if (shouldAbort()) return // eslint-disable-line no-useless-return
} else {
// sync up
try {
Expand Down
2 changes: 1 addition & 1 deletion dat/library.js
Original file line number Diff line number Diff line change
Expand Up @@ -456,7 +456,7 @@ const getArchive = exports.getArchive = function getArchive (key) {
return archives[key]
}

const getArchiveCheckout = exports.getArchiveCheckout = function getArchiveCheckout (archive, version) {
exports.getArchiveCheckout = function getArchiveCheckout (archive, version) {
var isHistoric = false
var isPreview = false
var checkoutFS = archive
Expand Down
2 changes: 1 addition & 1 deletion dat/logging-utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ function has (str, v) {
return str.indexOf(v) !== -1
}

const addArchiveSwarmLogging = exports.addArchiveSwarmLogging = function ({archivesByDKey, log, archiveSwarm}) {
exports.addArchiveSwarmLogging = function ({archivesByDKey, log, archiveSwarm}) {
archiveSwarm.on('listening', () => {
archiveSwarm._discovery.dns.on('traffic', (type, details) => {
let archive = archivesByDKey[getDNSMessageDiscoveryKey(archivesByDKey, details.message)]
Expand Down
4 changes: 2 additions & 2 deletions dat/storage.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ var supportsSparseFiles = false

exports.setup = async function () {
await new Promise((resolve) => {
detectSparseFiles(function (err, yes) {
detectSparseFiles(function (_, yes) {
supportsSparseFiles = yes
if (!yes) {
debug('Sparse-file support not detected. Falling back to indexed data files.')
Expand Down Expand Up @@ -51,4 +51,4 @@ exports.create = function (folder) {
metadata: createStorage(folder, 'metadata'),
content: createStorage(folder, 'content')
}
}
}
4 changes: 2 additions & 2 deletions dbs/archive-drafts.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ exports.list = async function (profileId, masterKey) {
// get draft list
var records = await db.all(`SELECT draftKey as key FROM archive_drafts WHERE profileId = ? AND masterKey = ? ORDER BY createdAt`, [profileId, masterKey])
// fetch full info from archives db
return Promise.all(records.map(async ({key}) => archivesDb.query(profileId, {key, showHidden: true})))
return Promise.all(records.map(({key}) => archivesDb.query(profileId, {key, showHidden: true})))
}

exports.add = function (profileId, masterKey, draftKey) {
Expand All @@ -27,4 +27,4 @@ exports.getMaster = async function (profileId, draftKey) {
var record = await db.get(`SELECT masterKey as key FROM archive_drafts WHERE profileId = ? AND draftKey = ?`, [profileId, draftKey])
if (record) return record.key
return draftKey
}
}
1 change: 0 additions & 1 deletion dbs/profile-data-db.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
const sqlite3 = require('sqlite3')
const path = require('path')
const fs = require('fs')
const {cbPromise} = require('../lib/functions')
const {setupSqliteDB} = require('../lib/db')

Expand Down
1 change: 0 additions & 1 deletion dbs/sitedata.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

119 changes: 119 additions & 0 deletions hyperswarm/peer-socket-schemas.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
// This file is auto generated by the protocol-buffers compiler

/* eslint-disable quotes */
/* eslint-disable indent */
/* eslint-disable no-redeclare */
/* eslint-disable camelcase */

// Remember to `npm install --save protocol-buffers-encodings`
var encodings = require('protocol-buffers-encodings')
var varint = encodings.varint
var skip = encodings.skip

exports.PeerSocketMessageType = {
"MESSAGE": 0,
"SESSION_DATA": 1
}

var PeerSocketMessage = exports.PeerSocketMessage = {
buffer: true,
encodingLength: null,
encode: null,
decode: null
}

definePeerSocketMessage()

function definePeerSocketMessage () {
var enc = [
encodings.enum,
encodings.bytes,
encodings.string
]

PeerSocketMessage.encodingLength = encodingLength
PeerSocketMessage.encode = encode
PeerSocketMessage.decode = decode

function encodingLength (obj) {
var length = 0
if (defined(obj.messageType)) {
var len = enc[0].encodingLength(obj.messageType)
length += 1 + len
}
if (!defined(obj.content)) throw new Error("content is required")
var len = enc[1].encodingLength(obj.content)
length += 1 + len
if (defined(obj.contentType)) {
var len = enc[2].encodingLength(obj.contentType)
length += 1 + len
}
return length
}

function encode (obj, buf, offset) {
if (!offset) offset = 0
if (!buf) buf = Buffer.allocUnsafe(encodingLength(obj))
var oldOffset = offset
if (defined(obj.messageType)) {
buf[offset++] = 8
enc[0].encode(obj.messageType, buf, offset)
offset += enc[0].encode.bytes
}
if (!defined(obj.content)) throw new Error("content is required")
buf[offset++] = 18
enc[1].encode(obj.content, buf, offset)
offset += enc[1].encode.bytes
if (defined(obj.contentType)) {
buf[offset++] = 26
enc[2].encode(obj.contentType, buf, offset)
offset += enc[2].encode.bytes
}
encode.bytes = offset - oldOffset
return buf
}

function decode (buf, offset, end) {
if (!offset) offset = 0
if (!end) end = buf.length
if (!(end <= buf.length && offset <= buf.length)) throw new Error("Decoded message is not valid")
var oldOffset = offset
var obj = {
messageType: 0,
content: null,
contentType: ""
}
var found1 = false
while (true) {
if (end <= offset) {
if (!found1) throw new Error("Decoded message is not valid")
decode.bytes = offset - oldOffset
return obj
}
var prefix = varint.decode(buf, offset)
offset += varint.decode.bytes
var tag = prefix >> 3
switch (tag) {
case 1:
obj.messageType = enc[0].decode(buf, offset)
offset += enc[0].decode.bytes
break
case 2:
obj.content = enc[1].decode(buf, offset)
offset += enc[1].decode.bytes
found1 = true
break
case 3:
obj.contentType = enc[2].decode(buf, offset)
offset += enc[2].decode.bytes
break
default:
offset = skip(prefix & 7, buf, offset)
}
}
}
}

function defined (val) {
return val !== null && val !== undefined && (typeof val !== 'number' || !isNaN(val))
}
9 changes: 9 additions & 0 deletions hyperswarm/peer-socket-schemas.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
enum PeerSocketMessageType {
MESSAGE = 0;
SESSION_DATA = 1;
}
message PeerSocketMessage {
optional PeerSocketMessageType messageType = 1 [default = MESSAGE];
required bytes content = 2;
optional string contentType = 3;
}
Loading