示例#1
0
文件: timer.c 项目: Learn-iot/soletta
static bool
timer_tick(void *data)
{
    struct timer_data *mdata = data;

    sol_flow_send_empty_packet(mdata->node, SOL_FLOW_NODE_TYPE_TIMER__OUT__OUT);
    return true;
}
示例#2
0
文件: ipm.c 项目: Learn-iot/soletta
static void
empty_receiver(void *data, uint32_t id, struct sol_blob *message)
{
    struct sol_flow_node *node = data;

    sol_flow_send_empty_packet(node,
        SOL_FLOW_NODE_TYPE_IPM_EMPTY_READER__OUT__OUT);
    sol_blob_unref(message);
}
示例#3
0
文件: ipm.c 项目: Learn-iot/soletta
static void
common_consumed_callback(void *data, uint32_t id, struct sol_blob *message)
{
    struct sol_flow_node *node = data;
    struct ipm_writer_node_type *type;

    type = (struct ipm_writer_node_type *)sol_flow_node_get_type(node);

    sol_flow_send_empty_packet(node, type->consumed_port);
}
示例#4
0
static int
inc_process(struct sol_flow_node *node, void *data, uint16_t port, uint16_t conn_id,
    const struct sol_flow_packet *packet)
{
    struct accumulator_data *mdata = data;

    mdata->val.val += mdata->val.step;
    if (mdata->val.val > mdata->val.max) {
        mdata->val.val = mdata->val.min;
        sol_flow_send_empty_packet(node, SOL_FLOW_NODE_TYPE_INT_ACCUMULATOR__OUT__OVERFLOW);
    }

    return sol_flow_send_irange_packet(node,
        SOL_FLOW_NODE_TYPE_INT_ACCUMULATOR__OUT__OUT,
        &mdata->val);
}
示例#5
0
static int
constant_empty_open(struct sol_flow_node *node, void *data, const struct sol_flow_node_options *options)
{
    return sol_flow_send_empty_packet(node,
        SOL_FLOW_NODE_TYPE_CONSTANT_EMPTY__OUT__OUT);
}