• Version 1.15.2
Show / Hide Table of Contents

Class FlatMessage

FIX Protocol Message as a sequence of 'tag=value' pairs.

Inheritance
object
FlatMessage
Implements
IMessage
IFieldSet
IEnumerable<Field>
IEnumerable
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
Namespace: OnixS.Fix
Assembly: OnixS.Fix.Engine.dll
Syntax
public class FlatMessage : IMessage, IFieldSet, IEnumerable<Field>, IEnumerable

Constructors

FlatMessage(FlatMessage)

Copy constructor.

Declaration
public FlatMessage(FlatMessage flatMessage)
Parameters
Type Name Description
FlatMessage flatMessage

source flat message to be copied

FlatMessage(Message, bool)

Constructs an instance from the given Message.

Declaration
public FlatMessage(Message source, bool setApplVerId = true)
Parameters
Type Name Description
Message source

Source message

bool setApplVerId

Option to set the ApplVerID field if it is absent in the source message

FlatMessage(ProtocolVersion, bool)

Constructs an instance with empty required message header fields:

BeginString, BodyLength, MsgType, SenderCompID, TargetCompID, MsgSeqNum, SendingTime.

Declaration
public FlatMessage(ProtocolVersion version, bool setApplVerId = true)
Parameters
Type Name Description
ProtocolVersion version

ProtocolVersion to be used during the message construction

bool setApplVerId

Option to set the ApplVerID field

FlatMessage(byte[], int)

Constructs the instance from the given plain FIX (tag=value) byte array.

Declaration
public FlatMessage(byte[] rawFixMessage, int length)
Parameters
Type Name Description
byte[] rawFixMessage

A plain FIX (tag=value) byte array

int length

the message length in bytes

FlatMessage(byte[], int, int)

Constructs the instance from the given plain FIX (tag=value) byte array.

Declaration
public FlatMessage(byte[] rawFixMessage, int offset, int length)
Parameters
Type Name Description
byte[] rawFixMessage

A plain FIX (tag=value) byte array

int offset

Array offset

int length

the message length in bytes

FlatMessage(ReadOnlySpan<byte>)

Constructs the instance from the given plain FIX (tag=value) byte span.

Declaration
public FlatMessage(ReadOnlySpan<byte> rawFixMessage)
Parameters
Type Name Description
ReadOnlySpan<byte> rawFixMessage

A plain FIX (tag=value) byte span

FlatMessage(string)

Constructs the instance from the given plain FIX (tag=value) string.

Declaration
public FlatMessage(string rawFixMessage)
Parameters
Type Name Description
string rawFixMessage

A plain FIX (tag=value) string

Fields

IndexNotFound

Declaration
public const int IndexNotFound = -1
Field Value
Type Description
int

Properties

Content

Declaration
public byte[] Content { get; }
Property Value
Type Description
byte[]

ContentLength

Declaration
public int ContentLength { get; }
Property Value
Type Description
int

FieldCount

Returns the number of tag/value pairs excluding nested repeating groups.

Declaration
public int FieldCount { get; }
Property Value
Type Description
int

The number of tag/value pairs excluding nested repeating groups

this[int]

Returns the field value as string.

Declaration
public string this[int tag] { get; set; }
Parameters
Type Name Description
int tag

Tag number

Property Value
Type Description
string

Field value as string, null if it is not set

NumberOfFields

Return number of tag/value pairs.

Declaration
public int NumberOfFields { get; }
Property Value
Type Description
int

number of tag/value pairs.

SenderCompId

The SenderCompID (tag 49) field value.

Declaration
public string SenderCompId { get; }
Property Value
Type Description
string

SenderCompID (tag 49) field value

SeqNum

Message sequence number - the MsgSeqNum (tag 34) field value.

Declaration
public int SeqNum { get; set; }
Property Value
Type Description
int

Message sequence number

TargetCompId

The TargetCompID (tag 56) field.

Declaration
public string TargetCompId { get; }
Property Value
Type Description
string

TargetCompID (tag 56) field value

Type

Message type - the MsgType (tag 35) field value.

Declaration
public string Type { get; }
Property Value
Type Description
string

Message type

Version

FIX Protocol version.

Declaration
public ProtocolVersion Version { get; }
Property Value
Type Description
ProtocolVersion

Methods

Add(int, ByteBuffer)

Adds the given tag/value pair at the end of the message instance.

Note: Tag/value pair can be added multiple times, for example to build up a repeating group.

Declaration
public FlatMessage Add(int tag, ByteBuffer value)
Parameters
Type Name Description
int tag

field tag

ByteBuffer value

field value represented as ByteBuffer

Returns
Type Description
FlatMessage

this

Add(int, ByteBuffer, long, long)

Adds the given tag/value pair at the end of the message instance.

Note: Tag/value pair can be added multiple times, for example to build up a repeating group.

Declaration
public FlatMessage Add(int tag, ByteBuffer value, long startPosition, long length)
Parameters
Type Name Description
int tag

field tag

ByteBuffer value

field value represented as ByteBuffer

long startPosition
long length
Returns
Type Description
FlatMessage

this

Add(int, byte[], int, int)

Adds the given tag/value pair at the end of the message instance.

Note: Tag/value pair can be added multiple times, for example to build up a repeating group.

Declaration
public FlatMessage Add(int tag, byte[] value, int offset, int length)
Parameters
Type Name Description
int tag

field tag

byte[] value

field value

int offset

value offset

int length

value length

Returns
Type Description
FlatMessage

this

Add(int, char)

Adds the given tag/value pair at the end of the message instance.

Note: Tag/value pair can be added multiple times, for example to build up a repeating group.

Declaration
public FlatMessage Add(int tag, char value)
Parameters
Type Name Description
int tag

field tag

char value

field value represented as char

Returns
Type Description
FlatMessage

this

Add(int, DateTime)

Adds the given tag/value pair at the end of the message instance.

Note: Tag/value pair can be added multiple times, for example to build up a repeating group.

Declaration
public FlatMessage Add(int tag, DateTime value)
Parameters
Type Name Description
int tag

field tag

DateTime value

field value represented as DateTime

Returns
Type Description
FlatMessage

this

Add(int, decimal)

Adds the given tag/value pair at the end of the message instance.

Note: Tag/value pair can be added multiple times, for example to build up a repeating group.

Declaration
public FlatMessage Add(int tag, decimal value)
Parameters
Type Name Description
int tag

field tag

decimal value

field value represented as decimal

Returns
Type Description
FlatMessage

this

Add(int, decimal, int)

Adds the given tag/value pair at the end of the message instance.

Note: Tag/value pair can be added multiple times, for example to build up a repeating group.

Declaration
public FlatMessage Add(int tag, decimal value, int precision)
Parameters
Type Name Description
int tag

field tag

decimal value

field value represented as decimal

int precision

the number of digits in decimal part

Returns
Type Description
FlatMessage

this

Add(int, double)

Adds the given tag/value pair at the end of the message instance.

Note: Tag/value pair can be added multiple times, for example to build up a repeating group.

Declaration
public FlatMessage Add(int tag, double value)
Parameters
Type Name Description
int tag

