aboutsummaryrefslogtreecommitdiffstats
path: root/core/module.h
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-29 07:11:32 +0100
committereunhhu <[email protected]>2026-09-29 07:11:32 +0100
commitfcf7cdbe0a971825da0bb087383c60e714ab2be0 (patch)
treed805332bdd68171349892b950de02cf317988de7 /core/module.h
parenta052b95c8135cdc5f9b91f8efc991cac80fbbe8b (diff)
downloadpure-fcf7cdbe0a971825da0bb087383c60e714ab2be0.tar.gz
pure-fcf7cdbe0a971825da0bb087383c60e714ab2be0.zip
Let links know nothing of the core: the host names inputs and shapes
A sender takes its messages' shape, and a listener asks its host which input a stream goes to. The core gives the shape (pure_module_shape); link/ now builds without the core's headers.
Diffstat (limited to 'core/module.h')
-rw-r--r--core/module.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/core/module.h b/core/module.h
index 3431c87..0b45ba2 100644
--- a/core/module.h
+++ b/core/module.h
@@ -211,6 +211,10 @@ int pure_module_state(const PureModule *, const char *name);
int pure_module_input(const PureModule *, const char *name);
int pure_module_view(const PureModule *, const char *name);
int pure_module_column(const PureModule *, uint32_t table, const char *name);
+/* What a message of an input looks like, as 32 bits: its fields' names,
+ * types and places (FNV-1a). A sender's output and the input it sends to
+ * across nodes must agree on it (link/link.h). */
+uint32_t pure_module_shape(const PureModule *, uint32_t input);
/* The index state a number view shows as its position (a view that is just
* `at.position`), or -1: what a host moves with pure_app_point. */
int pure_module_position(const PureModule *, uint32_t view);