-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathworkers.aqua
41 lines (32 loc) · 1.42 KB
/
workers.aqua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
aqua WorkersLib declares *
import PeerId from "./builtin.aqua"
alias CUID : []u8
-- Available only on rust peers
service Worker("worker"):
-- Creates new worker associated with `deal_id` and allows specifying custom `cu_ids`.
-- Arguments:
-- deal_id - ID of the deal
-- cu_ids – an array of target compute unit IDs
-- Returns: PeerId - worker ID if creation was successful
-- Throws an error if a worker exists.
create(deal_id: string, cu_ids: []CUID) -> PeerId
-- Returns worker peer id associated with `deal_id`.
-- Returns nil if worker doesn't exist.
get_worker_id(deal_id: string) -> ?PeerId
-- Removes worker with all deployed spells and services.
-- Throws an error if worker doesn't exist.
-- Worker can be removed only by worker creator or worker itself.
remove(worker_id: PeerId)
-- Returns list of all workers.
list() -> []PeerId
-- Restarts worker installation spell.
-- Can be called only by system spells or peer manager,
-- Throws an error if worker doesn't exist.
activate(deal_id: string)
-- Stops all worker spells and drops all incoming particles until activation.
-- Can be called only by system spells or peer manager,
-- Throws an error if worker doesn't exist.
deactivate(deal_id: string)
-- Returns true if worker is active.
-- Throws an error if worker doesn't exist.
is_active(deal_id: string) -> bool