field tag

double value

field value represented as double

Returns
Type Description
FlatMessage

this

Add(int, double, int)

Adds the given tag/value pair at the end of the message instance.

Note: Tag/value pair can be added multiple times, for example to build up a repeating group.

Declaration
public FlatMessage Add(int tag, double value, int precision)
Parameters
Type Name Description
int tag

field tag

double value

field value represented as double

int precision

the number of digits in decimal part

Returns
Type Description
FlatMessage

this

Add(int, int)

Adds the given tag/value pair at the end of the message instance.

Note: Tag/value pair can be added multiple times, for example to build up a repeating group.

Declaration
public FlatMessage Add(int tag, int value)
Parameters
Type Name Description
int tag

field tag

int value

field value represented as int

Returns
Type Description
FlatMessage

this

Add(int, long)

Adds the given tag/value pair at the end of the message instance.

Note: Tag/value pair can be added multiple times, for example to build up a repeating group.

Declaration
public FlatMessage Add(int tag, long value)
Parameters
Type Name Description
int tag

field tag

long value

field value represented as long

Returns
Type Description
FlatMessage

this

Add(int, ReadOnlySpan<byte>)

Declaration
public FlatMessage Add(int tag, ReadOnlySpan<byte> value)
Parameters
Type Name Description
int tag
ReadOnlySpan<byte> value
Returns
Type Description
FlatMessage

Add(int, string)

Adds the given tag/value pair at the end of the message instance.

Note: Tag/value pair can be added multiple times, for example to build up a repeating group.

Declaration
public FlatMessage Add(int tag, string value)
Parameters
Type Name Description
int tag

Field tag

string value

Field value represented as string

Returns
Type Description
FlatMessage

this

Remarks

If CheckSum is the last field then it is replaced by this pair

Add(int, StringBuilder)

Adds the given tag/value pair at the end of the message instance.

Note: Tag/value pair can be added multiple times, for example to build up a repeating group.

Declaration
public FlatMessage Add(int tag, StringBuilder value)
Parameters
Type Name Description
int tag

Field tag

StringBuilder value

Field value represented as StringBuilder

Returns
Type Description
FlatMessage

this

Remarks

If CheckSum is the last field then it is replaced by this pair

Add(int, uint)

Adds the given tag/value pair at the end of the message instance.

Note: Tag/value pair can be added multiple times ( for example, to build up a repeating group).

Declaration
public FlatMessage Add(int tag, uint value)
Parameters
Type Name Description
int tag

field tag

uint value

field value represented as uint

Returns
Type Description
FlatMessage

this

Add(int, ulong)

Adds the given tag/value pair at the end of the message instance.

Note: Tag/value pair can be added multiple times, for example to build up a repeating group.

Declaration
public FlatMessage Add(int tag, ulong value)
Parameters
Type Name Description
int tag

field tag

ulong value

field value represented as ulong

Returns
Type Description
FlatMessage

this

AddFlag(int, bool)

Declaration
public FlatMessage AddFlag(int tag, bool value)
Parameters
Type Name Description
int tag
bool value
Returns
Type Description
FlatMessage

Assemble(ByteBuffer)

Assembles the FIX message to the given buffer.

Note: The fields order should comply with the FIX Protocol requirements: the first field should be BeginString, the second field should be BodyLength.

Note: If the last field is not CheckSum then it will be added.

Note: This method updates both BodyLength and CheckSum values.

Declaration
public void Assemble(ByteBuffer buffer)
Parameters
Type Name Description
ByteBuffer buffer

target byte buffer

Assemble(ByteBuffer, ByteBuffer)

Assembles the FIX message to the given buffers.

Note: The fields order should comply with the FIX Protocol requirements: the first field should be BeginString, the second field should be BodyLength.

Note: If the last field is not CheckSum then it will be added.

Note: This method updates both BodyLength and CheckSum values.

Declaration
public void Assemble(ByteBuffer firstBuffer, ByteBuffer secondBuffer)
Parameters
Type Name Description
ByteBuffer firstBuffer

target buffer where BeginString and BodyLength will be assembled

ByteBuffer secondBuffer

target buffer where the rest of fields will be assembled

Clone()

Declaration
public FlatMessage Clone()
Returns
Type Description
FlatMessage

CompareFieldValue(int, string)

Returns true if the given tag is present in the FieldSet instance and its value is equal to the given string value, otherwise it returns false. The method can help to write GC-free code.

Declaration
public bool CompareFieldValue(int tag, string value)
Parameters
Type Name Description
int tag

Tag number of the field that defines the number of instances in this repeating group (the NoXXX field)

string value

String value to compare

Returns
Type Description
bool

True if the given tag is present in the FieldSet instance and its value is equal to the given string value

CompareType(char)

Returns true if the message type value is equal to the given char value, otherwise it returns false. The method can help to write GC-free code.

Declaration
public bool CompareType(char type)
Parameters
Type Name Description
char type

Message type to compare

Returns
Type Description
bool

True if the message type value is equal to the given string value

CompareType(string)

Returns true if the message type value is equal to the given string value, otherwise it returns false. The method can help to write GC-free code.

Declaration
public bool CompareType(string type)
Parameters
Type Name Description
string type

Message type to compare

Returns
Type Description
bool

True if the message type value is equal to the given string value

Contains(int)

Returns whether the field corresponding to the given tag exists.

Declaration
public bool Contains(int tag)
Parameters
Type Name Description
int tag

field tag

Returns
Type Description
bool

true in case exits, false otherwise.

FindIndex(int)

Finds the field index that corresponds to the given tag.

Note: If multiple tag/value pairs correspond to the given tag, it will return the first one only.

Declaration
public int FindIndex(int tag)
Parameters
Type Name Description
int tag

Field tag

Returns
Type Description
int

Field index that corresponds to the given tag if the corresponding field is present, otherwise - IndexNotFound

FindIndex(int, int)

Finds the field index that corresponds to the given tag and is located after the given index.

Note: This method allows to find indexes of all tag/value pairs correspond to the given tag.

Declaration
public int FindIndex(int tag, int indexToFindAfter)
Parameters
Type Name Description
int tag

Field tag

int indexToFindAfter
Returns
Type Description
int

Field index that corresponds to the given tag if the corresponding field is present, otherwise - IndexNotFound

Get(int)

Returns the field value by the given tag.

Note: The linear search is performed until the tag is found.

Declaration
public string Get(int tag)
Parameters
Type Name Description
int tag

Tag

Returns
Type Description
string

the field value or null if it is not found.

Get(int, int)

Returns the field value by the given tag.

Note: The linear search is performed until the tag is found.

Declaration
public string Get(int tag, int hintFieldIndex)
Parameters
Type Name Description
int tag

Tag

int hintFieldIndex

The search will be started from this field.

Returns
Type Description
string

the field value or null if it is not found.

Get(int, StringBuilder)

Returns the field value as string.

Declaration
public void Get(int tag, StringBuilder result)
Parameters
Type Name Description
int tag

Tag number

StringBuilder result

Field value

GetByIndex(int)

Returns the field value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public string GetByIndex(int index)
Parameters
Type Name Description
int index

index of tag/value pair

Returns
Type Description
string

the field value.

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

GetByIndex(int, out Field)

Fills the field with tag/value from the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public bool GetByIndex(int index, out Field field)
Parameters
Type Name Description
int index

index of tag/value pair

Field field

field to be filled

Returns
Type Description
bool

true in case the field index is valid, false otherwise.

GetBytes(int)

Returns the field value as a byte array.

Declaration
public byte[] GetBytes(int tag)
Parameters
Type Name Description
int tag

Tag number

Returns
Type Description
byte[]

field value as a byte array, null if it is not set

GetChar(int)

Returns the field value by the given tag.

Declaration
public char GetChar(int tag)
Parameters
Type Name Description
int tag

field tag

Returns
Type Description
char

the field value by the given tag,

Character.MAX_VALUE
if it is not found.
Exceptions
Type Condition
IncorrectFieldValueException

if the value is not a char

GetCharByIndex(int)

Returns the field value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public char GetCharByIndex(int index)
Parameters
Type Name Description
int index

index of tag/value pair

Returns
Type Description
char

the field value.

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

IncorrectFieldValueException

if the value is not a char

GetDecimal(int)

Returns the field value as decimal.

Declaration
public decimal GetDecimal(int tag)
Parameters
Type Name Description
int tag

Tag number

Returns
Type Description
decimal

Field value as decimal

Exceptions
Type Condition
TagNotFoundException

If the field is absent

IncorrectFieldValueException

if the value cannot be converted to decimal

GetDecimalByIndex(int)

Returns the field value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public decimal GetDecimalByIndex(int index)
Parameters
Type Name Description
int index

index of tag/value pair

Returns
Type Description
decimal

the field value.

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

IncorrectFieldValueException

if the value cannot be parsed to double

GetDouble(int)

Returns the field value by the given tag.

Declaration
public double GetDouble(int tag)
Parameters
Type Name Description
int tag

field tag

Returns
Type Description
double

the field value by the given tag,

Double.NaN
if it is not found.
Exceptions
Type Condition
IncorrectFieldValueException

if the value cannot be parsed to double

GetDoubleByIndex(int)

Returns the field value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public double GetDoubleByIndex(int index)
Parameters
Type Name Description
int index

index of tag/value pair

Returns
Type Description
double

the field value.

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

IncorrectFieldValueException

if the value cannot be parsed to double

GetEnumerator()

Declaration
public FlatMessage.FieldIterator GetEnumerator()
Returns
Type Description
FlatMessage.FieldIterator

GetFields()

Returns message fields.

Declaration
public Field[] GetFields()
Returns
Type Description
Field[]

Message fields

GetFlag(int)

Returns the flag value by the given tag.

Declaration
public bool GetFlag(int tag)
Parameters
Type Name Description
int tag

field tag

Returns
Type Description
bool

whether field exist and field value is equal to "Y" or "y"

GetFlagByIndex(int)

Returns the field value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public bool GetFlagByIndex(int index)
Parameters
Type Name Description
int index

index of tag/value pair

Returns
Type Description
bool

the field value.

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

IncorrectFieldValueException

if the value is not a char

GetHighResolutionTimeSpan(int)

Returns the field value as TimeSpan.

Declaration
public HighResolutionTimeSpan GetHighResolutionTimeSpan(int tag)
Parameters
Type Name Description
int tag

Tag number

Returns
Type Description
HighResolutionTimeSpan

Field value as HighResolutionTimeSpan

Exceptions
Type Condition
TagNotFoundException

If the field is absent

IncorrectFieldValueException

if the field value cannot be parsed to HighResolutionTimeSpan using either HH:MM:SS (whole seconds) or HH:MM:SS.sss (milliseconds) or HH:MM:SS.sssssss (microseconds) or HH:MM:SS.ssssssssss (nanoseconds) or HH:MM:SS.sssssssssssss (picoseconds) format

GetHighResolutionTimeSpan(int, out TimeSpanFormat)

Returns the field value as TimeSpan and it's source format.

Declaration
public HighResolutionTimeSpan GetHighResolutionTimeSpan(int tag, out TimeSpanFormat format)
Parameters
Type Name Description
int tag

Tag number

TimeSpanFormat format

Value format

Returns
Type Description
HighResolutionTimeSpan

Field value as HighResolutionTimeSpan

Exceptions
Type Condition
TagNotFoundException

If the field is absent

IncorrectFieldValueException

if the field value cannot be parsed to HighResolutionTimeSpan using either HH:MM:SS (whole seconds) or HH:MM:SS.sss (milliseconds) or HH:MM:SS.sssssss (microseconds) or HH:MM:SS.ssssssssss (nanoseconds) or HH:MM:SS.sssssssssssss (picoseconds) format

GetHighResolutionTimestamp(int)

Returns the field value as HighResolutionTimestamp.

Declaration
public HighResolutionTimestamp GetHighResolutionTimestamp(int tag)
Parameters
Type Name Description
int tag

Tag number

Returns
Type Description
HighResolutionTimestamp

Field value as HighResolutionTimestamp

Exceptions
Type Condition
TagNotFoundException

If the field is absent

IncorrectFieldValueException

if the field value cannot be parsed to HighResolutionTimestamp using either YYYYMMDD-HH:MM:SS (whole seconds) or YYYYMMDD-HH:MM:SS.sss (milliseconds) or YYYYMMDD-HH:MM:SS.sssssss (microseconds) or YYYYMMDD-HH:MM:SS.ssssssssss (nanoseconds) or YYYYMMDD-HH:MM:SS.sssssssssssss (picoseconds) format

GetHighResolutionTimestamp(int, out TimestampFormat)

Returns the field value as HighResolutionTimestamp and it's source format.

Declaration
public HighResolutionTimestamp GetHighResolutionTimestamp(int tag, out TimestampFormat format)
Parameters
Type Name Description
int tag

Tag number

TimestampFormat format

Value format

Returns
Type Description
HighResolutionTimestamp

Field value as HighResolutionTimestamp

Exceptions
Type Condition
TagNotFoundException

If the field is absent

IncorrectFieldValueException

if the field value cannot be parsed to HighResolutionTimestamp using either YYYYMMDD-HH:MM:SS (whole seconds) or YYYYMMDD-HH:MM:SS.sss (milliseconds) or YYYYMMDD-HH:MM:SS.sssssss (microseconds) or YYYYMMDD-HH:MM:SS.ssssssssss (nanoseconds) or YYYYMMDD-HH:MM:SS.sssssssssssss (picoseconds) format

GetInteger(int)

Returns the field value by the given tag.

Declaration
public int GetInteger(int tag)
Parameters
Type Name Description
int tag

field tag

Returns
Type Description
int

the field value by the given tag,

Integer.MAX_VALUE
if it is not found.
Exceptions
Type Condition
IncorrectFieldValueException

if the value cannot be parsed to int

GetIntegerByIndex(int)

Returns the field value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public int GetIntegerByIndex(int index)
Parameters
Type Name Description
int index

index of tag/value pair

Returns
Type Description
int

the field value.

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

IncorrectFieldValueException

