mirror of
https://github.com/fluencelabs/registry.git
synced 2025-06-28 07:11:36 +00:00
Add resources-api, update terminology, remove pinned field from keys (#99)
This commit is contained in:
committed by
GitHub
parent
f8e00527a7
commit
1c5ec8754d
@ -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)
|
||||
|
@ -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:
|
||||
|
@ -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))
|
||||
|
Reference in New Issue
Block a user