|
Csilk 0.2.1
A lightweight, high-performance C HTTP web framework
|
A single node in a workflow DAG. Each node wraps a handler function with optional edges, error handling, dynamic routing, and timeout support. More...

Data Fields | |
| char * | id |
| int | index |
| csilk_wf_handler_t | handler |
| void * | user_data |
| csilk_wf_edge_t * | edges |
| size_t | edge_count |
| size_t | edge_capacity |
| int | incoming_count |
| int | is_entry |
| csilk_wf_node_t * | error_target |
| csilk_wf_router_t | router_fn |
| csilk_wf_join_policy_t | join_policy |
| int | timeout_ms |
| int | is_interactive |
| char * | output_schema |
| int | max_retries |
| int | retry_delay_ms |
| int | is_remote |
| void(* | user_data_free )(void *) |
A single node in a workflow DAG. Each node wraps a handler function with optional edges, error handling, dynamic routing, and timeout support.
Opaque handle for a single node in a workflow.
| size_t csilk_wf_node_t::edge_capacity |
Allocated edge array capacity.
| size_t csilk_wf_node_t::edge_count |
Number of outgoing edges.
| csilk_wf_edge_t* csilk_wf_node_t::edges |
Outgoing edges (conditions leading to next nodes).
| csilk_wf_node_t* csilk_wf_node_t::error_target |
Fallback node on handler failure (NULL output).
| csilk_wf_handler_t csilk_wf_node_t::handler |
Node execution callback.
| char* csilk_wf_node_t::id |
Unique string identifier.
| int csilk_wf_node_t::incoming_count |
Number of incoming edges (for join tracking).
| int csilk_wf_node_t::index |
Internal array index for tracking in context.
| int csilk_wf_node_t::is_entry |
Explicit entry point flag.
| int csilk_wf_node_t::is_interactive |
Requires manual signal to proceed.
| int csilk_wf_node_t::is_remote |
Offload to remote worker via MQ.
| csilk_wf_join_policy_t csilk_wf_node_t::join_policy |
AND (wait for all) or OR (fire on any).
| int csilk_wf_node_t::max_retries |
Max automatic retry attempts.
| char* csilk_wf_node_t::output_schema |
JSON Schema for output validation.
| int csilk_wf_node_t::retry_delay_ms |
Delay between retries.
| csilk_wf_router_t csilk_wf_node_t::router_fn |
Dynamic router: overrides edges when set.
| int csilk_wf_node_t::timeout_ms |
Per-node execution timeout (0 = no timeout).
| void* csilk_wf_node_t::user_data |
Opaque context for the handler.
| void(* csilk_wf_node_t::user_data_free) (void *) |
Called by node_free to free user_data.