mirror of
https://github.com/fluencelabs/dashboard
synced 2025-05-12 07:37:12 +00:00
another way to structure aqua
This commit is contained in:
parent
297b92f1f4
commit
9f1afb2ea5
@ -4,14 +4,11 @@ service DashboardEvent("event"):
|
||||
collectPeerInfo(peer: PeerId, ident: Info, services: []Service, blueprints: []Blueprint, modules: []Module)
|
||||
collectServiceInterface(peer: PeerId, serviceId: string, iface: Interface)
|
||||
|
||||
func dashboardEvent_collectServiceInterface(peer: PeerId, serviceId: string, iface: Interface):
|
||||
DashboardEvent.collectServiceInterface(peer, serviceId, iface)
|
||||
|
||||
func collectServiceInterfaces(peer: PeerId, services: []Service):
|
||||
on peer:
|
||||
for srv <- services par:
|
||||
for srv <- services par:
|
||||
on peer:
|
||||
info <- Srv.get_interface(srv.id)
|
||||
dashboardEvent_collectServiceInterface(peer, srv.id, info.interface)
|
||||
DashboardEvent.collectServiceInterface(peer, srv.id, info.interface)
|
||||
|
||||
func askAllAndSend(peer: PeerId):
|
||||
on peer:
|
||||
@ -19,8 +16,8 @@ func askAllAndSend(peer: PeerId):
|
||||
blueprints <- Dist.list_blueprints()
|
||||
modules <- Dist.list_modules()
|
||||
services <- Srv.list()
|
||||
DashboardEvent.collectPeerInfo(peer, ident, services, blueprints, modules)
|
||||
collectServiceInterfaces(peer, services)
|
||||
DashboardEvent.collectPeerInfo(peer, ident, services, blueprints, modules)
|
||||
|
||||
|
||||
func findAndAskNeighboursSchema(relayPeerId: PeerId, clientId: PeerId):
|
||||
|
680
src/_aqua/app.js
680
src/_aqua/app.js
@ -10,6 +10,74 @@ import { RequestFlowBuilder } from '@fluencelabs/fluence/dist/api.unstable';
|
||||
|
||||
|
||||
|
||||
export async function collectServiceInterfaces(client, peer, services) {
|
||||
let request;
|
||||
const promise = new Promise((resolve, reject) => {
|
||||
request = new RequestFlowBuilder()
|
||||
.disableInjections()
|
||||
.withRawScript(
|
||||
`
|
||||
(xor
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
||||
(call %init_peer_id% ("getDataSrv" "peer") [] peer)
|
||||
)
|
||||
(call %init_peer_id% ("getDataSrv" "services") [] services)
|
||||
)
|
||||
(fold services srv
|
||||
(par
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(xor
|
||||
(call peer ("srv" "get_interface") [srv.$.id!] info)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
)
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(call %init_peer_id% ("event" "collectServiceInterface") [peer srv.$.id! info.$.interface!])
|
||||
)
|
||||
(next srv)
|
||||
)
|
||||
)
|
||||
)
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
)
|
||||
|
||||
`,
|
||||
)
|
||||
.configHandler((h) => {
|
||||
h.on('getDataSrv', '-relay-', () => {
|
||||
return client.relayPeerId;
|
||||
});
|
||||
h.on('getDataSrv', 'peer', () => {return peer;});
|
||||
h.on('getDataSrv', 'services', () => {return services;});
|
||||
|
||||
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
||||
// assuming error is the single argument
|
||||
const [err] = args;
|
||||
reject(err);
|
||||
});
|
||||
})
|
||||
.handleScriptError(reject)
|
||||
.handleTimeout(() => {
|
||||
reject('Request timed out for collectServiceInterfaces');
|
||||
})
|
||||
.build();
|
||||
});
|
||||
await client.initiateFlow(request);
|
||||
return Promise.race([promise, Promise.resolve()]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
export async function askAllAndSend(client, peer) {
|
||||
let request;
|
||||
const promise = new Promise((resolve, reject) => {
|
||||
@ -24,58 +92,55 @@ export async function askAllAndSend(client, peer) {
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
||||
(call %init_peer_id% ("getDataSrv" "peer") [] peer)
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
||||
(call %init_peer_id% ("getDataSrv" "peer") [] peer)
|
||||
)
|
||||
(xor
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(xor
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call peer ("peer" "identify") [] ident)
|
||||
(call peer ("dist" "list_blueprints") [] blueprints)
|
||||
)
|
||||
(call peer ("dist" "list_modules") [] modules)
|
||||
(call peer ("peer" "identify") [] ident)
|
||||
(call peer ("dist" "list_blueprints") [] blueprints)
|
||||
)
|
||||
(call peer ("srv" "list") [] services)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
(call peer ("dist" "list_modules") [] modules)
|
||||
)
|
||||
(call peer ("srv" "list") [] services)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(call %init_peer_id% ("event" "collectPeerInfo") [peer ident services blueprints modules])
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(xor
|
||||
(fold services srv
|
||||
(par
|
||||
(seq
|
||||
(call peer ("srv" "get_interface") [srv.$.id!] info)
|
||||
(call peer ("event" "collectServiceInterface") [peer srv.$.id! info.$.interface!])
|
||||
(seq
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(xor
|
||||
(call peer ("srv" "get_interface") [srv.$.id!] info)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
)
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(call %init_peer_id% ("event" "collectServiceInterface") [peer srv.$.id! info.$.interface!])
|
||||
)
|
||||
(next srv)
|
||||
)
|
||||
)
|
||||
(seq
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
)
|
||||
(call %init_peer_id% ("event" "collectPeerInfo") [peer ident services blueprints modules])
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
|
||||
)
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
|
||||
)
|
||||
|
||||
`,
|
||||
@ -104,304 +169,6 @@ export async function askAllAndSend(client, peer) {
|
||||
|
||||
|
||||
|
||||
export async function getAll(client, relayPeerId, knownPeers) {
|
||||
let request;
|
||||
const promise = new Promise((resolve, reject) => {
|
||||
request = new RequestFlowBuilder()
|
||||
.disableInjections()
|
||||
.withRawScript(
|
||||
`
|
||||
(xor
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
||||
(call %init_peer_id% ("getDataSrv" "relayPeerId") [] relayPeerId)
|
||||
)
|
||||
(call %init_peer_id% ("getDataSrv" "knownPeers") [] knownPeers)
|
||||
)
|
||||
(par
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(xor
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call relayPeerId ("peer" "identify") [] ident)
|
||||
(call relayPeerId ("dist" "list_blueprints") [] blueprints)
|
||||
)
|
||||
(call relayPeerId ("dist" "list_modules") [] modules)
|
||||
)
|
||||
(call relayPeerId ("srv" "list") [] services)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
)
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(call %init_peer_id% ("event" "collectPeerInfo") [relayPeerId ident services blueprints modules])
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(xor
|
||||
(fold services srv
|
||||
(par
|
||||
(seq
|
||||
(call relayPeerId ("srv" "get_interface") [srv.$.id!] info)
|
||||
(call relayPeerId ("event" "collectServiceInterface") [relayPeerId srv.$.id! info.$.interface!])
|
||||
)
|
||||
(next srv)
|
||||
)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
)
|
||||
)
|
||||
)
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(fold knownPeers peer
|
||||
(par
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(xor
|
||||
(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)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
|
||||
)
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(call %init_peer_id% ("event" "collectPeerInfo") [peer ident0 services0 blueprints0 modules0])
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(xor
|
||||
(fold services0 srv0
|
||||
(par
|
||||
(seq
|
||||
(call peer ("srv" "get_interface") [srv0.$.id!] info0)
|
||||
(call peer ("event" "collectServiceInterface") [peer srv0.$.id! info0.$.interface!])
|
||||
)
|
||||
(next srv0)
|
||||
)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4])
|
||||
)
|
||||
)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(next peer)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(call %init_peer_id% ("op" "identity") [])
|
||||
)
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(xor
|
||||
(seq
|
||||
(call relayPeerId ("kad" "neighborhood") [%init_peer_id% false] neighbors)
|
||||
(fold neighbors n
|
||||
(par
|
||||
(xor
|
||||
(seq
|
||||
(call n ("kad" "neighborhood") [%init_peer_id% false] neighbors2)
|
||||
(fold neighbors2 n2
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(xor
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call n2 ("peer" "identify") [] ident1)
|
||||
(call n2 ("dist" "list_blueprints") [] blueprints1)
|
||||
)
|
||||
(call n2 ("dist" "list_modules") [] modules1)
|
||||
)
|
||||
(call n2 ("srv" "list") [] services1)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 5])
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(call n ("event" "collectPeerInfo") [n2 ident1 services1 blueprints1 modules1])
|
||||
)
|
||||
(xor
|
||||
(fold services1 srv1
|
||||
(par
|
||||
(seq
|
||||
(call n2 ("srv" "get_interface") [srv1.$.id!] info1)
|
||||
(call n2 ("event" "collectServiceInterface") [n2 srv1.$.id! info1.$.interface!])
|
||||
)
|
||||
(next srv1)
|
||||
)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 6])
|
||||
)
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(next n2)
|
||||
)
|
||||
)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 7])
|
||||
)
|
||||
)
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(next n)
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(call %init_peer_id% ("op" "identity") [])
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(seq
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 8])
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 9])
|
||||
)
|
||||
)
|
||||
|
||||
`,
|
||||
)
|
||||
.configHandler((h) => {
|
||||
h.on('getDataSrv', '-relay-', () => {
|
||||
return client.relayPeerId;
|
||||
});
|
||||
h.on('getDataSrv', 'relayPeerId', () => {return relayPeerId;});
|
||||
h.on('getDataSrv', 'knownPeers', () => {return knownPeers;});
|
||||
|
||||
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');
|
||||
})
|
||||
.build();
|
||||
});
|
||||
await client.initiateFlow(request);
|
||||
return Promise.race([promise, Promise.resolve()]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
export async function dashboardEvent_collectServiceInterface(client, peer, serviceId, iface) {
|
||||
let request;
|
||||
const promise = new Promise((resolve, reject) => {
|
||||
request = new RequestFlowBuilder()
|
||||
.disableInjections()
|
||||
.withRawScript(
|
||||
`
|
||||
(xor
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
||||
(call %init_peer_id% ("getDataSrv" "peer") [] peer)
|
||||
)
|
||||
(call %init_peer_id% ("getDataSrv" "serviceId") [] serviceId)
|
||||
)
|
||||
(call %init_peer_id% ("getDataSrv" "iface") [] iface)
|
||||
)
|
||||
(call %init_peer_id% ("event" "collectServiceInterface") [peer serviceId iface])
|
||||
)
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
)
|
||||
|
||||
`,
|
||||
)
|
||||
.configHandler((h) => {
|
||||
h.on('getDataSrv', '-relay-', () => {
|
||||
return client.relayPeerId;
|
||||
});
|
||||
h.on('getDataSrv', 'peer', () => {return peer;});
|
||||
h.on('getDataSrv', 'serviceId', () => {return serviceId;});
|
||||
h.on('getDataSrv', 'iface', () => {return iface;});
|
||||
|
||||
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
||||
// assuming error is the single argument
|
||||
const [err] = args;
|
||||
reject(err);
|
||||
});
|
||||
})
|
||||
.handleScriptError(reject)
|
||||
.handleTimeout(() => {
|
||||
reject('Request timed out for dashboardEvent_collectServiceInterface');
|
||||
})
|
||||
.build();
|
||||
});
|
||||
await client.initiateFlow(request);
|
||||
return Promise.race([promise, Promise.resolve()]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
export async function findAndAskNeighboursSchema(client, relayPeerId, clientId) {
|
||||
let request;
|
||||
const promise = new Promise((resolve, reject) => {
|
||||
@ -434,44 +201,44 @@ export async function findAndAskNeighboursSchema(client, relayPeerId, clientId)
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(xor
|
||||
(xor
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call n2 ("peer" "identify") [] ident)
|
||||
(call n2 ("dist" "list_blueprints") [] blueprints)
|
||||
)
|
||||
(call n2 ("dist" "list_modules") [] modules)
|
||||
(call n2 ("peer" "identify") [] ident)
|
||||
(call n2 ("dist" "list_blueprints") [] blueprints)
|
||||
)
|
||||
(call n2 ("srv" "list") [] services)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
(call n2 ("dist" "list_modules") [] modules)
|
||||
)
|
||||
(call n2 ("srv" "list") [] services)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(call n ("event" "collectPeerInfo") [n2 ident services blueprints modules])
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(xor
|
||||
(fold services srv
|
||||
(par
|
||||
(fold services srv
|
||||
(par
|
||||
(seq
|
||||
(seq
|
||||
(call n2 ("srv" "get_interface") [srv.$.id!] info)
|
||||
(call n2 ("event" "collectServiceInterface") [n2 srv.$.id! info.$.interface!])
|
||||
(xor
|
||||
(call n2 ("srv" "get_interface") [srv.$.id!] info)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(next srv)
|
||||
(call n ("event" "collectServiceInterface") [n2 srv.$.id! info.$.interface!])
|
||||
)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
(next srv)
|
||||
)
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call n ("event" "collectPeerInfo") [n2 ident services blueprints modules])
|
||||
)
|
||||
(next n2)
|
||||
)
|
||||
@ -537,7 +304,7 @@ h.on('getDataSrv', 'clientId', () => {return clientId;});
|
||||
|
||||
|
||||
|
||||
export async function collectServiceInterfaces(client, peer, services) {
|
||||
export async function getAll(client, relayPeerId, knownPeers) {
|
||||
let request;
|
||||
const promise = new Promise((resolve, reject) => {
|
||||
request = new RequestFlowBuilder()
|
||||
@ -549,27 +316,196 @@ export async function collectServiceInterfaces(client, peer, services) {
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
||||
(call %init_peer_id% ("getDataSrv" "peer") [] peer)
|
||||
(seq
|
||||
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
||||
(call %init_peer_id% ("getDataSrv" "relayPeerId") [] relayPeerId)
|
||||
)
|
||||
(call %init_peer_id% ("getDataSrv" "knownPeers") [] knownPeers)
|
||||
)
|
||||
(par
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(xor
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call relayPeerId ("peer" "identify") [] ident)
|
||||
(call relayPeerId ("dist" "list_blueprints") [] blueprints)
|
||||
)
|
||||
(call relayPeerId ("dist" "list_modules") [] modules)
|
||||
)
|
||||
(call relayPeerId ("srv" "list") [] services)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
)
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(fold services srv
|
||||
(par
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(xor
|
||||
(call relayPeerId ("srv" "get_interface") [srv.$.id!] info)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
)
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(call %init_peer_id% ("event" "collectServiceInterface") [relayPeerId srv.$.id! info.$.interface!])
|
||||
)
|
||||
(next srv)
|
||||
)
|
||||
)
|
||||
)
|
||||
(call %init_peer_id% ("event" "collectPeerInfo") [relayPeerId ident services blueprints modules])
|
||||
)
|
||||
(fold knownPeers peer
|
||||
(par
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(xor
|
||||
(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)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
|
||||
)
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(fold services0 srv0
|
||||
(par
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(xor
|
||||
(call peer ("srv" "get_interface") [srv0.$.id!] info0)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4])
|
||||
)
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(call %init_peer_id% ("event" "collectServiceInterface") [peer srv0.$.id! info0.$.interface!])
|
||||
)
|
||||
(next srv0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(call %init_peer_id% ("event" "collectPeerInfo") [peer ident0 services0 blueprints0 modules0])
|
||||
)
|
||||
(next peer)
|
||||
)
|
||||
)
|
||||
)
|
||||
(call %init_peer_id% ("getDataSrv" "services") [] services)
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(xor
|
||||
(fold services srv
|
||||
(par
|
||||
(seq
|
||||
(call peer ("srv" "get_interface") [srv.$.id!] info)
|
||||
(call peer ("event" "collectServiceInterface") [peer srv.$.id! info.$.interface!])
|
||||
(seq
|
||||
(call relayPeerId ("kad" "neighborhood") [%init_peer_id% false] neighbors)
|
||||
(fold neighbors n
|
||||
(par
|
||||
(xor
|
||||
(seq
|
||||
(call n ("kad" "neighborhood") [%init_peer_id% false] neighbors2)
|
||||
(fold neighbors2 n2
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(xor
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call n2 ("peer" "identify") [] ident1)
|
||||
(call n2 ("dist" "list_blueprints") [] blueprints1)
|
||||
)
|
||||
(call n2 ("dist" "list_modules") [] modules1)
|
||||
)
|
||||
(call n2 ("srv" "list") [] services1)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 5])
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(fold services1 srv1
|
||||
(par
|
||||
(seq
|
||||
(seq
|
||||
(xor
|
||||
(call n2 ("srv" "get_interface") [srv1.$.id!] info1)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 6])
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(call n ("event" "collectServiceInterface") [n2 srv1.$.id! info1.$.interface!])
|
||||
)
|
||||
(next srv1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(call n ("event" "collectPeerInfo") [n2 ident1 services1 blueprints1 modules1])
|
||||
)
|
||||
(next n2)
|
||||
)
|
||||
)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 7])
|
||||
)
|
||||
)
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(next n)
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
(call %init_peer_id% ("op" "identity") [])
|
||||
)
|
||||
)
|
||||
(next srv)
|
||||
)
|
||||
)
|
||||
(seq
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 8])
|
||||
)
|
||||
(call -relay- ("op" "identity") [])
|
||||
)
|
||||
@ -577,7 +513,7 @@ export async function collectServiceInterfaces(client, peer, services) {
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "identity") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 9])
|
||||
)
|
||||
)
|
||||
|
||||
@ -587,8 +523,8 @@ export async function collectServiceInterfaces(client, peer, services) {
|
||||
h.on('getDataSrv', '-relay-', () => {
|
||||
return client.relayPeerId;
|
||||
});
|
||||
h.on('getDataSrv', 'peer', () => {return peer;});
|
||||
h.on('getDataSrv', 'services', () => {return services;});
|
||||
h.on('getDataSrv', 'relayPeerId', () => {return relayPeerId;});
|
||||
h.on('getDataSrv', 'knownPeers', () => {return knownPeers;});
|
||||
|
||||
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
||||
// assuming error is the single argument
|
||||
@ -598,7 +534,7 @@ h.on('getDataSrv', 'services', () => {return services;});
|
||||
})
|
||||
.handleScriptError(reject)
|
||||
.handleTimeout(() => {
|
||||
reject('Request timed out for collectServiceInterfaces');
|
||||
reject('Request timed out for getAll');
|
||||
})
|
||||
.build();
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user