Messaging API
[Messaging]

Message passing and scheduling API. More...

Classes

struct  data
 Wraps a data array. More...
struct  message
 Message structure for exchanging data. More...
struct  messaging_controller
 Messaging module functions related to message processing control. More...
struct  messaging
 Messaging module functions. More...

Typedefs

typedef connection Connection
 Opaque connection handle.
typedef channel Channel
 Opaque channel handle.
typedef data Data
 Wraps a data array.
typedef message Message
 Message structure for exchanging data.
typedef messaging_controller Messaging_Controller
 Messaging module functions related to message processing control.
typedef void(*) callback (Channel *channel, Message *mesg, void *state)
 Message subscription callback function.
typedef messaging Messaging
 Messaging module functions.

Enumerations

enum  Message_content_type {
  NULL_CONTENT = 0, BYTE_CONTENT = 1, INT8_CONTENT = 2, UINT8_CONTENT = 3,
  INT16_CONTENT = 4, UINT16_CONTENT = 5, INT32_CONTENT = 6, UINT32_CONTENT = 7,
  INT64_CONTENT = 8, UINT64_CONTENT = 9, FLOAT_CONTENT = 10, DOUBLE_CONTENT = 11
}
 Arrays of these possible types comprise the Data payload of a Message. More...

Detailed Description

Message passing and scheduling API.

The Messaging API consists of data structures and functions related to message transfer and control. Consumers of messaging (e.g. Application Components) should code to this API. Many different classes/modules could potentially implement the messaging API, and the choice of messaging implementation is made at deploy time.


Typedef Documentation

typedef void(*) callback(Channel *channel, Message *mesg, void *state)

Message subscription callback function.

Message content will potentially be deallocated after the callback returns, so any data that has to persist past the callback invocation must be *copied*

Definition at line 146 of file messaging.h.

typedef struct channel Channel

Opaque channel handle.

Obtained from a Connection via open_channel(Connection connection, const char * name), a Channel is used to send messages, as well as subscribe to other channels and bind incoming messages to a callback for processing.

Definition at line 73 of file messaging.h.

typedef struct connection Connection

Opaque connection handle.

A Connection is bound to a single Messaging instance, and is intended to be a persistent.

Definition at line 62 of file messaging.h.

typedef struct messaging Messaging

Messaging module functions.

A Messaging instance encapsulates the common messaging-related functions an application component may need to use, such as suscribing to channels, sending messages, registering a callback upon message receipt, etc.

typedef struct messaging_controller Messaging_Controller

Messaging module functions related to message processing control.

A Messaging_Controller instance encapsulates those functions which perform an administrative role in message delivery rather than a user-focused role (send, receive, subscribe, etc). These are intended to be used by code which controls message delivery and execution to an application component (i.e. within an Execution instance) rather than from within the application component itself


Enumeration Type Documentation

enum Message_content_type

Arrays of these possible types comprise the Data payload of a Message.

Enumerator:
NULL_CONTENT  Indicates the absence of value.
BYTE_CONTENT  Raw 8-bit bytes.
INT8_CONTENT  Signed 8-bit integers.
UINT8_CONTENT  Unsigned 8-bit integers.
INT16_CONTENT  Signed 16-bit integers.
UINT16_CONTENT  Unsigned 16-bit integers.
INT32_CONTENT  Signed 32-bit integers.
UINT32_CONTENT  Unsigned 32-bit integers.
INT64_CONTENT  Signed 64-bit integers.
UINT64_CONTENT  Unsigned 64-bit integers.
FLOAT_CONTENT  IEEE floating point values.
DOUBLE_CONTENT  IEEE double precision floating point values.

Definition at line 41 of file messaging.h.


Generated on Thu Sep 27 11:11:48 2012 for VetSim by  doxygen 1.4.7