mirror of
https://github.com/fluencelabs/dashboard
synced 2025-04-25 07:42:16 +00:00
Remove getAll
This commit is contained in:
parent
25fe108889
commit
fb140f666a
@ -18,7 +18,7 @@ func askAllAndSend(peer: PeerId, collectPeerInfo: PeerInfoCb, collectServiceInte
|
|||||||
modules <- Dist.list_modules()
|
modules <- Dist.list_modules()
|
||||||
services <- Srv.list()
|
services <- Srv.list()
|
||||||
collectPeerInfo(peer, ident, services, blueprints, modules)
|
collectPeerInfo(peer, ident, services, blueprints, modules)
|
||||||
collectServiceInterfaces(peer, services, collectServiceInterface)
|
-- collectServiceInterfaces(peer, services, collectServiceInterface)
|
||||||
|
|
||||||
-- retrieve PeerInfo and ServiceInterface-s from each peer in `peers`
|
-- retrieve PeerInfo and ServiceInterface-s from each peer in `peers`
|
||||||
func getServicesFromPeers(
|
func getServicesFromPeers(
|
||||||
@ -39,16 +39,12 @@ func discoverNeighbourhood(relay: PeerId, collectNeighbors: []string -> ()):
|
|||||||
neighbors2 <- Kademlia.neighborhood(%init_peer_id%, nil, nil)
|
neighbors2 <- Kademlia.neighborhood(%init_peer_id%, nil, nil)
|
||||||
collectNeighbors(neighbors2)
|
collectNeighbors(neighbors2)
|
||||||
|
|
||||||
func getAll(
|
func discoverNeighbourhoodFull(relay: PeerId, knownPeers: []PeerId, collectNeighbors: []string -> ()):
|
||||||
relay: PeerId,
|
for node <- knownPeers par:
|
||||||
knownPeers: []PeerId,
|
on node via relay:
|
||||||
collectPeerInfo: PeerInfoCb,
|
neighbors <- Kademlia.neighborhood(%init_peer_id%, nil, nil)
|
||||||
collectServiceInterface: ServiceInterfaceCb,
|
co collectNeighbors(neighbors)
|
||||||
collectNeighbors: []string -> ()
|
for n <- neighbors par:
|
||||||
):
|
on n:
|
||||||
co askAllAndSend(relay, collectPeerInfo, collectServiceInterface)
|
neighbors2 <- Kademlia.neighborhood(%init_peer_id%, nil, nil)
|
||||||
|
collectNeighbors(neighbors2)
|
||||||
for peer <- knownPeers par:
|
|
||||||
askAllAndSend(peer, collectPeerInfo, collectServiceInterface)
|
|
||||||
|
|
||||||
co discoverNeighbourhood(relay, collectNeighbors)
|
|
||||||
|
6
package-lock.json
generated
6
package-lock.json
generated
@ -998,9 +998,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@fluencelabs/aqua-cli": {
|
"@fluencelabs/aqua-cli": {
|
||||||
"version": "0.1.9-165",
|
"version": "0.1.10-188",
|
||||||
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-cli/-/aqua-cli-0.1.9-165.tgz",
|
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-cli/-/aqua-cli-0.1.10-188.tgz",
|
||||||
"integrity": "sha512-DBcPRxzJiQCdnur2wVgX47CRccTSoXhDPwURh8IW8RuP0vI+F8MWRcqdxT9DDDMe396e9je3f7g2bT8gfif1SQ==",
|
"integrity": "sha512-3StvE+xevgQVsGwHGpSY+OuXx86N89MxUpguvZfwufRuSLIO++aMmUGUC14GFc7LQelcP86h6pFZ5o7pNYEIVw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@fluencelabs/aqua-lib": {
|
"@fluencelabs/aqua-lib": {
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
"yup": "^0.32.9"
|
"yup": "^0.32.9"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@fluencelabs/aqua-cli": "0.1.9-165",
|
"@fluencelabs/aqua-cli": "0.1.10-188",
|
||||||
"@fluencelabs/aqua-lib": "0.1.13",
|
"@fluencelabs/aqua-lib": "0.1.13",
|
||||||
"@babel/core": "^7.11.6",
|
"@babel/core": "^7.11.6",
|
||||||
"@babel/preset-env": "^7.11.5",
|
"@babel/preset-env": "^7.11.5",
|
||||||
|
417
src/_aqua/app.js
417
src/_aqua/app.js
@ -3,7 +3,7 @@
|
|||||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||||
* Aqua version: 0.1.9-165
|
* Aqua version: 0.1.10-188
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
import { RequestFlowBuilder } from '@fluencelabs/fluence/dist/api.unstable';
|
import { RequestFlowBuilder } from '@fluencelabs/fluence/dist/api.unstable';
|
||||||
@ -33,53 +33,24 @@ export async function askAllAndSend(client, peer, collectPeerInfo, collectServic
|
|||||||
(seq
|
(seq
|
||||||
(seq
|
(seq
|
||||||
(seq
|
(seq
|
||||||
(seq
|
(call peer ("peer" "identify") [] ident)
|
||||||
(seq
|
(call peer ("dist" "list_blueprints") [] blueprints)
|
||||||
(call peer ("peer" "identify") [] ident)
|
|
||||||
(call peer ("dist" "list_blueprints") [] blueprints)
|
|
||||||
)
|
|
||||||
(call peer ("dist" "list_modules") [] modules)
|
|
||||||
)
|
|
||||||
(call peer ("srv" "list") [] services)
|
|
||||||
)
|
)
|
||||||
(call -relay- ("op" "noop") [])
|
(call peer ("dist" "list_modules") [] modules)
|
||||||
)
|
|
||||||
(xor
|
|
||||||
(call %init_peer_id% ("callbackSrv" "collectPeerInfo") [peer ident services blueprints modules])
|
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
|
||||||
)
|
)
|
||||||
|
(call peer ("srv" "list") [] services)
|
||||||
)
|
)
|
||||||
(call -relay- ("op" "noop") [])
|
(call -relay- ("op" "noop") [])
|
||||||
)
|
)
|
||||||
(fold services srv
|
(xor
|
||||||
(par
|
(call %init_peer_id% ("callbackSrv" "collectPeerInfo") [peer ident services blueprints modules])
|
||||||
(seq
|
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||||
(call -relay- ("op" "noop") [])
|
|
||||||
(xor
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(call peer ("srv" "get_interface") [srv.$.id!] iface)
|
|
||||||
(call -relay- ("op" "noop") [])
|
|
||||||
)
|
|
||||||
(xor
|
|
||||||
(call %init_peer_id% ("callbackSrv" "collectServiceInterface") [peer srv.$.id! iface])
|
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(seq
|
|
||||||
(call -relay- ("op" "noop") [])
|
|
||||||
(next srv)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4])
|
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 5])
|
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
|
||||||
)
|
)
|
||||||
|
|
||||||
`,
|
`,
|
||||||
@ -113,222 +84,6 @@ h.on('callbackSrv', 'collectServiceInterface', (args) => {collectServiceInterfac
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
export async function getAll(client, relay, knownPeers, collectPeerInfo, collectServiceInterface, collectNeighbors, config) {
|
|
||||||
let request;
|
|
||||||
config = config || {};
|
|
||||||
const promise = new Promise((resolve, reject) => {
|
|
||||||
var r = new RequestFlowBuilder()
|
|
||||||
.disableInjections()
|
|
||||||
.withRawScript(
|
|
||||||
`
|
|
||||||
(xor
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
|
||||||
(call %init_peer_id% ("getDataSrv" "relay") [] relay)
|
|
||||||
)
|
|
||||||
(call %init_peer_id% ("getDataSrv" "knownPeers") [] knownPeers)
|
|
||||||
)
|
|
||||||
(par
|
|
||||||
(seq
|
|
||||||
(call -relay- ("op" "noop") [])
|
|
||||||
(xor
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(call relay ("peer" "identify") [] ident)
|
|
||||||
(call relay ("dist" "list_blueprints") [] blueprints)
|
|
||||||
)
|
|
||||||
(call relay ("dist" "list_modules") [] modules)
|
|
||||||
)
|
|
||||||
(call relay ("srv" "list") [] services)
|
|
||||||
)
|
|
||||||
(call -relay- ("op" "noop") [])
|
|
||||||
)
|
|
||||||
(xor
|
|
||||||
(call %init_peer_id% ("callbackSrv" "collectPeerInfo") [relay ident services blueprints modules])
|
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(call -relay- ("op" "noop") [])
|
|
||||||
)
|
|
||||||
(fold services srv
|
|
||||||
(par
|
|
||||||
(seq
|
|
||||||
(call -relay- ("op" "noop") [])
|
|
||||||
(xor
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(call relay ("srv" "get_interface") [srv.$.id!] iface)
|
|
||||||
(call -relay- ("op" "noop") [])
|
|
||||||
)
|
|
||||||
(xor
|
|
||||||
(call %init_peer_id% ("callbackSrv" "collectServiceInterface") [relay srv.$.id! iface])
|
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(seq
|
|
||||||
(call -relay- ("op" "noop") [])
|
|
||||||
(next srv)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4])
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(null)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(fold knownPeers peer
|
|
||||||
(par
|
|
||||||
(seq
|
|
||||||
(call -relay- ("op" "noop") [])
|
|
||||||
(xor
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(call peer ("peer" "identify") [] ident0)
|
|
||||||
(call peer ("dist" "list_blueprints") [] blueprints0)
|
|
||||||
)
|
|
||||||
(call peer ("dist" "list_modules") [] modules0)
|
|
||||||
)
|
|
||||||
(call peer ("srv" "list") [] services0)
|
|
||||||
)
|
|
||||||
(call -relay- ("op" "noop") [])
|
|
||||||
)
|
|
||||||
(xor
|
|
||||||
(call %init_peer_id% ("callbackSrv" "collectPeerInfo") [peer ident0 services0 blueprints0 modules0])
|
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 5])
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(call -relay- ("op" "noop") [])
|
|
||||||
)
|
|
||||||
(fold services0 srv0
|
|
||||||
(par
|
|
||||||
(seq
|
|
||||||
(call -relay- ("op" "noop") [])
|
|
||||||
(xor
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(call peer ("srv" "get_interface") [srv0.$.id!] iface0)
|
|
||||||
(call -relay- ("op" "noop") [])
|
|
||||||
)
|
|
||||||
(xor
|
|
||||||
(call %init_peer_id% ("callbackSrv" "collectServiceInterface") [peer srv0.$.id! iface0])
|
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 6])
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 7])
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(seq
|
|
||||||
(call -relay- ("op" "noop") [])
|
|
||||||
(next srv0)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 8])
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(next peer)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(par
|
|
||||||
(seq
|
|
||||||
(call -relay- ("op" "noop") [])
|
|
||||||
(xor
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(call relay ("kad" "neighborhood") [%init_peer_id% $nil $nil] neighbors)
|
|
||||||
(par
|
|
||||||
(seq
|
|
||||||
(call -relay- ("op" "noop") [])
|
|
||||||
(xor
|
|
||||||
(call %init_peer_id% ("callbackSrv" "collectNeighbors") [neighbors])
|
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 9])
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(null)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(fold neighbors n
|
|
||||||
(par
|
|
||||||
(xor
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(call n ("kad" "neighborhood") [%init_peer_id% $nil $nil] neighbors2)
|
|
||||||
(call -relay- ("op" "noop") [])
|
|
||||||
)
|
|
||||||
(xor
|
|
||||||
(call %init_peer_id% ("callbackSrv" "collectNeighbors") [neighbors2])
|
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 10])
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 11])
|
|
||||||
)
|
|
||||||
(next n)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 12])
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(null)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 13])
|
|
||||||
)
|
|
||||||
|
|
||||||
`,
|
|
||||||
)
|
|
||||||
.configHandler((h) => {
|
|
||||||
h.on('getDataSrv', '-relay-', () => {
|
|
||||||
return client.relayPeerId;
|
|
||||||
});
|
|
||||||
h.on('getDataSrv', 'relay', () => {return relay;});
|
|
||||||
h.on('getDataSrv', 'knownPeers', () => {return knownPeers;});
|
|
||||||
h.on('callbackSrv', 'collectPeerInfo', (args) => {collectPeerInfo(args[0], args[1], args[2], args[3], args[4]); return {};});
|
|
||||||
h.on('callbackSrv', 'collectServiceInterface', (args) => {collectServiceInterface(args[0], args[1], args[2]); return {};});
|
|
||||||
h.on('callbackSrv', 'collectNeighbors', (args) => {collectNeighbors(args[0]); return {};});
|
|
||||||
|
|
||||||
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
|
||||||
// assuming error is the single argument
|
|
||||||
const [err] = args;
|
|
||||||
reject(err);
|
|
||||||
});
|
|
||||||
})
|
|
||||||
.handleScriptError(reject)
|
|
||||||
.handleTimeout(() => {
|
|
||||||
reject('Request timed out for getAll');
|
|
||||||
})
|
|
||||||
if(config.ttl) {
|
|
||||||
r.withTTL(config.ttl)
|
|
||||||
}
|
|
||||||
request = r.build();
|
|
||||||
});
|
|
||||||
await client.initiateFlow(request);
|
|
||||||
return Promise.race([promise, Promise.resolve()]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export async function getServicesFromPeers(client, peers, collectPeerInfo, collectServiceInterface, config) {
|
export async function getServicesFromPeers(client, peers, collectPeerInfo, collectServiceInterface, config) {
|
||||||
let request;
|
let request;
|
||||||
config = config || {};
|
config = config || {};
|
||||||
@ -353,57 +108,28 @@ export async function getServicesFromPeers(client, peers, collectPeerInfo, colle
|
|||||||
(seq
|
(seq
|
||||||
(seq
|
(seq
|
||||||
(seq
|
(seq
|
||||||
(seq
|
(call peer ("peer" "identify") [] ident)
|
||||||
(seq
|
(call peer ("dist" "list_blueprints") [] blueprints)
|
||||||
(call peer ("peer" "identify") [] ident)
|
|
||||||
(call peer ("dist" "list_blueprints") [] blueprints)
|
|
||||||
)
|
|
||||||
(call peer ("dist" "list_modules") [] modules)
|
|
||||||
)
|
|
||||||
(call peer ("srv" "list") [] services)
|
|
||||||
)
|
)
|
||||||
(call -relay- ("op" "noop") [])
|
(call peer ("dist" "list_modules") [] modules)
|
||||||
)
|
|
||||||
(xor
|
|
||||||
(call %init_peer_id% ("callbackSrv" "collectPeerInfo") [peer ident services blueprints modules])
|
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
|
||||||
)
|
)
|
||||||
|
(call peer ("srv" "list") [] services)
|
||||||
)
|
)
|
||||||
(call -relay- ("op" "noop") [])
|
(call -relay- ("op" "noop") [])
|
||||||
)
|
)
|
||||||
(fold services srv
|
(xor
|
||||||
(par
|
(call %init_peer_id% ("callbackSrv" "collectPeerInfo") [peer ident services blueprints modules])
|
||||||
(seq
|
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||||
(call -relay- ("op" "noop") [])
|
|
||||||
(xor
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(call peer ("srv" "get_interface") [srv.$.id!] iface)
|
|
||||||
(call -relay- ("op" "noop") [])
|
|
||||||
)
|
|
||||||
(xor
|
|
||||||
(call %init_peer_id% ("callbackSrv" "collectServiceInterface") [peer srv.$.id! iface])
|
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(seq
|
|
||||||
(call -relay- ("op" "noop") [])
|
|
||||||
(next srv)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4])
|
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
(next peer)
|
(next peer)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 5])
|
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
|
||||||
)
|
)
|
||||||
|
|
||||||
`,
|
`,
|
||||||
@ -437,6 +163,111 @@ h.on('callbackSrv', 'collectServiceInterface', (args) => {collectServiceInterfac
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
export async function discoverNeighbourhoodFull(client, relay, knownPeers, collectNeighbors, config) {
|
||||||
|
let request;
|
||||||
|
config = config || {};
|
||||||
|
const promise = new Promise((resolve, reject) => {
|
||||||
|
var r = new RequestFlowBuilder()
|
||||||
|
.disableInjections()
|
||||||
|
.withRawScript(
|
||||||
|
`
|
||||||
|
(xor
|
||||||
|
(seq
|
||||||
|
(seq
|
||||||
|
(seq
|
||||||
|
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
||||||
|
(call %init_peer_id% ("getDataSrv" "relay") [] relay)
|
||||||
|
)
|
||||||
|
(call %init_peer_id% ("getDataSrv" "knownPeers") [] knownPeers)
|
||||||
|
)
|
||||||
|
(fold knownPeers node
|
||||||
|
(par
|
||||||
|
(seq
|
||||||
|
(seq
|
||||||
|
(call -relay- ("op" "noop") [])
|
||||||
|
(call relay ("op" "noop") [])
|
||||||
|
)
|
||||||
|
(xor
|
||||||
|
(seq
|
||||||
|
(seq
|
||||||
|
(call node ("kad" "neighborhood") [%init_peer_id% $nil $nil] neighbors)
|
||||||
|
(par
|
||||||
|
(seq
|
||||||
|
(seq
|
||||||
|
(call relay ("op" "noop") [])
|
||||||
|
(call -relay- ("op" "noop") [])
|
||||||
|
)
|
||||||
|
(xor
|
||||||
|
(call %init_peer_id% ("callbackSrv" "collectNeighbors") [neighbors])
|
||||||
|
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(null)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(fold neighbors n
|
||||||
|
(par
|
||||||
|
(seq
|
||||||
|
(call relay ("op" "noop") [])
|
||||||
|
(xor
|
||||||
|
(seq
|
||||||
|
(seq
|
||||||
|
(call n ("kad" "neighborhood") [%init_peer_id% $nil $nil] neighbors2)
|
||||||
|
(call -relay- ("op" "noop") [])
|
||||||
|
)
|
||||||
|
(xor
|
||||||
|
(call %init_peer_id% ("callbackSrv" "collectNeighbors") [neighbors2])
|
||||||
|
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(next n)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4])
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(next node)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 5])
|
||||||
|
)
|
||||||
|
|
||||||
|
`,
|
||||||
|
)
|
||||||
|
.configHandler((h) => {
|
||||||
|
h.on('getDataSrv', '-relay-', () => {
|
||||||
|
return client.relayPeerId;
|
||||||
|
});
|
||||||
|
h.on('getDataSrv', 'relay', () => {return relay;});
|
||||||
|
h.on('getDataSrv', 'knownPeers', () => {return knownPeers;});
|
||||||
|
h.on('callbackSrv', 'collectNeighbors', (args) => {collectNeighbors(args[0]); return {};});
|
||||||
|
|
||||||
|
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
||||||
|
// assuming error is the single argument
|
||||||
|
const [err] = args;
|
||||||
|
reject(err);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.handleScriptError(reject)
|
||||||
|
.handleTimeout(() => {
|
||||||
|
reject('Request timed out for discoverNeighbourhoodFull');
|
||||||
|
})
|
||||||
|
if(config.ttl) {
|
||||||
|
r.withTTL(config.ttl)
|
||||||
|
}
|
||||||
|
request = r.build();
|
||||||
|
});
|
||||||
|
await client.initiateFlow(request);
|
||||||
|
return Promise.race([promise, Promise.resolve()]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export async function discoverNeighbourhood(client, relay, collectNeighbors, config) {
|
export async function discoverNeighbourhood(client, relay, collectNeighbors, config) {
|
||||||
let request;
|
let request;
|
||||||
config = config || {};
|
config = config || {};
|
||||||
|
19
src/index.js
19
src/index.js
@ -32,7 +32,7 @@ import {
|
|||||||
import { Elm } from './Main.elm';
|
import { Elm } from './Main.elm';
|
||||||
import * as serviceWorker from './serviceWorker';
|
import * as serviceWorker from './serviceWorker';
|
||||||
import { interfaceInfo, peerInfo } from './types';
|
import { interfaceInfo, peerInfo } from './types';
|
||||||
import { getAll, getServicesFromPeers } from './_aqua/app';
|
import { discoverNeighbourhoodFull, getAll, getServicesFromPeers } from './_aqua/app';
|
||||||
|
|
||||||
const defaultNetworkName = 'krasnodar';
|
const defaultNetworkName = 'krasnodar';
|
||||||
|
|
||||||
@ -203,20 +203,17 @@ function genFlags(peerId, relays, relayIdx) {
|
|||||||
|
|
||||||
// clear knownPeersSet to ask these peers again
|
// clear knownPeersSet to ask these peers again
|
||||||
knownPeersSet.clear();
|
knownPeersSet.clear();
|
||||||
knownPeersSet.add(...flags.knownPeers);
|
await getServicesFromPeers(
|
||||||
knownPeersSet.add(flags.relayPeerId);
|
|
||||||
|
|
||||||
await getAll(
|
|
||||||
client,
|
client,
|
||||||
data.relayPeerId,
|
[data.relayPeerId, ...data.knownPeers],
|
||||||
data.knownPeers,
|
|
||||||
collectPeerInfo,
|
collectPeerInfo,
|
||||||
collectServiceInterface,
|
collectServiceInterface,
|
||||||
collectNeighbors,
|
{ ttl: 1000000 },
|
||||||
{
|
|
||||||
ttl: 1000000,
|
|
||||||
},
|
|
||||||
);
|
);
|
||||||
|
knownPeersSet.add(...data.knownPeers);
|
||||||
|
knownPeersSet.add(data.relayPeerId);
|
||||||
|
|
||||||
|
await discoverNeighbourhoodFull(client, data.relayPeerId, data.knownPeers, collectNeighbors, { ttl: 1000000 });
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user