Add resources-api, update terminology, remove pinned field from keys (#99)

This commit is contained in:
Aleksey Proshutisnkiy
2022-04-11 16:24:51 +04:00
committed by GitHub
parent f8e00527a7
commit 1c5ec8754d
25 changed files with 955 additions and 980 deletions

View File

@ -1,8 +1,8 @@
-- This file demonstrates how to send events to subscribers of a topic
-- Detailed explanation can be found in the Aqua Book: https://doc.fluence.dev/aqua-book/libraries/aqua-dht#passing-data-to-subscribers
import "@fluencelabs/registry/routing.aqua"
import "@fluencelabs/registry/registry.aqua"
import "@fluencelabs/registry/registry-service.aqua"
import "@fluencelabs/registry/resources-api.aqua"
import PeerId from "@fluencelabs/aqua-lib/builtin.aqua"
-- Application event
@ -23,10 +23,10 @@ func notify_peer(rec: Record, event: Event):
EventAPI.receive_event(event)
-- send event to every peer registered on route
func send_everyone(route_id: string, event: Event, ack: i16):
func send_everyone(key_id: string, event: Event, ack: i16):
on HOST_PEER_ID:
-- retrieve all peers registered to the route
records <- resolveRoute(route_id, ack)
records <- resolveProviders(key_id, ack)
-- iterate through them
for rec <- records par:
notify_peer(rec, event)

View File

@ -1,7 +1,7 @@
module Export
import createRouteAndRegisterNodeBlocking, resolveRoute from "@fluencelabs/registry/routing.aqua"
import createResourceAndRegisterNodeProvider, resolveProviders from "@fluencelabs/registry/resources-api.aqua"
import Peer from "@fluencelabs/aqua-lib/builtin.aqua"
export createRouteAndRegisterNodeBlocking, resolveRoute, timestamp_sec
export createResourceAndRegisterNodeProvider, resolveProviders, timestamp_sec
func timestamp_sec() -> u64:

View File

@ -1,6 +1,6 @@
import {Fluence, KeyPair} from "@fluencelabs/fluence";
import { krasnodar, Node } from "@fluencelabs/fluence-network-environment";
import {createRouteAndRegisterNodeBlocking, resolveRoute, timestamp_sec} from "./generated/export";
import {createResourceAndRegisterNodeProvider, resolveProviders, timestamp_sec} from "./generated/export";
let local: Node[] = [
{
@ -31,17 +31,20 @@ async function main() {
);
let label = "myLabel";
let value = "myValue";
console.log("Will create route with label:", label);
console.log("Will create resource with label:", label);
// create route (if not exists) and register on it
let route_id = await createRouteAndRegisterNodeBlocking(krasnodar[0].peerId,
label, value, "identity",
(s) => console.log(`node ${s} saved the record`),
5
let [resource_id, error] = await createResourceAndRegisterNodeProvider(krasnodar[0].peerId,
label, value, "identity"
);
// find other peers on this route
console.log("let's resolve route for %s", route_id);
let providers = await resolveRoute(route_id, 5);
console.log("route providers:", providers);
if (resource_id !== null) {
// find other peers on this route
console.log("let's resolve route for %s", resource_id);
let [providers, error] = await resolveProviders(resource_id, 5);
console.log("route providers:", providers);
} else {
console.error(error);
}
}
main().then(() => process.exit(0))