if the value cannot be parsed to int

GetLong(int)

Returns the field value by the given tag.

Declaration
public long GetLong(int tag)
Parameters
Type Name Description
int tag

field tag

Returns
Type Description
long

the field value by the given tag,

Long.MAX_VALUE
if it is not found.
Exceptions
Type Condition
IncorrectFieldValueException

if the value cannot be parsed to long

GetLongByIndex(int)

Returns the field value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public long GetLongByIndex(int index)
Parameters
Type Name Description
int index

index of tag/value pair

Returns
Type Description
long

the field value.

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

IncorrectFieldValueException

if the value cannot be parsed to long

GetSpan(int)

Returns the field value by the given tag.

Declaration
public ReadOnlySpan<byte> GetSpan(int tag)
Parameters
Type Name Description
int tag

field tag

Returns
Type Description
ReadOnlySpan<byte>

the field value by the given tag, throws TagNotFoundException if it is not found.

GetStructuredMessage(IMessageInfoDictionary, MessageValidationFlags)

Returns the Message instance create from the given FlatMessage.

Declaration
public virtual Message GetStructuredMessage(IMessageInfoDictionary dictionary, MessageValidationFlags parsingFlags)
Parameters
Type Name Description
IMessageInfoDictionary dictionary

Dictionary to be used during the Message creation

MessageValidationFlags parsingFlags

Parsing flags

Returns
Type Description
Message

Message instance

GetTagByIndex(int)

Returns the field tag at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public int GetTagByIndex(int index)
Parameters
Type Name Description
int index

index of tag/value pair

Returns
Type Description
int

the field tag.

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

GetTimeSpan(int)

Returns the field value as TimeSpan.

Declaration
public TimeSpan GetTimeSpan(int tag)
Parameters
Type Name Description
int tag

Tag number

Returns
Type Description
TimeSpan

Field value as TimeSpan

Exceptions
Type Condition
TagNotFoundException

If the field is absent

IncorrectFieldValueException

if the field value cannot be parsed to TimeSpan using either HH:MM:SS (whole seconds) or HH:MM:SS.sss (milliseconds) or HH:MM:SS.sssssss (microseconds) or HH:MM:SS.ssssssssss (nanoseconds) or HH:MM:SS.sssssssssssss (picoseconds) format

GetTimeSpan(int, out TimeSpanFormat)

Returns the field value as TimeSpan and it's source format.

Declaration
public TimeSpan GetTimeSpan(int tag, out TimeSpanFormat format)
Parameters
Type Name Description
int tag

Tag number

TimeSpanFormat format

Value format

Returns
Type Description
TimeSpan

Field value as TimeSpan

Exceptions
Type Condition
TagNotFoundException

If the field is absent

IncorrectFieldValueException

if the field value cannot be parsed to TimeSpan using either HH:MM:SS (whole seconds) or HH:MM:SS.sss (milliseconds) or HH:MM:SS.sssssss (microseconds) or HH:MM:SS.ssssssssss (nanoseconds) or HH:MM:SS.sssssssssssss (picoseconds) format

GetTimestamp(int)

Returns the field value as DateTime.

Declaration
public DateTime GetTimestamp(int tag)
Parameters
Type Name Description
int tag

Tag number

Returns
Type Description
DateTime

Field value as DateTime

Exceptions
Type Condition
TagNotFoundException

If the field is absent

IncorrectFieldValueException

if the field value cannot be parsed to DateTime using either YYYYMMDD-HH:MM:SS (whole seconds) or YYYYMMDD-HH:MM:SS.sss (milliseconds) or YYYYMMDD-HH:MM:SS.sssssss (microseconds) or YYYYMMDD-HH:MM:SS.ssssssssss (nanoseconds) or YYYYMMDD-HH:MM:SS.sssssssssssss (picoseconds) format

GetTimestamp(int, out TimestampFormat)

Returns the field value as DateTime and it's source format.

Declaration
public DateTime GetTimestamp(int tag, out TimestampFormat format)
Parameters
Type Name Description
int tag

Tag number

TimestampFormat format

Value format

Returns
Type Description
DateTime

Field value as DateTime

Exceptions
Type Condition
TagNotFoundException

If the field is absent

IncorrectFieldValueException

if the field value cannot be parsed to DateTime using either YYYYMMDD-HH:MM:SS (whole seconds) or YYYYMMDD-HH:MM:SS.sss (milliseconds) or YYYYMMDD-HH:MM:SS.sssssss (microseconds) or YYYYMMDD-HH:MM:SS.ssssssssss (nanoseconds) or YYYYMMDD-HH:MM:SS.sssssssssssss (picoseconds) format

GetUInteger(int)

Returns the field value by the given tag.

Declaration
public uint GetUInteger(int tag)
Parameters
Type Name Description
int tag

field tag

Returns
Type Description
uint

the field value by the given tag,

Integer.MAX_VALUE
if it is not found.
Exceptions
Type Condition
IncorrectFieldValueException

if the value cannot be parsed to int

GetUIntegerByIndex(int)

Returns the field value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public uint GetUIntegerByIndex(int index)
Parameters
Type Name Description
int index

index of tag/value pair

Returns
Type Description
uint

the field value.

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

IncorrectFieldValueException

if the value cannot be parsed to int

GetULong(int)

Returns the field value by the given tag.

Declaration
public ulong GetULong(int tag)
Parameters
Type Name Description
int tag

field tag

Returns
Type Description
ulong

the field value by the given tag,

Long.MAX_VALUE
if it is not found.
Exceptions
Type Condition
IncorrectFieldValueException

if the value cannot be parsed to long

GetULongByIndex(int)

Returns the field value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public ulong GetULongByIndex(int index)
Parameters
Type Name Description
int index

index of tag/value pair

Returns
Type Description
ulong

the field value.

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

IncorrectFieldValueException

if the value cannot be parsed to long

GetValues(int)

Returns all the values for all occurrences of a particular tag.

Declaration
public List<string> GetValues(int tag)
Parameters
Type Name Description
int tag

fields tag

Returns
Type Description
List<string>

all the values for all occurrences of a particular tag.

GetValues(int, List<string>)

Adds all the values for all occurrences of a particular tag to the given list.

Declaration
public void GetValues(int tag, List<string> list)
Parameters
Type Name Description
int tag

field tag

List<string> list

list to be filled

Insert(int, int, ReadOnlySpan<byte>)

Inserts the bytes tag/value pair value at the given index.

Declaration
public void Insert(int index, int tag, ReadOnlySpan<byte> value)
Parameters
Type Name Description
int index

the field index

int tag

the field tag

ReadOnlySpan<byte> value

the field value

InsertFlag(int, int, bool)

Inserts the flag tag/value pair value into the index

Declaration
public void InsertFlag(int index, int tag, bool value)
Parameters
Type Name Description
int index

the field index

int tag

the field tag

bool value

flag value

IsAbsentOrEmpty(int)

Checks that the field is absent or empty.

Declaration
public bool IsAbsentOrEmpty(int tag)
Parameters
Type Name Description
int tag

Tag number

Returns
Type Description
bool

true if the field is either absent or empty, otherwise - false

