Solace C API Developer Guide

The Solace Messaging API for C is a robust and high-performance API designed to enable C applications to interact seamlessly with the Solace event broker. The Solace C API provides comprehensive support for message exchange patterns such as point-to-point and publish-subscribe, offering advanced messaging features to handle high-throughput, low-latency environments.

To get you started, here is a brief overview of some of the key messaging concepts used in the Solace C API:

Contexts

The Solace C API uses processing contexts for organizing communication between an application and a Solace event broker. Contexts act as containers in which zero or more sessions are created and session-related events can be handled. A context encapsulates threads that drive network I/O and message delivery notification for the sessions and session components associated with that context. For the Solace C API, a single thread is used for both I/O and for notification. The life cycle of a context‑owned thread is bound to the life cycle of the context.

For more information on contexts in the Solace C API, see Creating Contexts.

Sessions

A session creates a single, client connection to an event broker for sending and receiving messages. When a context is established, one or more sessions can be created within that context.

A session provides the following primary services:

  • client connection

  • update and retrieve session properties

  • retrieve session statistics

  • add and remove subscriptions

  • create destinations and endpoints

  • publish and receive Direct messages

  • publish Guaranteed messages

For more information on sessions in the Solace C API, see Creating Client Sessions.

Flows

A consumer flow is an API object that allows applications to receive Guaranteed messages from an endpoint, such as a Queue. It is created by a session. To receive Guaranteed messages, a client must create a consumer flow within a session, and bind that flow to an endpoint on a Solace event broker that messages are published or attracted to.

For more information on flows in the Solace C API, see Creating Flows.

Other helpful links: