StSubscriber * st_subscriber_create(StBroker *broker)
Create the subscriber.
char StLoad
Opaque data type that represents the message load.
Definition broker.h:80
struct StSubscriber StSubscriber
The subscriber.
Definition broker.h:142
void st_subscribe(StSubscriber *sber, const char *topic)
Subscribe to a topic.
void st_subscriber_destroy(StSubscriber *sber)
Destroy the subscriber.
void st_subscriber_unload(StSubscriber *sber)
Inform the broker that the message can be released for the given subscriber.
StLoad * st_subscriber_poll(StSubscriber *sber)
Poll for the messages that are wanted by the subscriber.
struct StBroker StBroker
The message broker.
Definition broker.h:135
StBroker * st_broker_create(const struct StLoadVt *vp)
Create the message broker.
const char * st_channel_gettopic(const StChannel *ch)
Get the topic for the given channel.
StChannel * st_load_getchan(const StLoad *load)
Get the source channel of the message.
void st_broker_destroy(StBroker *broker)
Destroy the message broker.
void st_publish(StChannel *ch,...)
Broadcast the message.
struct StChannel StChannel
The channel for messages.
Definition broker.h:153
StChannel * st_broker_search(StBroker *broker, const char *topic)
Find the channel that is assigned to the given topic.
StLoad * st_subscriber_await(StSubscriber *sber)
Wait for the messages that are wanted by the subscriber.
Vtable for message construction.
Definition broker.h:87
void(* dtor)(StLoad *)
Destructor callback for the message.
Definition broker.h:122
void(* ctor)(StLoad *, va_list)
Constructor callback for the message.
Definition broker.h:113
size_t(* size)(void)
Callback for obtaining the size of the load.
Definition broker.h:98