IsSessionLevel()

Returns true if this is a session-level message, otherwise - false.

Declaration
public bool IsSessionLevel()
Returns
Type Description
bool

true if this is a session-level message, otherwise - false

Remove(int)

Removes the field by the given tag.

Declaration
public bool Remove(int tag)
Parameters
Type Name Description
int tag

field tag

Returns
Type Description
bool

true if the field is found, false otherwise.

RemoveLastField()

Removes the last field.

Declaration
public FlatMessage RemoveLastField()
Returns
Type Description
FlatMessage

this

Reset(FlatMessage)

Resets the flat message with the given one, allows to reuse internal data structures.

Declaration
public void Reset(FlatMessage source)
Parameters
Type Name Description
FlatMessage source

Source Flat Message to be copied

Reset(byte[], int)

Resets the flat message with the given raw FIX message, allows to reuse internal data structures.

Declaration
public void Reset(byte[] rawFixMessage, int length)
Parameters
Type Name Description
byte[] rawFixMessage

raw FIX message in the tag=value form

int length

the message length in bytes

Reset(ReadOnlySpan<byte>)

Declaration
public void Reset(ReadOnlySpan<byte> rawFixMessage)
Parameters
Type Name Description
ReadOnlySpan<byte> rawFixMessage

Set(int, in HighResolutionTimeSpan)

Sets the field value as HighResolutionTimeSpan.

Declaration
public IFieldSet Set(int tag, in HighResolutionTimeSpan value)
Parameters
Type Name Description
int tag

Tag number

HighResolutionTimeSpan value

Field value

Returns
Type Description
IFieldSet

This instance

Exceptions
Type Condition
TagNotDefinedForThisMessageTypeException

if field with the given tag is not defined for this message and unknown fields are disabled

Set(int, in HighResolutionTimeSpan, TimeSpanFormat)

Sets the field value as HighResolutionTimeSpan.

Declaration
public IFieldSet Set(int tag, in HighResolutionTimeSpan value, TimeSpanFormat format)
Parameters
Type Name Description
int tag

Tag number

HighResolutionTimeSpan value

Field value

TimeSpanFormat format

Value format

Returns
Type Description
IFieldSet

This instance

Exceptions
Type Condition
TagNotDefinedForThisMessageTypeException

if field with the given tag is not defined for this message and unknown fields are disabled

Set(int, in HighResolutionTimestamp)

Sets the field value as HighResolutionTimestamp.

Declaration
public IFieldSet Set(int tag, in HighResolutionTimestamp value)
Parameters
Type Name Description
int tag

Tag number

HighResolutionTimestamp value

Field value

Returns
Type Description
IFieldSet

This instance

Exceptions
Type Condition
TagNotDefinedForThisMessageTypeException

if field with the given tag is not defined for this message and unknown fields are disabled

Set(int, in HighResolutionTimestamp, TimestampFormat)

Sets the field value as HighResolutionTimestamp.

Declaration
public IFieldSet Set(int tag, in HighResolutionTimestamp value, TimestampFormat format)
Parameters
Type Name Description
int tag

Tag number

HighResolutionTimestamp value

Field value

TimestampFormat format

Value format

Returns
Type Description
IFieldSet

This instance

Exceptions
Type Condition
TagNotDefinedForThisMessageTypeException

if field with the given tag is not defined for this message and unknown fields are disabled

Set(int, bool)

Sets the value as a flag: 'Y' or 'N'.

Declaration
public IFieldSet Set(int tag, bool value)
Parameters
Type Name Description
int tag

Tag number

bool value

true for 'Y', false for 'N'

Returns
Type Description
IFieldSet

This instance

Exceptions
Type Condition
TagNotDefinedForThisMessageTypeException

if field with the given tag is not defined for this message and unknown fields are disabled

Set(int, byte[])

Sets the value for the given tag.

Note: If there are multiple tag/value pairs corresponding to the given tag it will update the first one only.

Declaration
public IFieldSet Set(int tag, byte[] value)
Parameters
Type Name Description
int tag

field tag

byte[] value

field value

Returns
Type Description
IFieldSet

this

Set(int, byte[], int, int)

Sets the value for the given tag.

Note: If there are multiple tag/value pairs corresponding to the given tag it will update the first one only.

Declaration
public IFieldSet Set(int tag, byte[] value, int offset, int length)
Parameters
Type Name Description
int tag

field tag

byte[] value

field value

int offset

value offset

int length

value length

Returns
Type Description
IFieldSet

this

Set(int, char)

Sets the field value as a character.

Declaration
public IFieldSet Set(int tag, char value)
Parameters
Type Name Description
int tag

Tag number

char value

Field value

Returns
Type Description
IFieldSet

This instance

Exceptions
Type Condition
TagNotDefinedForThisMessageTypeException

If field with the given tag is not defined for this message type and unknown fields are disabled

Set(int, DateTime)

Sets the field value as DateTime.

Declaration
public IFieldSet Set(int tag, DateTime value)
Parameters
Type Name Description
int tag

Tag number

DateTime value

Field value

Returns
Type Description
IFieldSet

This instance

Exceptions
Type Condition
TagNotDefinedForThisMessageTypeException

if field with the given tag is not defined for this message and unknown fields are disabled

Set(int, DateTime, TimestampFormat)

Sets the field value as DateTime.

Declaration
public IFieldSet Set(int tag, DateTime value, TimestampFormat format)
Parameters
Type Name Description
int tag

Tag number

DateTime value

Field value

TimestampFormat format

Value format

Returns
Type Description
IFieldSet

This instance

Exceptions
Type Condition
TagNotDefinedForThisMessageTypeException

if field with the given tag is not defined for this message and unknown fields are disabled

Set(int, decimal)

Sets the field value as decimal .

Declaration
public IFieldSet Set(int tag, decimal value)
Parameters
Type Name Description
int tag

Tag number

decimal value

Field value

Returns
Type Description
IFieldSet

This instance

Exceptions
Type Condition
TagNotDefinedForThisMessageTypeException

if field with the given tag is not defined for this message and unknown fields are disabled

Set(int, decimal, int)

Sets the field value as decimal with the given number of decimal places.

Declaration
public IFieldSet Set(int tag, decimal value, int precision)
Parameters
Type Name Description
int tag

Tag number

decimal value

Field value

int precision

The desired number of decimal places

Returns
Type Description
IFieldSet

This instance

Exceptions
Type Condition
TagNotDefinedForThisMessageTypeException

if field with the given tag is not defined for this message and unknown fields are disabled

Set(int, double)

Sets the double field value.

Note: The double type should not be used for precise values.

Note: Rounds value to 15 significant digits using rounding to nearest. This is done even if the number has more than 15 digits and the less significant digits are zero.

Note: The number will be rounded towards nearest neighbor unless both neighbors are equidistant, in which case round up.

Declaration
public IFieldSet Set(int tag, double value)
Parameters
Type Name Description
int tag

Tag number

double value

Field value

Returns
Type Description
IFieldSet

This instance

Exceptions
Type Condition
TagNotDefinedForThisMessageTypeException

