Version 2.0.0
This version is backwards incompatible (breaking) but adds support for:
- Requesting data by creating and sending messages just like you do using the wrapped libmdf C/C++ API
- Sending data to the system (assuming you have sufficient permissions)
- Creating messages using a new
Message
class which is a managed implementation of themdf_message_t
handle that can contain several messages - Adding any numeric, integer, string, date, time and list fields that are supported by the native API to a message
- Consuming data and fetching messages and fields "manually" on the same thread using a new
MarketDataFeed
class which is a managed implementation of the nativemdf_t
API handle and a replacement for the removedDataFeed
class - Registering data and status callbacks with strongly-typed custom and settable user data
- Sending of multiple messages
- Resetting and reusing of messages
- Removal of a message from a message handle
- Moving of messages between message handles
- Serialization and deserialization of messages
- Setting the zlib compression level and disabling UTF-8 validation
- Setting the current API error code and the number of sent and received bytes between the client and the server
- Getting the file descriptor used by the connection and the time difference between the client and the server in nanoseconds
- Setting a numerical bind address to which the API will bind before attempting to connect
- Enabling or disabling encryption
- Limiting the supported message digests used to authenticate messages between the server and the client
- Limiting the supported ciphers used to encrypt messages between the server and the client
- Two-factor authentication using an extra credential
- Specifying a custom path to the native dependency
- A bit field (flags)
MessageClasses
enumeration (enum) that defines all message classes
The latest connections statuses, fields/tags, message references and request classes in libmdf 1.0.25 have been added to the existing enums. For each method that accepts an enum value, an overload that accepts the underlying value (int
or uint
) has been added to make the API forward compatible and being able to handle new fields/tags, messages, and request classes without updating.
string
constants for all message classes and request types have also been defined to make them easier to use in Message.AddNumeric
(which is the managed counterpart of mdf_message_add_numeric
), e.g.:
message.AddNumeric(Field.MDF_F_REQUESTTYPE, StringConstants.RequestTypes.MDF_RT_FULL);
- Besides the
DataFeed
class, theRequestMessage
,ResponseMessage
,SubscribeMessage
,UnsubscribeMessage
,ConnnectionStatusChangedEventHandler
andConnectionStatusChangedEventArgs
types have also been removed (breaking)