LibJuno 1.0.1
LibJuno is a lightweight C11 library designed specifically for embedded systems.
Loading...
Searching...
No Matches
juno_broker.c File Reference
#include "juno/ds/queue_api.h"
#include "juno/macros.h"
#include "juno/memory/pointer_api.h"
#include "juno/sb/broker_api.h"
#include "juno/status.h"
Include dependency graph for juno_broker.c:

Functions

static JUNO_STATUS_T Publish (JUNO_SB_BROKER_ROOT_T *ptBroker, JUNO_SB_MID_T tMid, JUNO_POINTER_T tMsg)
 Publish the SB message with message id.
 
static JUNO_STATUS_T RegisterSubscriber (JUNO_SB_BROKER_ROOT_T *ptBroker, JUNO_SB_PIPE_T *ptPipe)
 Register a subscriber to a sb message.
 
JUNO_STATUS_T JunoSb_BrokerInit (JUNO_SB_BROKER_ROOT_T *ptBroker, JUNO_SB_PIPE_T **ptPipeRegistry, size_t iRegistryCapacity, JUNO_FAILURE_HANDLER_T pfcnFailureHdlr, JUNO_USER_DATA_T *pvFailureUserData)
 Initialize a broker with a pipe registry storage array.
 

Variables

static const JUNO_SB_BROKER_API_T gtBrokerApi
 

Function Documentation

◆ JunoSb_BrokerInit()

JUNO_STATUS_T JunoSb_BrokerInit ( JUNO_SB_BROKER_ROOT_T ptBroker,
JUNO_SB_PIPE_T **  ptPipeRegistry,
size_t  iRegistryCapacity,
JUNO_FAILURE_HANDLER_T  pfcnFailureHdlr,
JUNO_USER_DATA_T pvFailureUserData 
)

Initialize a broker with a pipe registry storage array.

◆ Publish()

static JUNO_STATUS_T Publish ( JUNO_SB_BROKER_ROOT_T ptBroker,
JUNO_SB_MID_T  tMid,
JUNO_POINTER_T  tMsg 
)
static

Publish the SB message with message id.

◆ RegisterSubscriber()

static JUNO_STATUS_T RegisterSubscriber ( JUNO_SB_BROKER_ROOT_T ptBroker,
JUNO_SB_PIPE_T ptPipe 
)
static

Register a subscriber to a sb message.

Variable Documentation

◆ gtBrokerApi

const JUNO_SB_BROKER_API_T gtBrokerApi
static
Initial value:
=
{
}
static JUNO_STATUS_T RegisterSubscriber(JUNO_SB_BROKER_ROOT_T *ptBroker, JUNO_SB_PIPE_T *ptPipe)
Register a subscriber to a sb message.
Definition juno_broker.c:73
static JUNO_STATUS_T Publish(JUNO_SB_BROKER_ROOT_T *ptBroker, JUNO_SB_MID_T tMid, JUNO_POINTER_T tMsg)
Publish the SB message with message id.
Definition juno_broker.c:49