if field with the given tag is not defined for this message and unknown fields are disabled

Set(int, double, int)

Sets the field value as double with the given number of decimal places.

Note: The number will be rounded towards nearest neighbor unless both neighbors are equidistant, in which case round up.

Declaration
public IFieldSet Set(int tag, double value, int precision)
Parameters
Type Name Description
int tag

Tag number

double value

Field value

int precision

The desired number of decimal places

Returns
Type Description
IFieldSet

This instance

Exceptions
Type Condition
TagNotDefinedForThisMessageTypeException

if field with the given tag is not defined for this message and unknown fields are disabled

Set(int, int)

Sets the integer field value.

Declaration
public IFieldSet Set(int tag, int value)
Parameters
Type Name Description
int tag

Tag number

int value

Field value

Returns
Type Description
IFieldSet

This instance

Exceptions
Type Condition
TagNotDefinedForThisMessageTypeException

if field with the given tag is not defined for this message and unknown fields are disabled

Set(int, long)

Sets the ulong field value.

Declaration
public IFieldSet Set(int tag, long value)
Parameters
Type Name Description
int tag

Tag number

long value

Field value

Returns
Type Description
IFieldSet

This instance

Exceptions
Type Condition
TagNotDefinedForThisMessageTypeException

if field with the given tag is not defined for this message and unknown fields are disabled

Set(int, ReadOnlySpan<byte>)

Sets the ReadOnlySpan<T> value.

Declaration
public IFieldSet Set(int tag, ReadOnlySpan<byte> value)
Parameters
Type Name Description
int tag

Tag number

ReadOnlySpan<byte> value

Field value

Returns
Type Description
IFieldSet

This instance

Exceptions
Type Condition
TagNotDefinedForThisMessageTypeException

if field with the given tag is not defined for this message and unknown fields are disabled

Set(int, string)

Sets the value for the given tag.

Note: If there are multiple tag/value pairs corresponding to the given tag it will update the first one only.

Declaration
public IFieldSet Set(int tag, string value)
Parameters
Type Name Description
int tag

field tag

string value

field value represented as string

Returns
Type Description
IFieldSet

this

Exceptions
Type Condition
TagNotFoundException

in case the given tag does not exist in the flat message.

Set(int, StringBuilder)

Sets the string value.

Declaration
public IFieldSet Set(int tag, StringBuilder value)
Parameters
Type Name Description
int tag

Tag number

StringBuilder value

Field value

Returns
Type Description
IFieldSet

This instance

Exceptions
Type Condition
TagNotDefinedForThisMessageTypeException

if field with the given tag is not defined for this message and unknown fields are disabled

Set(int, TimeSpan)

Sets the field value as TimeSpan.

Declaration
public IFieldSet Set(int tag, TimeSpan value)
Parameters
Type Name Description
int tag

Tag number

TimeSpan value

Field value

Returns
Type Description
IFieldSet

This instance

Exceptions
Type Condition
TagNotDefinedForThisMessageTypeException

if field with the given tag is not defined for this message and unknown fields are disabled

Set(int, TimeSpan, TimeSpanFormat)

Sets the field value as TimeSpan.

Declaration
public IFieldSet Set(int tag, TimeSpan value, TimeSpanFormat format)
Parameters
Type Name Description
int tag

Tag number

TimeSpan value

Field value

TimeSpanFormat format

Value format

Returns
Type Description
IFieldSet

This instance

Exceptions
Type Condition
TagNotDefinedForThisMessageTypeException

if field with the given tag is not defined for this message and unknown fields are disabled

Set(int, uint)

Sets the unsigned integer field value.

Declaration
public IFieldSet Set(int tag, uint value)
Parameters
Type Name Description
int tag

Tag number

uint value

Field value

Returns
Type Description
IFieldSet

This instance

Exceptions
Type Condition
TagNotDefinedForThisMessageTypeException

if field with the given tag is not defined for this message and unknown fields are disabled

Set(int, ulong)

Sets the ulong field value.

Declaration
public IFieldSet Set(int tag, ulong value)
Parameters
Type Name Description
int tag

Tag number

ulong value

Field value

Returns
Type Description
IFieldSet

This instance

Exceptions
Type Condition
TagNotDefinedForThisMessageTypeException

if field with the given tag is not defined for this message and unknown fields are disabled

SetByIndex(int, ByteBuffer)

Sets the value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public FlatMessage SetByIndex(int index, ByteBuffer value)
Parameters
Type Name Description
int index

index of tag/value pair to be updated

ByteBuffer value

field value represented as ByteBuffer

Returns
Type Description
FlatMessage

this

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

SetByIndex(int, HighResolutionTimeSpan, TimeSpanFormat)

Sets the HighResolutionTimeSpan value at the given field index.

Declaration
public FlatMessage SetByIndex(int index, HighResolutionTimeSpan value, TimeSpanFormat format)
Parameters
Type Name Description
int index

Index of tag/value pair to be updated

HighResolutionTimeSpan value

Field value

TimeSpanFormat format

Timestamp format

Returns
Type Description
FlatMessage

This instance

SetByIndex(int, HighResolutionTimestamp, TimestampFormat)

Sets the HighResolutionTimestamp value at the given field index.

Declaration
public FlatMessage SetByIndex(int index, HighResolutionTimestamp value, TimestampFormat format)
Parameters
Type Name Description
int index

Index of tag/value pair to be updated

HighResolutionTimestamp value

Field value

TimestampFormat format

Timestamp format

Returns
Type Description
FlatMessage

This instance

SetByIndex(int, bool)

Sets the boolean value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public FlatMessage SetByIndex(int index, bool value)
Parameters
Type Name Description
int index

Index of the tag/value pair to be updated

bool value

boolean value

Returns
Type Description
FlatMessage

this

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

SetByIndex(int, byte[])

Sets the value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public FlatMessage SetByIndex(int index, byte[] value)
Parameters
Type Name Description
int index

index of tag/value pair to be updated

byte[] value

field value

Returns
Type Description
FlatMessage

this

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

SetByIndex(int, byte[], int, int)

Sets the value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public FlatMessage SetByIndex(int index, byte[] value, int offset, int length)
Parameters
Type Name Description
int index

index of tag/value pair to be updated

byte[] value

field value

int offset

value offset

int length

value length

Returns
Type Description
FlatMessage

this

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

SetByIndex(int, char)

Sets the value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public FlatMessage SetByIndex(int index, char value)
Parameters
Type Name Description
int index

index of tag/value pair to be updated

char value

field value represented as char

Returns
Type Description
FlatMessage

this

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

SetByIndex(int, DateTime)

Sets the DateTime value at the given field index.

Declaration
public FlatMessage SetByIndex(int index, DateTime value)
Parameters
Type Name Description
int index

Index of tag/value pair to be updated

DateTime value

Field value

Returns
Type Description
FlatMessage

This instance

SetByIndex(int, DateTime, TimestampFormat)

Sets the DateTime value at the given field index.

Declaration
public FlatMessage SetByIndex(int index, DateTime value, TimestampFormat format)
Parameters
Type Name Description
int index

Index of tag/value pair to be updated

DateTime value

Field value

TimestampFormat format

Timestamp format

Returns
Type Description
FlatMessage

This instance

SetByIndex(int, decimal)

Sets the double value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public FlatMessage SetByIndex(int index, decimal value)
Parameters
Type Name Description
int index

Index of tag/value pair to be updated

decimal value

field value represented as decimal

Returns
Type Description
FlatMessage

this

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

SetByIndex(int, decimal, int)

Sets the value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public FlatMessage SetByIndex(int index, decimal value, int precision)
Parameters
Type Name Description
int index

index of tag/value pair to be updated

decimal value

field value represented as decimal

int precision

the number of digits in decimal part

Returns
Type Description
FlatMessage

this

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

SetByIndex(int, double)

Sets the double value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public FlatMessage SetByIndex(int index, double value)
Parameters
Type Name Description
int index

Index of tag/value pair to be updated

double value

Field value

Returns
Type Description
FlatMessage

this

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

SetByIndex(int, double, int)

Sets the value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public FlatMessage SetByIndex(int index, double value, int precision)
Parameters
Type Name Description
int index

index of tag/value pair to be updated

double value

field value represented as double

int precision

the number of digits in decimal part

Returns
Type Description
FlatMessage

this

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

SetByIndex(int, int)

Sets the integer value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public FlatMessage SetByIndex(int index, int value)
Parameters
Type Name Description
int index

index of tag/value pair to be updated

int value

field value represented as int

Returns
Type Description
FlatMessage

this

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

SetByIndex(int, long)

Sets the long value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public FlatMessage SetByIndex(int index, long value)
Parameters
Type Name Description
int index

index of tag/value pair to be updated

long value

field value represented as long

Returns
Type Description
FlatMessage

this

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

SetByIndex(int, ReadOnlySpan<byte>)

Sets the value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public FlatMessage SetByIndex(int index, ReadOnlySpan<byte> value)
Parameters
Type Name Description
int index

index of tag/value pair to be updated

ReadOnlySpan<byte> value

field value represented as ReadOnlySpan<T>

Returns
Type Description
FlatMessage

this

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

SetByIndex(int, string)

Sets the value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public FlatMessage SetByIndex(int index, string value)
Parameters
Type Name Description
int index

Index of tag/value pair to be updated

string value

Field value represented as string

Returns
Type Description
FlatMessage

This instance

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

SetByIndex(int, TimeSpan, TimeSpanFormat)

Sets the TimeSpan value at the given field index.

Declaration
public FlatMessage SetByIndex(int index, TimeSpan value, TimeSpanFormat format)
Parameters
Type Name Description
int index

Index of tag/value pair to be updated

TimeSpan value

Field value

TimeSpanFormat format

TimeSpan format

Returns
Type Description
FlatMessage

This instance

SetByIndex(int, uint)

Sets the unsigned integer value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public FlatMessage SetByIndex(int index, uint value)
Parameters
Type Name Description
int index

index of tag/value pair to be updated

uint value

field value represented as uint

Returns
Type Description
FlatMessage

this

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

SetByIndex(int, ulong)

Sets the unsigned long value at the given field index.

Note: Field index can be found using FindIndex(int) method.

Declaration
public FlatMessage SetByIndex(int index, ulong value)
Parameters
Type Name Description
int index

index of tag/value pair to be updated

ulong value

field value represented as ulong

Returns
Type Description
FlatMessage

this

Exceptions
Type Condition
IndexNotFoundException

if the index is invalid

SetFlag(int, bool)

Sets the flag value - 'Y' or 'N'.

Declaration
public IFieldSet SetFlag(int tag, bool value = true)
Parameters
Type Name Description
int tag

Tag number

bool value

true for 'Y', false for 'N'

Returns
Type Description
IFieldSet

This instance

Exceptions
Type Condition
TagNotDefinedForThisMessageTypeException

if field with the given tag is not defined for this message and unknown fields are disabled

ToBytes(Span<byte>)

Serializes the message to the given byte span.

Declaration
public int ToBytes(Span<byte> buffer)
Parameters
Type Name Description
Span<byte> buffer

Byte span to serialize the message content to

Returns
Type Description
int

The number of copied bytes if the given span is large enough; otherwise - a negative number, the absolute value of which is equal to the required size of the span

ToRawFixString()

Returns string representation of the message. This method will re-calculate the BodyLength and Checksum according to the message.

Declaration
public string ToRawFixString()
Returns
Type Description
string

string representation of the message

ToString()

Returns a string that represents the current object.

Declaration
public override string ToString()
Returns
Type Description
string

A string that represents the current object.

Overrides
object.ToString()

ToString(char, FixStringFormat)

Returns the string representation using the given delimiter and format.

Declaration
public string ToString(char delimiter, FixStringFormat format = FixStringFormat.TagNumber)
Parameters
Type Name Description
char delimiter

delimiter

FixStringFormat format

format

Returns
Type Description
string

string representation

ToString(StringBuilder, char, FixStringFormat)

Fills StringBuilder with the string representation of the object.

Declaration
public void ToString(StringBuilder builder, char delimiter = '\u0001', FixStringFormat format = FixStringFormat.TagNumber)
Parameters
Type Name Description
StringBuilder builder

string builder to be filled

char delimiter
FixStringFormat format

TryGet(int, out string)

Returns the field value as string. A return value indicates whether the operation succeeded.

Declaration
public bool TryGet(int tag, out string result)
Parameters
Type Name Description
int tag

Tag number

string result

Field value

Returns
Type Description
bool

true if the field value was converted, otherwise - false

TryGet(int, StringBuilder)

Returns the field value as string. A return value indicates whether the operation succeeded.

Declaration
public bool TryGet(int tag, StringBuilder result)
Parameters
Type Name Description
int tag

Tag number

StringBuilder result

Field value

Returns
Type Description
bool

true if the field value was converted, otherwise - false

TryGetBytes(int, out byte[])

Returns field value as byte[] .

Declaration
public bool TryGetBytes(int tag, out byte[] result)
Parameters
Type Name Description
int tag

field tag

byte[] result

field value

Returns
Type Description
bool

whether value available

TryGetChar(int, out char)

Returns the field value as a character. A return value indicates whether the operation succeeded.

Declaration
public bool TryGetChar(int tag, out char result)
Parameters
Type Name Description
int tag

Tag number

char result

Field value as a character

Returns
Type Description
bool

true if the field value was converted, otherwise - false

TryGetDecimal(int, out decimal)

Returns the field value as decimal. A return value indicates whether the operation succeeded.

Declaration
public bool TryGetDecimal(int tag, out decimal result)
Parameters
Type Name Description
int tag

Tag number

decimal result

Contains the decimal number equivalent to the field value, if the conversion succeeded, or zero if the conversion failed.

Returns
Type Description
bool

true if the field value was converted, otherwise - false

TryGetDouble(int, out double)

Converts the field value to its double equivalent. A return value indicates whether the operation succeeded.

Note: According to the FIX Protocol float format the value should not contain the exponent ('e' or 'E') symbol.

Note: The double type should not be used for precise values.

Declaration
public bool TryGetDouble(int tag, out double result)
Parameters
Type Name Description
int tag

