Diffusion C API  6.7.4
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
topic_types.h File Reference

Types relating to topic messages and service messages. More...

Data Structures

struct  message_s
 Generic message; all messages should fit into this structure. More...
 
struct  topic_message_s
 Structure for slightly simplified access to topic messages. More...
 
struct  v5_message_s
 Service messages over the V5 protocol are parsed into this common structure, with the unparsed service-specific content in the payload field. More...
 
struct  stream_message_options_s
 Additional options associated with a STREAM_MESSAGE_T. More...
 
struct  stream_message_s
 Messages directed to this session are received through a globally registered handler, and are parsed into this structure. More...
 

Macros

#define RECORD_DELIM
 protocol record delimiter
 
#define FIELD_DELIM
 protocol field delimiter
 
#define PROTOCOL_BYTE
 protocol indicator in connection handshake
 
#define WS_PROTOCOL_VERSION
 Diffusion protocol version to use with websocket connections.
 
#define WS_CLIENT_TYPE
 WS protocol client type = "WC".
 
#define CAPABILITIES
 Bitmask used to negotiate the client capabilities. More...
 
#define ENCODING_NONE
 The connection is raw with no encoding. More...
 
#define ENCODING_COMPRESSED
 The connection is compressed. More...
 
#define MESSAGE_TYPE_MAX_VALUE
 The maximum allowed message type value. More...
 

Typedefs

typedef struct message_s MESSAGE_T
 Generic message; all messages should fit into this structure.
 
typedef struct topic_message_s TOPIC_MESSAGE_T
 Structure for slightly simplified access to topic messages. More...
 
typedef struct v5_message_s V5_MESSAGE_T
 Service messages over the V5 protocol are parsed into this common structure, with the unparsed service-specific content in the payload field.
 
typedef struct
stream_message_options_s 
STREAM_MESSAGE_OPTIONS_T
 Additional options associated with a STREAM_MESSAGE_T.
 
typedef struct stream_message_s STREAM_MESSAGE_T
 Messages directed to this session are received through a globally registered handler, and are parsed into this structure.
 

Enumerations

enum  MESSAGE_TYPE_T { , MESSAGE_TYPE_TOPIC_LOAD, MESSAGE_TYPE_DELTA }
 An enumeration of messages types, corresponding to messages in the v4 protocol. More...
 

Detailed Description

Types relating to topic messages and service messages.

Copyright © 2014, 2021 Push Technology Ltd., All Rights Reserved.

Use is subject to license terms.

NOTICE: All information contained herein is, and remains the property of Push Technology. The intellectual and technical concepts contained herein are proprietary to Push Technology and may be covered by U.S. and Foreign Patents, patents in process, and are protected by trade secret or copyright law.

Macro Definition Documentation

#define CAPABILITIES

Bitmask used to negotiate the client capabilities.

The C API only supports "Feature Clients" at this time.

  • 0000 0000 None
  • 0000 0001 Encrypt
  • 0000 0010 Compress
  • 0000 0100 Base64
  • 0000 1000 Feature
#define ENCODING_COMPRESSED

The connection is compressed.

#define ENCODING_NONE

The connection is raw with no encoding.

#define MESSAGE_TYPE_MAX_VALUE

The maximum allowed message type value.

Typedef Documentation

Structure for slightly simplified access to topic messages.

Identical to MESSAGE_T except for the name and specification fields.

Enumeration Type Documentation

An enumeration of messages types, corresponding to messages in the v4 protocol.

Enumerator
MESSAGE_TYPE_TOPIC_LOAD 

Full topic contents.

MESSAGE_TYPE_DELTA 

Topic updated, potentially only contains differences with prior contents.