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()
|
||||
services <- Srv.list()
|
||||
collectPeerInfo(peer, ident, services, blueprints, modules)
|
||||
collectServiceInterfaces(peer, services, collectServiceInterface)
|
||||
-- collectServiceInterfaces(peer, services, collectServiceInterface)
|
||||
|
||||
-- retrieve PeerInfo and ServiceInterface-s from each peer in `peers`
|
||||
func getServicesFromPeers(
|
||||
@ -39,16 +39,12 @@ func discoverNeighbourhood(relay: PeerId, collectNeighbors: []string -> ()):
|
||||
neighbors2 <- Kademlia.neighborhood(%init_peer_id%, nil, nil)
|
||||
collectNeighbors(neighbors2)
|
||||
|
||||
func getAll(
|
||||
relay: PeerId,
|
||||
knownPeers: []PeerId,
|
||||
collectPeerInfo: PeerInfoCb,
|
||||
collectServiceInterface: ServiceInterfaceCb,
|
||||
collectNeighbors: []string -> ()
|
||||
):
|
||||
co askAllAndSend(relay, collectPeerInfo, collectServiceInterface)
|
||||
|
||||
for peer <- knownPeers par:
|
||||
askAllAndSend(peer, collectPeerInfo, collectServiceInterface)
|
||||
|
||||
co discoverNeighbourhood(relay, collectNeighbors)
|
||||
func discoverNeighbourhoodFull(relay: PeerId, knownPeers: []PeerId, collectNeighbors: []string -> ()):
|
||||
for node <- knownPeers par:
|
||||
on node via relay:
|
||||
neighbors <- Kademlia.neighborhood(%init_peer_id%, nil, nil)
|
||||
co collectNeighbors(neighbors)
|
||||
for n <- neighbors par:
|
||||
on n:
|
||||
neighbors2 <- Kademlia.neighborhood(%init_peer_id%, nil, nil)
|
||||
collectNeighbors(neighbors2)
|
||||
|
6
package-lock.json
generated
6
package-lock.json
generated
@ -998,9 +998,9 @@
|
||||
}
|
||||
},
|
||||
"@fluencelabs/aqua-cli": {
|
||||
"version": "0.1.9-165",
|
||||
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-cli/-/aqua-cli-0.1.9-165.tgz",
|
||||
"integrity": "sha512-DBcPRxzJiQCdnur2wVgX47CRccTSoXhDPwURh8IW8RuP0vI+F8MWRcqdxT9DDDMe396e9je3f7g2bT8gfif1SQ==",
|
||||
"version": "0.1.10-188",
|
||||
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-cli/-/aqua-cli-0.1.10-188.tgz",
|
||||
"integrity": "sha512-3StvE+xevgQVsGwHGpSY+OuXx86N89MxUpguvZfwufRuSLIO++aMmUGUC14GFc7LQelcP86h6pFZ5o7pNYEIVw==",
|
||||
"dev": true
|
||||
},
|
||||
"@fluencelabs/aqua-lib": {
|
||||
|
@ -38,7 +38,7 @@
|
||||
"yup": "^0.32.9"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@fluencelabs/aqua-cli": "0.1.9-165",
|
||||
"@fluencelabs/aqua-cli": "0.1.10-188",
|
||||
"@fluencelabs/aqua-lib": "0.1.13",
|
||||
"@babel/core": "^7.11.6",
|
||||
"@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.
|
||||
* 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
|
||||
* Aqua version: 0.1.9-165
|
||||
* Aqua version: 0.1.10-188
|
||||
*
|
||||
*/
|
||||
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
|
||||
(call peer ("peer" "identify") [] ident)
|
||||
(call peer ("dist" "list_blueprints") [] blueprints)
|
||||
)
|
||||
(call peer ("dist" "list_modules") [] modules)
|
||||
)
|
||||
(call peer ("srv" "list") [] services)
|
||||
(call peer ("peer" "identify") [] ident)
|
||||
(call peer ("dist" "list_blueprints") [] blueprints)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(xor
|
||||
(call %init_peer_id% ("callbackSrv" "collectPeerInfo") [peer ident services blueprints modules])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
(call peer ("dist" "list_modules") [] modules)
|
||||
)
|
||||
(call peer ("srv" "list") [] services)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(fold services srv
|
||||
(par
|
||||
(seq
|
||||
(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)
|
||||
)
|
||||
)
|
||||
(xor
|
||||
(call %init_peer_id% ("callbackSrv" "collectPeerInfo") [peer ident services blueprints modules])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
)
|
||||
)
|
||||
(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) {
|
||||
let request;
|
||||
config = config || {};
|
||||
@ -353,57 +108,28 @@ export async function getServicesFromPeers(client, peers, collectPeerInfo, colle
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call peer ("peer" "identify") [] ident)
|
||||
(call peer ("dist" "list_blueprints") [] blueprints)
|
||||
)
|
||||
(call peer ("dist" "list_modules") [] modules)
|
||||
)
|
||||
(call peer ("srv" "list") [] services)
|
||||
(call peer ("peer" "identify") [] ident)
|
||||
(call peer ("dist" "list_blueprints") [] blueprints)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(xor
|
||||
(call %init_peer_id% ("callbackSrv" "collectPeerInfo") [peer ident services blueprints modules])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
(call peer ("dist" "list_modules") [] modules)
|
||||
)
|
||||
(call peer ("srv" "list") [] services)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(fold services srv
|
||||
(par
|
||||
(seq
|
||||
(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)
|
||||
)
|
||||
)
|
||||
(xor
|
||||
(call %init_peer_id% ("callbackSrv" "collectPeerInfo") [peer ident services blueprints modules])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
)
|
||||
)
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
)
|
||||
)
|
||||
(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) {
|
||||
let request;
|
||||
config = config || {};
|
||||
|
19
src/index.js
19
src/index.js
@ -32,7 +32,7 @@ import {
|
||||
import { Elm } from './Main.elm';
|
||||
import * as serviceWorker from './serviceWorker';
|
||||
import { interfaceInfo, peerInfo } from './types';
|
||||
import { getAll, getServicesFromPeers } from './_aqua/app';
|
||||
import { discoverNeighbourhoodFull, getAll, getServicesFromPeers } from './_aqua/app';
|
||||
|
||||
const defaultNetworkName = 'krasnodar';
|
||||
|
||||
@ -203,20 +203,17 @@ function genFlags(peerId, relays, relayIdx) {
|
||||
|
||||
// clear knownPeersSet to ask these peers again
|
||||
knownPeersSet.clear();
|
||||
knownPeersSet.add(...flags.knownPeers);
|
||||
knownPeersSet.add(flags.relayPeerId);
|
||||
|
||||
await getAll(
|
||||
await getServicesFromPeers(
|
||||
client,
|
||||
data.relayPeerId,
|
||||
data.knownPeers,
|
||||
[data.relayPeerId, ...data.knownPeers],
|
||||
collectPeerInfo,
|
||||
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