mirror of https://codeberg.org/pzp/pzp-hub.git
update to ppppp-net
This commit is contained in:
parent
4febda05ef
commit
c7510947b5
|
@ -11,7 +11,7 @@ module.exports = function startPeer() {
|
||||||
return SecretStack()
|
return SecretStack()
|
||||||
.use(require('secret-stack/plugins/net'))
|
.use(require('secret-stack/plugins/net'))
|
||||||
.use(require('secret-handshake-ext/secret-stack'))
|
.use(require('secret-handshake-ext/secret-stack'))
|
||||||
.use(require('ssb-conn'))
|
.use(require('ppppp-net'))
|
||||||
.use(require('./plugin-hub.cjs'))
|
.use(require('./plugin-hub.cjs'))
|
||||||
.use(require('./plugin-hub-client.cjs'))
|
.use(require('./plugin-hub-client.cjs'))
|
||||||
.call(null, {
|
.call(null, {
|
||||||
|
@ -38,7 +38,7 @@ module.exports = function startPeer() {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
conn: {
|
net: {
|
||||||
autostart: false,
|
autostart: false,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
const bs58 = require('bs58')
|
||||||
const cat = require('pull-cat')
|
const cat = require('pull-cat')
|
||||||
const Notify = require('pull-notify')
|
const Notify = require('pull-notify')
|
||||||
const pull = require('pull-stream')
|
const pull = require('pull-stream')
|
||||||
|
@ -17,10 +18,22 @@ function ErrorDuplex(message) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {Array<[any, any]>} parsedAddress
|
||||||
|
* @returns {string | undefined}
|
||||||
|
*/
|
||||||
|
function extractSHSEPubkey(parsedAddress) {
|
||||||
|
for (const [transport, transform] of parsedAddress) {
|
||||||
|
if (transform.name === 'shse') {
|
||||||
|
return bs58.encode(transform.pubkey)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'hub',
|
name: 'hub',
|
||||||
version: '1.0.0',
|
version: '1.0.0',
|
||||||
// needs: ['conn'], // FIXME: uncomment once we re-write conn
|
needs: ['net'],
|
||||||
manifest: {
|
manifest: {
|
||||||
createTunnel: 'duplex',
|
createTunnel: 'duplex',
|
||||||
ping: 'sync',
|
ping: 'sync',
|
||||||
|
@ -65,14 +78,15 @@ module.exports = {
|
||||||
const notifyAttendants = Notify()
|
const notifyAttendants = Notify()
|
||||||
|
|
||||||
pull(
|
pull(
|
||||||
peer.conn.hub().listen(),
|
peer.net.listen(),
|
||||||
pull.filter(
|
pull.filter(
|
||||||
({ type }) => type === 'connecting-failed' || type === 'disconnected'
|
({ type }) => type === 'connecting-failed' || type === 'disconnected'
|
||||||
),
|
),
|
||||||
pull.filter(({ key }) => !!key && attendants.has(key)),
|
pull.map(({ parsedAddress }) => extractSHSEPubkey(parsedAddress)),
|
||||||
pull.drain(({ key }) => {
|
pull.filter((pubkey) => !!pubkey && attendants.has(pubkey)),
|
||||||
debug('farewell %s', key)
|
pull.drain((pubkey) => {
|
||||||
attendants.delete(key)
|
debug('farewell %s', pubkey)
|
||||||
|
attendants.delete(pubkey)
|
||||||
notifyAttendants([...attendants.keys()])
|
notifyAttendants([...attendants.keys()])
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue