mirror of
https://github.com/fluencelabs/examples
synced 2025-07-31 17:01:57 +00:00
update version, examples, aqua
This commit is contained in:
@@ -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-163
|
||||
* Aqua version: 0.2.2-221
|
||||
*
|
||||
*/
|
||||
import { FluenceClient, PeerIdB58 } from '@fluencelabs/fluence';
|
||||
@@ -11,8 +11,138 @@ import { RequestFlowBuilder } from '@fluencelabs/fluence/dist/api.unstable';
|
||||
import { RequestFlow } from '@fluencelabs/fluence/dist/internal/RequestFlow';
|
||||
|
||||
|
||||
// Services
|
||||
|
||||
export async function echo_greeting_par_greet(client: FluenceClient, echo_service: {names:string[];node:string;service_id:string}, greeting_services: {greet:boolean;node:string;service_id:string}[], config?: {ttl?: number}): Promise<string[]> {
|
||||
//OpString
|
||||
//defaultId = "op"
|
||||
|
||||
//identity: (s: string) => void
|
||||
//END OpString
|
||||
|
||||
|
||||
|
||||
|
||||
//EchoService
|
||||
//defaultId = undefined
|
||||
|
||||
//echo: (arg0: string[]) => {echo:string}[]
|
||||
//END EchoService
|
||||
|
||||
|
||||
|
||||
|
||||
//GreetingService
|
||||
//defaultId = "service-id"
|
||||
|
||||
//greeting: (arg0: string, arg1: boolean) => string
|
||||
//END GreetingService
|
||||
|
||||
|
||||
|
||||
// Functions
|
||||
|
||||
export async function echo_greeting_seq_2(client: FluenceClient, names: string[], greet: boolean, echo_topo: {node:string;service_id:string}, greeting_topo: {node:string;service_id:string}, config?: {ttl?: number}): Promise<string[]> {
|
||||
let request: RequestFlow;
|
||||
const promise = new Promise<string[]>((resolve, reject) => {
|
||||
const r = new RequestFlowBuilder()
|
||||
.disableInjections()
|
||||
.withRawScript(
|
||||
`
|
||||
(xor
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
||||
(call %init_peer_id% ("getDataSrv" "names") [] names)
|
||||
)
|
||||
(call %init_peer_id% ("getDataSrv" "greet") [] greet)
|
||||
)
|
||||
(call %init_peer_id% ("getDataSrv" "echo_topo") [] echo_topo)
|
||||
)
|
||||
(call %init_peer_id% ("getDataSrv" "greeting_topo") [] greeting_topo)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(xor
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call echo_topo.$.node! (echo_topo.$.service_id! "echo") [names] echo_names)
|
||||
)
|
||||
(seq
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
)
|
||||
)
|
||||
(xor
|
||||
(fold echo_names result
|
||||
(seq
|
||||
(call greeting_topo.$.node! (greeting_topo.$.service_id! "greeting") [result.$.echo! greet] $res)
|
||||
(next result)
|
||||
)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
)
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(xor
|
||||
(call %init_peer_id% ("callbackSrv" "response") [$res])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
|
||||
)
|
||||
)
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4])
|
||||
)
|
||||
|
||||
`,
|
||||
)
|
||||
.configHandler((h) => {
|
||||
h.on('getDataSrv', '-relay-', () => {
|
||||
return client.relayPeerId!;
|
||||
});
|
||||
h.on('getDataSrv', 'names', () => {return names;});
|
||||
h.on('getDataSrv', 'greet', () => {return greet;});
|
||||
h.on('getDataSrv', 'echo_topo', () => {return echo_topo;});
|
||||
h.on('getDataSrv', 'greeting_topo', () => {return greeting_topo;});
|
||||
h.onEvent('callbackSrv', 'response', (args) => {
|
||||
const [res] = args;
|
||||
resolve(res);
|
||||
});
|
||||
|
||||
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
||||
// assuming error is the single argument
|
||||
const [err] = args;
|
||||
reject(err);
|
||||
});
|
||||
})
|
||||
.handleScriptError(reject)
|
||||
.handleTimeout(() => {
|
||||
reject('Request timed out for echo_greeting_seq_2');
|
||||
})
|
||||
if(config && config.ttl) {
|
||||
r.withTTL(config.ttl)
|
||||
}
|
||||
request = r.build();
|
||||
});
|
||||
await client.initiateFlow(request!);
|
||||
return promise;
|
||||
}
|
||||
|
||||
|
||||
|
||||
export async function echo_greeting_par_improved(client: FluenceClient, echo_service: {names:string[];node:string;service_id:string}, greeting_services: {greet:boolean;node:string;service_id:string}[], config?: {ttl?: number}): Promise<string[]> {
|
||||
let request: RequestFlow;
|
||||
const promise = new Promise<string[]>((resolve, reject) => {
|
||||
const r = new RequestFlowBuilder()
|
||||
@@ -50,29 +180,32 @@ export async function echo_greeting_par_greet(client: FluenceClient, echo_servic
|
||||
)
|
||||
(fold echo_results result
|
||||
(seq
|
||||
(fold greeting_services greeting_service
|
||||
(seq
|
||||
(seq
|
||||
(par
|
||||
(seq
|
||||
(par
|
||||
(seq
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(fold greeting_services greeting_service
|
||||
(seq
|
||||
(xor
|
||||
(call greeting_service.$.node! (greeting_service.$.service_id! "greeting") [result.$.echo! greeting_service.$.greet!] $res)
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
(seq
|
||||
(xor
|
||||
(call greeting_service.$.node! (greeting_service.$.service_id! "greeting") [result.$.echo! greeting_service.$.greet!] $res)
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
(next greeting_service)
|
||||
)
|
||||
(call %init_peer_id% ("op" "noop") [])
|
||||
)
|
||||
(null)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call %init_peer_id% ("op" "noop") [])
|
||||
)
|
||||
(next greeting_service)
|
||||
(null)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(next result)
|
||||
)
|
||||
@@ -97,7 +230,7 @@ export async function echo_greeting_par_greet(client: FluenceClient, echo_servic
|
||||
h.on('getDataSrv', 'echo_service', () => {return echo_service;});
|
||||
h.on('getDataSrv', 'greeting_services', () => {return greeting_services;});
|
||||
h.onEvent('callbackSrv', 'response', (args) => {
|
||||
const [res] = args;
|
||||
const [res] = args;
|
||||
resolve(res);
|
||||
});
|
||||
|
||||
@@ -109,9 +242,9 @@ h.on('getDataSrv', 'greeting_services', () => {return greeting_services;});
|
||||
})
|
||||
.handleScriptError(reject)
|
||||
.handleTimeout(() => {
|
||||
reject('Request timed out for echo_greeting_par_greet');
|
||||
reject('Request timed out for echo_greeting_par_improved');
|
||||
})
|
||||
if(config?.ttl) {
|
||||
if(config && config.ttl) {
|
||||
r.withTTL(config.ttl)
|
||||
}
|
||||
request = r.build();
|
||||
@@ -163,29 +296,32 @@ export async function echo_greeting_par(client: FluenceClient, greet: boolean, e
|
||||
)
|
||||
(fold echo_results result
|
||||
(seq
|
||||
(fold greeting_services greeting_service
|
||||
(seq
|
||||
(seq
|
||||
(par
|
||||
(seq
|
||||
(par
|
||||
(seq
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(fold greeting_services greeting_service
|
||||
(seq
|
||||
(xor
|
||||
(call greeting_service.$.node! (greeting_service.$.service_id! "greeting") [result.$.echo! greet] $res)
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
(seq
|
||||
(xor
|
||||
(call greeting_service.$.node! (greeting_service.$.service_id! "greeting") [result.$.echo! greet] $res)
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
(next greeting_service)
|
||||
)
|
||||
(call %init_peer_id% ("op" "noop") [])
|
||||
)
|
||||
(null)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call %init_peer_id% ("op" "noop") [])
|
||||
)
|
||||
(next greeting_service)
|
||||
(null)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(next result)
|
||||
)
|
||||
@@ -211,7 +347,7 @@ export async function echo_greeting_par(client: FluenceClient, greet: boolean, e
|
||||
h.on('getDataSrv', 'echo_service', () => {return echo_service;});
|
||||
h.on('getDataSrv', 'greeting_services', () => {return greeting_services;});
|
||||
h.onEvent('callbackSrv', 'response', (args) => {
|
||||
const [res] = args;
|
||||
const [res] = args;
|
||||
resolve(res);
|
||||
});
|
||||
|
||||
@@ -225,7 +361,7 @@ h.on('getDataSrv', 'greeting_services', () => {return greeting_services;});
|
||||
.handleTimeout(() => {
|
||||
reject('Request timed out for echo_greeting_par');
|
||||
})
|
||||
if(config?.ttl) {
|
||||
if(config && config.ttl) {
|
||||
r.withTTL(config.ttl)
|
||||
}
|
||||
request = r.build();
|
||||
@@ -236,9 +372,89 @@ h.on('getDataSrv', 'greeting_services', () => {return greeting_services;});
|
||||
|
||||
|
||||
|
||||
export async function echo_greeting_par_inverse(client: FluenceClient, greet: boolean, echo_service: {names:string[];node:string;service_id:string}, greeting_services: {node:string;service_id:string}[], config?: {ttl?: number}): Promise<string[]> {
|
||||
export async function echo(client: FluenceClient, names: string[], node: string, echo_service: string, config?: {ttl?: number}): Promise<{echo:string}[]> {
|
||||
let request: RequestFlow;
|
||||
const promise = new Promise<string[]>((resolve, reject) => {
|
||||
const promise = new Promise<{echo:string}[]>((resolve, reject) => {
|
||||
const r = new RequestFlowBuilder()
|
||||
.disableInjections()
|
||||
.withRawScript(
|
||||
`
|
||||
(xor
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
||||
(call %init_peer_id% ("getDataSrv" "names") [] names)
|
||||
)
|
||||
(call %init_peer_id% ("getDataSrv" "node") [] node)
|
||||
)
|
||||
(call %init_peer_id% ("getDataSrv" "echo_service") [] echo_service)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(xor
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call node (echo_service "echo") [names] res)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
)
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(xor
|
||||
(call %init_peer_id% ("callbackSrv" "response") [res])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
)
|
||||
)
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
|
||||
)
|
||||
|
||||
`,
|
||||
)
|
||||
.configHandler((h) => {
|
||||
h.on('getDataSrv', '-relay-', () => {
|
||||
return client.relayPeerId!;
|
||||
});
|
||||
h.on('getDataSrv', 'names', () => {return names;});
|
||||
h.on('getDataSrv', 'node', () => {return node;});
|
||||
h.on('getDataSrv', 'echo_service', () => {return echo_service;});
|
||||
h.onEvent('callbackSrv', 'response', (args) => {
|
||||
const [res] = args;
|
||||
resolve(res);
|
||||
});
|
||||
|
||||
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
||||
// assuming error is the single argument
|
||||
const [err] = args;
|
||||
reject(err);
|
||||
});
|
||||
})
|
||||
.handleScriptError(reject)
|
||||
.handleTimeout(() => {
|
||||
reject('Request timed out for echo');
|
||||
})
|
||||
if(config && config.ttl) {
|
||||
r.withTTL(config.ttl)
|
||||
}
|
||||
request = r.build();
|
||||
});
|
||||
await client.initiateFlow(request!);
|
||||
return promise;
|
||||
}
|
||||
|
||||
|
||||
|
||||
export async function greeting(client: FluenceClient, name: string, greet: boolean, node: string, greeting_service_id: string, config?: {ttl?: number}): Promise<string> {
|
||||
let request: RequestFlow;
|
||||
const promise = new Promise<string>((resolve, reject) => {
|
||||
const r = new RequestFlowBuilder()
|
||||
.disableInjections()
|
||||
.withRawScript(
|
||||
@@ -252,67 +468,36 @@ export async function echo_greeting_par_inverse(client: FluenceClient, greet: bo
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
||||
(call %init_peer_id% ("getDataSrv" "greet") [] greet)
|
||||
)
|
||||
(call %init_peer_id% ("getDataSrv" "echo_service") [] echo_service)
|
||||
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
||||
(call %init_peer_id% ("getDataSrv" "name") [] name)
|
||||
)
|
||||
(call %init_peer_id% ("getDataSrv" "greeting_services") [] greeting_services)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(xor
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call echo_service.$.node! (echo_service.$.service_id! "echo") [echo_service.$.names!] echo_results)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
(call %init_peer_id% ("getDataSrv" "greet") [] greet)
|
||||
)
|
||||
(call %init_peer_id% ("getDataSrv" "node") [] node)
|
||||
)
|
||||
(call %init_peer_id% ("getDataSrv" "greeting_service_id") [] greeting_service_id)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(fold greeting_services greeting_service
|
||||
(xor
|
||||
(seq
|
||||
(seq
|
||||
(par
|
||||
(seq
|
||||
(seq
|
||||
(xor
|
||||
(fold echo_results result
|
||||
(seq
|
||||
(call greeting_service.$.node! (greeting_service.$.service_id! "greeting") [result.$.echo! greet] $res)
|
||||
(next result)
|
||||
)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(call %init_peer_id% ("op" "noop") [])
|
||||
)
|
||||
(null)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(next greeting_service)
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call node (greeting_service_id "greeting") [name greet] res)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
)
|
||||
)
|
||||
)
|
||||
(call %init_peer_id% ("op" "identity") [$res.$.[3]!])
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(xor
|
||||
(call %init_peer_id% ("callbackSrv" "response") [$res])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
|
||||
(call %init_peer_id% ("callbackSrv" "response") [res])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
)
|
||||
)
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
|
||||
)
|
||||
|
||||
`,
|
||||
@@ -321,11 +506,12 @@ export async function echo_greeting_par_inverse(client: FluenceClient, greet: bo
|
||||
h.on('getDataSrv', '-relay-', () => {
|
||||
return client.relayPeerId!;
|
||||
});
|
||||
h.on('getDataSrv', 'greet', () => {return greet;});
|
||||
h.on('getDataSrv', 'echo_service', () => {return echo_service;});
|
||||
h.on('getDataSrv', 'greeting_services', () => {return greeting_services;});
|
||||
h.on('getDataSrv', 'name', () => {return name;});
|
||||
h.on('getDataSrv', 'greet', () => {return greet;});
|
||||
h.on('getDataSrv', 'node', () => {return node;});
|
||||
h.on('getDataSrv', 'greeting_service_id', () => {return greeting_service_id;});
|
||||
h.onEvent('callbackSrv', 'response', (args) => {
|
||||
const [res] = args;
|
||||
const [res] = args;
|
||||
resolve(res);
|
||||
});
|
||||
|
||||
@@ -337,9 +523,9 @@ h.on('getDataSrv', 'greeting_services', () => {return greeting_services;});
|
||||
})
|
||||
.handleScriptError(reject)
|
||||
.handleTimeout(() => {
|
||||
reject('Request timed out for echo_greeting_par_inverse');
|
||||
reject('Request timed out for greeting');
|
||||
})
|
||||
if(config?.ttl) {
|
||||
if(config && config.ttl) {
|
||||
r.withTTL(config.ttl)
|
||||
}
|
||||
request = r.build();
|
||||
@@ -421,7 +607,7 @@ h.on('getDataSrv', 'node', () => {return node;});
|
||||
h.on('getDataSrv', 'echo_service_id', () => {return echo_service_id;});
|
||||
h.on('getDataSrv', 'greeting_service_id', () => {return greeting_service_id;});
|
||||
h.onEvent('callbackSrv', 'response', (args) => {
|
||||
const [res] = args;
|
||||
const [res] = args;
|
||||
resolve(res);
|
||||
});
|
||||
|
||||
@@ -435,7 +621,7 @@ h.on('getDataSrv', 'greeting_service_id', () => {return greeting_service_id;});
|
||||
.handleTimeout(() => {
|
||||
reject('Request timed out for echo_greeting_seq');
|
||||
})
|
||||
if(config?.ttl) {
|
||||
if(config && config.ttl) {
|
||||
r.withTTL(config.ttl)
|
||||
}
|
||||
request = r.build();
|
||||
@@ -446,7 +632,7 @@ h.on('getDataSrv', 'greeting_service_id', () => {return greeting_service_id;});
|
||||
|
||||
|
||||
|
||||
export async function echo_greeting_seq_2(client: FluenceClient, names: string[], greet: boolean, echo_topo: {node:string;service_id:string}, greeting_topo: {node:string;service_id:string}, config?: {ttl?: number}): Promise<string[]> {
|
||||
export async function echo_greeting_par_alternative(client: FluenceClient, greet: boolean, echo_service: {names:string[];node:string;service_id:string}, greeting_services: {node:string;service_id:string}[], config?: {ttl?: number}): Promise<string[]> {
|
||||
let request: RequestFlow;
|
||||
const promise = new Promise<string[]>((resolve, reject) => {
|
||||
const r = new RequestFlowBuilder()
|
||||
@@ -464,106 +650,8 @@ export async function echo_greeting_seq_2(client: FluenceClient, names: string[]
|
||||
(seq
|
||||
(seq
|
||||
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
||||
(call %init_peer_id% ("getDataSrv" "names") [] names)
|
||||
(call %init_peer_id% ("getDataSrv" "greet") [] greet)
|
||||
)
|
||||
(call %init_peer_id% ("getDataSrv" "greet") [] greet)
|
||||
)
|
||||
(call %init_peer_id% ("getDataSrv" "echo_topo") [] echo_topo)
|
||||
)
|
||||
(call %init_peer_id% ("getDataSrv" "greeting_topo") [] greeting_topo)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(xor
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call echo_topo.$.node! (echo_topo.$.service_id! "echo") [names] echo_names)
|
||||
)
|
||||
(seq
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
)
|
||||
)
|
||||
(xor
|
||||
(fold echo_names result
|
||||
(seq
|
||||
(call greeting_topo.$.node! (greeting_topo.$.service_id! "greeting") [result.$.echo! greet] $res)
|
||||
(next result)
|
||||
)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
)
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(xor
|
||||
(call %init_peer_id% ("callbackSrv" "response") [$res])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
|
||||
)
|
||||
)
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4])
|
||||
)
|
||||
|
||||
`,
|
||||
)
|
||||
.configHandler((h) => {
|
||||
h.on('getDataSrv', '-relay-', () => {
|
||||
return client.relayPeerId!;
|
||||
});
|
||||
h.on('getDataSrv', 'names', () => {return names;});
|
||||
h.on('getDataSrv', 'greet', () => {return greet;});
|
||||
h.on('getDataSrv', 'echo_topo', () => {return echo_topo;});
|
||||
h.on('getDataSrv', 'greeting_topo', () => {return greeting_topo;});
|
||||
h.onEvent('callbackSrv', 'response', (args) => {
|
||||
const [res] = args;
|
||||
resolve(res);
|
||||
});
|
||||
|
||||
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
||||
// assuming error is the single argument
|
||||
const [err] = args;
|
||||
reject(err);
|
||||
});
|
||||
})
|
||||
.handleScriptError(reject)
|
||||
.handleTimeout(() => {
|
||||
reject('Request timed out for echo_greeting_seq_2');
|
||||
})
|
||||
if(config?.ttl) {
|
||||
r.withTTL(config.ttl)
|
||||
}
|
||||
request = r.build();
|
||||
});
|
||||
await client.initiateFlow(request!);
|
||||
return promise;
|
||||
}
|
||||
|
||||
|
||||
|
||||
export async function echo_greeting_par_inverse_greet(client: FluenceClient, echo_service: {names:string[];node:string;service_id:string}, greeting_services: {greet:boolean;node:string;service_id:string}[], config?: {ttl?: number}): Promise<string[]> {
|
||||
let request: RequestFlow;
|
||||
const promise = new Promise<string[]>((resolve, reject) => {
|
||||
const r = new RequestFlowBuilder()
|
||||
.disableInjections()
|
||||
.withRawScript(
|
||||
`
|
||||
(xor
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
||||
(call %init_peer_id% ("getDataSrv" "echo_service") [] echo_service)
|
||||
)
|
||||
(call %init_peer_id% ("getDataSrv" "greeting_services") [] greeting_services)
|
||||
@@ -583,37 +671,37 @@ export async function echo_greeting_par_inverse_greet(client: FluenceClient, ech
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(fold greeting_services greeting_service
|
||||
(fold echo_results result
|
||||
(seq
|
||||
(seq
|
||||
(par
|
||||
(fold greeting_services greeting_service
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(xor
|
||||
(fold echo_results result
|
||||
(seq
|
||||
(call greeting_service.$.node! (greeting_service.$.service_id! "greeting") [result.$.echo! greeting_service.$.greet!] $res)
|
||||
(next result)
|
||||
)
|
||||
)
|
||||
(par
|
||||
(seq
|
||||
(seq
|
||||
(xor
|
||||
(call greeting_service.$.node! (greeting_service.$.service_id! "greeting") [result.$.echo! greet] $res)
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
)
|
||||
(call %init_peer_id% ("op" "noop") [])
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
(null)
|
||||
)
|
||||
(call %init_peer_id% ("op" "noop") [])
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(null)
|
||||
(next greeting_service)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(next greeting_service)
|
||||
(next result)
|
||||
)
|
||||
)
|
||||
)
|
||||
(call %init_peer_id% ("op" "identity") [$res.$.[3]!])
|
||||
(call %init_peer_id% ("op" "identity") [$res.$.[5]!])
|
||||
)
|
||||
(xor
|
||||
(call %init_peer_id% ("callbackSrv" "response") [$res])
|
||||
@@ -629,10 +717,11 @@ export async function echo_greeting_par_inverse_greet(client: FluenceClient, ech
|
||||
h.on('getDataSrv', '-relay-', () => {
|
||||
return client.relayPeerId!;
|
||||
});
|
||||
h.on('getDataSrv', 'echo_service', () => {return echo_service;});
|
||||
h.on('getDataSrv', 'greet', () => {return greet;});
|
||||
h.on('getDataSrv', 'echo_service', () => {return echo_service;});
|
||||
h.on('getDataSrv', 'greeting_services', () => {return greeting_services;});
|
||||
h.onEvent('callbackSrv', 'response', (args) => {
|
||||
const [res] = args;
|
||||
const [res] = args;
|
||||
resolve(res);
|
||||
});
|
||||
|
||||
@@ -644,9 +733,9 @@ h.on('getDataSrv', 'greeting_services', () => {return greeting_services;});
|
||||
})
|
||||
.handleScriptError(reject)
|
||||
.handleTimeout(() => {
|
||||
reject('Request timed out for echo_greeting_par_inverse_greet');
|
||||
reject('Request timed out for echo_greeting_par_alternative');
|
||||
})
|
||||
if(config?.ttl) {
|
||||
if(config && config.ttl) {
|
||||
r.withTTL(config.ttl)
|
||||
}
|
||||
request = r.build();
|
||||
@@ -654,4 +743,4 @@ h.on('getDataSrv', 'greeting_services', () => {return greeting_services;});
|
||||
await client.initiateFlow(request!);
|
||||
return promise;
|
||||
}
|
||||
|
||||
|
||||
|
@@ -17,14 +17,18 @@
|
||||
import { createClient, setLogLevel, FluenceClient } from "@fluencelabs/fluence";
|
||||
import { krasnodar, Node } from "@fluencelabs/fluence-network-environment";
|
||||
import {
|
||||
echo,
|
||||
greeting,
|
||||
echo_greeting_seq,
|
||||
echo_greeting_seq_2,
|
||||
echo_greeting_par,
|
||||
echo_greeting_par_inverse,
|
||||
echo_greeting_par_greet,
|
||||
echo_greeting_par_inverse_greet,
|
||||
echo_greeting_par_alternative,
|
||||
echo_greeting_par_improved
|
||||
} from "./echo_greeter";
|
||||
|
||||
|
||||
interface EchoResult {
|
||||
echo: string;
|
||||
}
|
||||
interface NodeServicePair {
|
||||
node: string;
|
||||
service_id: string;
|
||||
@@ -95,7 +99,31 @@ async function main() {
|
||||
fluence.relayPeerId
|
||||
);
|
||||
|
||||
let network_result = await echo_greeting_seq(
|
||||
let echo_result = await echo(
|
||||
fluence,
|
||||
names,
|
||||
echo_topos[0].node,
|
||||
echo_topos[0].service_id
|
||||
);
|
||||
|
||||
let result = "";
|
||||
|
||||
for (let item of echo_result) {
|
||||
result += item.echo + ","
|
||||
}
|
||||
console.log("echo result : ", result);
|
||||
|
||||
let greeting_result = await greeting(
|
||||
fluence,
|
||||
names[0],
|
||||
true,
|
||||
greeting_topos[0].node,
|
||||
greeting_topos[0].service_id
|
||||
);
|
||||
console.log("greeting result : ", greeting_result);
|
||||
|
||||
// echo_greeting_par(greet: bool, echo_service: EchoServiceInput, greeting_services: []NodeServicePair) -> []string:
|
||||
let seq_result = await echo_greeting_seq(
|
||||
fluence,
|
||||
names,
|
||||
true,
|
||||
@@ -103,48 +131,32 @@ async function main() {
|
||||
echo_topos[0].service_id,
|
||||
greeting_topos[0].service_id
|
||||
);
|
||||
console.log("seq result : ", network_result);
|
||||
console.log("seq result : ", seq_result);
|
||||
|
||||
|
||||
network_result = await echo_greeting_seq_2(
|
||||
fluence,
|
||||
names,
|
||||
true,
|
||||
echo_topos[0],
|
||||
greeting_topos[0]
|
||||
);
|
||||
console.log("seq result with improved signature : ", network_result);
|
||||
|
||||
// echo_greeting_par(greet: bool, echo_service: EchoServiceInput, greeting_services: []NodeServicePair) -> []string:
|
||||
network_result = await echo_greeting_par(
|
||||
fluence,
|
||||
true,
|
||||
echo_service,
|
||||
greeting_topos
|
||||
);
|
||||
console.log("par result : ", network_result);
|
||||
|
||||
network_result = await echo_greeting_par_inverse(
|
||||
let par_result = await echo_greeting_par(
|
||||
fluence,
|
||||
true,
|
||||
echo_service,
|
||||
greeting_services
|
||||
);
|
||||
console.log("par inverse result : ", network_result);
|
||||
console.log("par result : ", par_result);
|
||||
|
||||
network_result = await echo_greeting_par_greet(
|
||||
|
||||
par_result = await echo_greeting_par_alternative(
|
||||
fluence,
|
||||
true,
|
||||
echo_service,
|
||||
greeting_services
|
||||
);
|
||||
console.log("par alternative result : ", par_result);
|
||||
|
||||
par_result = await echo_greeting_par_improved(
|
||||
fluence,
|
||||
echo_service,
|
||||
greeting_services
|
||||
);
|
||||
console.log("par result with greet variation : ", network_result);
|
||||
|
||||
network_result = await echo_greeting_par_inverse_greet(
|
||||
fluence,
|
||||
echo_service,
|
||||
greeting_services
|
||||
);
|
||||
console.log("par inverse result with greet variation : ", network_result);
|
||||
console.log("par improved signature result : ", par_result);
|
||||
|
||||
|
||||
return;
|
||||
@@ -155,4 +167,4 @@ main()
|
||||
.catch((error) => {
|
||||
console.error(error);
|
||||
process.exit(1);
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user