Better logging for connected peers

This commit is contained in:
Daniel Lugo 2021-09-14 13:29:28 -04:00
parent f98df77967
commit 10d309a8d6
3 changed files with 31 additions and 2 deletions

View file

@ -268,6 +268,9 @@ function createReplica(path, afterMap = false) {
// TODO // TODO
} }
}, },
back() {
throw new Error('Do not use back() on a GunSmith node.')
},
get(key) { get(key) {
if (afterMap) { if (afterMap) {
throw new Error( throw new Error(

View file

@ -60,6 +60,23 @@ namespace GunT {
export interface GUNNode { export interface GUNNode {
_: Soul _: Soul
/**
* Used only inside the subprocess.
*/
back(
path: 'opt'
): {
peers: Record<
string,
{
url: string
id: string
wire?: {
readyState: number
}
}
>
}
get(key: string): GUNNode get(key: string): GUNNode
load(this: GUNNode, cb?: LoadListener): GUNNode load(this: GUNNode, cb?: LoadListener): GUNNode
map(): GUNNode map(): GUNNode

View file

@ -71,9 +71,18 @@ const handleMsg = msg => {
} }
if (msg.type === 'init') { if (msg.type === 'init') {
gun = /** @type {any} */ (new Gun(msg.opts)) gun = /** @type {any} */ (new Gun(msg.opts))
let lastPeers = ''
setInterval(() => { setInterval(() => {
// @ts-expect-error const newPeers = JSON.stringify(
console.log(Object.keys(gun.back('opt').peers)) Object.values(gun.back('opt').peers)
.filter(p => p.wire && p.wire.readyState)
.map(p => p.url)
)
if (newPeers !== lastPeers) {
console.log('Connected peers:', newPeers)
lastPeers = newPeers
}
}, 2000) }, 2000)
user = gun.user() user = gun.user()
} }