mirror of
https://github.com/fluencelabs/aqua-lib
synced 2024-12-03 14:50:24 +00:00
42 lines
1.4 KiB
Plaintext
42 lines
1.4 KiB
Plaintext
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
|