Default Message Types

AMPS automatically loads modules for the following message types:

Message TypeDescription

bson

Binary JSON (BSON) messages.

See http://www.bsonspec.org for information on this format.

bflat

BFlat, a schemaless message format based on key-value pairs that includes support for binary representations of numeric data.

See http://bflat.io for information on this format.

fix

FIX messages using numeric tags. FIX is a standard format widely used in the financial industry.

See https://www.fixtrading.org/what-is-fix/ for more information on this format.

json

JSON (JavaScript Object Notation) messages.

See http://www.json.org for information on this format.

msgpack

MessagePack messages.

MessagePack is a schemaless serialization format designed to efficiently encode data.

See http://msgpack.org/index.html for more information on MessagePack.

nvfix

NVFIX (name/value FIX) messages.

NVFIX uses the same basic format as FIX, but allows tags to contain any byte that is not = or the configured field separator character (by default, the ASCII SOH character).

By contrast, FIX requires that tags are numeric.

xml

XML messages (of any schema)

binary

Uninterpreted binary payload.

Since this module does not attempt to parse the payload, it does not support content filtering, views and aggregates.

Likewise, because there is no set format for the payload, this message type cannot support features that construct messages (such as delta messaging, /AMPS/.* topic subscriptions and stats acks).

protobuf

Google protocol buffer messages.

To use this message type, you must configure a MessageType with the format of the messages (the .proto files).

With these message types, AMPS automatically loads the module that provides the message type. AMPS declares message types for all of the above message types except for protobuf.

For efficiency, AMPS only parses the content of a message if required, and only to the extent required. For example, if AMPS only needs to find the id tag in an NVFIX message, AMPS will not fully parse the message, but will stop parsing the message after finding the id tag. This provides significant performance improvements, and also means that AMPS does not verify the format or validity of messages unless it needs to parse the messages. When AMPS parses a message, it may only partially parse a message, and may not detect corruption or invalid format in a message if that corruption occurs after the point at which AMPS has all of the required information from the message.

The FIX and NVFIX message types support configuration of the field and message delimiters.

AMPS also allows you to create new message types by assembling existing message types into a composite message. Composite message types are described in Composite Messages, and require additional configuration:

Message Type NameDescription

composite-global

Composite message type that combines message parts for content filtering. This message type combines one or more existing message types into a message. This type of composite message does not distinguish between sections of the message when parsing the message. This type is described in more detail in the section on composite-global in Composite Messages.

composite-local

Composite message type, filterable by individual parts. This message type combines one or more existing message types into a message. This type of composite message preserves information about the sections of the message when parsing the message. This type is described in more detail in the section on composite-local in Composite Messages.

Last updated

Copyright 2013-2024 60East Technologies, Inc.