Tag number

double result

Contains the double number equivalent to the field value, if the conversion succeeded, or zero if the conversion failed. The conversion fails if the field value is absent, is not of the correct format, or represents a number less than MinValue or greater than MaxValue. This parameter is passed uninitialized.

Returns
Type Description
bool

true if the field value was converted, otherwise - false

TryGetFlag(int, out bool)

Returns the field value as bool . A return value indicates whether the operation succeeded.

Declaration
public virtual bool TryGetFlag(int tag, out bool result)
Parameters
Type Name Description
int tag

Tag number

bool result

Contains true if the field value is 'Y', false if the field value is 'N' or the field is absent

Returns
Type Description
bool

true if the field value was converted, otherwise - false

TryGetHighResolutionTimeSpan(int, out HighResolutionTimeSpan)

Returns the field value as HighResolutionTimeSpan .

Declaration
public bool TryGetHighResolutionTimeSpan(int tag, out HighResolutionTimeSpan result)
Parameters
Type Name Description
int tag

Tag number

HighResolutionTimeSpan result

Field value

Returns
Type Description
bool

true if the field value was converted, otherwise - false

TryGetHighResolutionTimeSpan(int, out HighResolutionTimeSpan, out TimeSpanFormat)

Returns the field value as HighResolutionTimeSpan and it's source format.

Declaration
public bool TryGetHighResolutionTimeSpan(int tag, out HighResolutionTimeSpan result, out TimeSpanFormat format)
Parameters
Type Name Description
int tag

Tag number

HighResolutionTimeSpan result

Field value

TimeSpanFormat format

Value format

Returns
Type Description
bool

true if the field value was converted, otherwise - false

TryGetHighResolutionTimestamp(int, out HighResolutionTimestamp)

Returns the field value as HighResolutionTimestamp .

Declaration
public bool TryGetHighResolutionTimestamp(int tag, out HighResolutionTimestamp result)
Parameters
Type Name Description
int tag

Tag number

HighResolutionTimestamp result

Field value

Returns
Type Description
bool

true if the field value was converted, otherwise - false

TryGetHighResolutionTimestamp(int, out HighResolutionTimestamp, out TimestampFormat)

Returns the field value as HighResolutionTimestamp and it's source format.

Declaration
public bool TryGetHighResolutionTimestamp(int tag, out HighResolutionTimestamp result, out TimestampFormat format)
Parameters
Type Name Description
int tag

Tag number

HighResolutionTimestamp result

Field value

TimestampFormat format

Value format

Returns
Type Description
bool

true if the field value was converted, otherwise - false

TryGetInteger(int, out int)

Converts the field value to its 32-bit signed integer equivalent. A return value indicates whether the operation succeeded.

Declaration
public bool TryGetInteger(int tag, out int result)
Parameters
Type Name Description
int tag

Tag number

int result

The 32-bit signed integer number equivalent to the field value, if the conversion succeeded, or zero if the conversion failed. The conversion fails if the field value is absent, is not of the correct format, or represents a number less than MinValue or greater than MaxValue. This parameter is passed uninitialized.

Returns
Type Description
bool

true if the field value was converted, otherwise - false

Exceptions
Type Condition
IncorrectFieldValueException

if the value cannot be parsed to an Integer

TryGetLong(int, out long)

Converts the field value to its 64-bit signed integer equivalent. A return value indicates whether the operation succeeded.

Declaration
public bool TryGetLong(int tag, out long result)
Parameters
Type Name Description
int tag

Tag number

long result

The 64-bit signed integer number equivalent to the field value, if the conversion succeeded, or zero if the conversion failed. The conversion fails if the field value is absent, is not of the correct format, or represents a number less than MinValue or greater than MaxValue. This parameter is passed uninitialized.

Returns
Type Description
bool

true if the field value was converted, otherwise - false

TryGetSpan(int, out ReadOnlySpan<byte>)

Fills the given ReadOnlySpan<T> with reference to value by the given tag.

Declaration
public bool TryGetSpan(int tag, out ReadOnlySpan<byte> result)
Parameters
Type Name Description
int tag

field tag

ReadOnlySpan<byte> result

field value reference to be filled

Returns
Type Description
bool

true in case the field is found, false otherwise.

TryGetTimeSpan(int, out TimeSpan)

Returns the field value as TimeSpan .

Declaration
public bool TryGetTimeSpan(int tag, out TimeSpan result)
Parameters
Type Name Description
int tag

Tag number

TimeSpan result

Field value

Returns
Type Description
bool

true if the field value was converted, otherwise - false

TryGetTimeSpan(int, out TimeSpan, out TimeSpanFormat)

Returns the field value as TimeSpan and it's source format.

Declaration
public bool TryGetTimeSpan(int tag, out TimeSpan result, out TimeSpanFormat format)
Parameters
Type Name Description
int tag

Tag number

TimeSpan result

Field value

TimeSpanFormat format

Value format

Returns
Type Description
bool

true if the field value was converted, otherwise - false

TryGetTimestamp(int, out DateTime)

Returns the field value as DateTime .

Declaration
public bool TryGetTimestamp(int tag, out DateTime result)
Parameters
Type Name Description
int tag

Tag number

DateTime result

Field value

Returns
Type Description
bool

true if the field value was converted, otherwise - false

TryGetTimestamp(int, out DateTime, out TimestampFormat)

Returns the field value as DateTime and it's source format.

Declaration
public bool TryGetTimestamp(int tag, out DateTime result, out TimestampFormat format)
Parameters
Type Name Description
int tag

Tag number

DateTime result

Field value

TimestampFormat format

Value format

Returns
Type Description
bool

true if the field value was converted, otherwise - false

TryGetUInteger(int, out uint)

Converts the field value to its 32-bit unsigned integer equivalent. A return value indicates whether the operation succeeded.

Declaration
public bool TryGetUInteger(int tag, out uint result)
Parameters
Type Name Description
int tag

Tag number

uint result

The 32-bit unsigned integer number equivalent to the field value, if the conversion succeeded, or zero if the conversion failed. The conversion fails if the field value is absent, is not of the correct format, or represents a number less than MinValue or greater than MaxValue. This parameter is passed uninitialized.

Returns
Type Description
bool

true if the field value was converted, otherwise - false

Exceptions
Type Condition
IncorrectFieldValueException

if the value cannot be parsed to an Integer

TryGetULong(int, out ulong)

Converts the field value to its 64-bit unsigned integer equivalent. A return value indicates whether the operation succeeded.

Declaration
public bool TryGetULong(int tag, out ulong result)
Parameters
Type Name Description
int tag

Tag number

ulong result

The 64-bit unsigned integer number equivalent to the field value, if the conversion succeeded, or zero if the conversion failed. The conversion fails if the field value is absent, is not of the correct format, or represents a number less than MinValue or greater than MaxValue. This parameter is passed uninitialized.

Returns
Type Description
bool

true if the field value was converted, otherwise - false

Implements

IMessage
IFieldSet
IEnumerable<T>
IEnumerable
In this article
Back to top Copyright © Onix Solutions.
Generated by DocFX