How to use a custom symbol instead of SOH

How to use a custom symbol instead of SOH

Intro

FA C++ supports custom symbols instead of SOH on per session basis. For this purpose, the TagsDelimiter parameter is used.

The default delimiter is SOH.

The TagsDelimiter parameter is configured through SessionExtraParameters and through the engine.properties file. If the parameter is set through a configuration file, either symbols ("S", "|", "^", etc.) or Hex code (0x24, 0x7C, 0x5E, etc.) are applicable. 

If a forbidden symbol is chosen for a delimiter, the following error is raised with the message: "The forbidden tags delimiter is specified".

In order to use the TagsDelimiter parameter for an acceptor, you should set a value for the default session in the config file: Session.Default.TagsDelimiter.

The session always uses the tags delimiter from the default session for the very first messages while a connection is established (sending a logon, sending a confirm logon, and receiving an answer with a logon or a logout). You can call the Session::isInEstablishingConnectionMode method to get the current mode and the Session::getCurrentTagsDelimiter method to get the currently used delimiter.

If the tags delimiter is not specified for the default session as well, the new session uses the value specified in the engine.properties file.

If the tags delimiter is not specified in the engine.properties file, the new session uses the 0x01 symbol (SOH).

 

The tagsDelimiter is added as an argument in the following methods:

  • StorageMgr::create

  • FIXMessage::toString

  • FIXMessage::::toRaw

  • FIXMessage::prepare

  • FIXMsgProcessor::parse

  • FIXMsgProcessor::check

  • FIXMsgProcessor::checkFields

  • GenericPreparedMessage::GenericPreparedMessage (constructor)

Allowed Parameter Values

Control Characters

Control Characters

DEC

OCT

HEX

BIN

Symbol

HTML Number

HTML Name

Description

1

001

01

00000001

SOH



 

Start of Heading

Printable Characters

DEC

OCT

HEX

BIN

Symbol

HTML Number

HTML Name

Description

36

044

24

00100100

$

$

 

Dollar

94

136

5E

01011110

^

^

 

Caret - circumflex

123

173

7B

01111011

{

{

 

Opening brace

124

174

7C

01111100

|

|

 

Vertical bar

125

175

7D

01111101

}

}

 

Closing brace

126

176

7E

01111110

~

~

 

Equivalency sign - tilde

Extended Codes

DEC

OCT

HEX

BIN

Symbol

HTML Number

HTML Name

Description

128

200

80

10000000

€

€

Euro sign

129

201

81

10000001

 

 

 

 

130

202

82

10000010

‚

‚

Single low-9 quotation mark

131

203

83

10000011

ƒ

ƒ

ƒ

Latin small letter f with hook

132

204

84

10000100

„

„

Double low-9 quotation mark

133

205

85

10000101

…

…

Horizontal ellipsis

134

206

86

10000110

†

†

Dagger

135

207

87

10000111

‡

‡

Double dagger

136

210

88

10001000

ˆ

ˆ

ˆ

Modifier letter circumflex accent

137

211

89

10001001

‰

‰

Per mille sign

138

212

8A

10001010

Š

Š

Š

Latin capital letter S with caron

139

213

8B

10001011

‹

‹

Single left-pointing angle quotation

140

214

8C

10001100

Œ

Œ

Œ

Latin capital ligature OE

141

215

8D

10001101

 

 

 

 

142

216

8E

10001110

Ž

Ž

 

Latin capital letter Z with caron

143

217

8F

10001111

 

 

 

 

144

220

90

10010000

 

 

 

 

145

221

91

10010001

‘

‘

Left single quotation mark

146

222

92

10010010

’

’

Right single quotation mark

147

223

93

10010011

“

“

Left double quotation mark

148

224

94

10010100

”

”

Right double quotation mark

149

225

95

10010101

•

•

Bullet

150

226

96

10010110

–

–

En dash

151

227

97

10010111

—

—

Em dash

152

230

98

10011000

˜

˜

˜

Small tilde

153

231

99

10011001

™

™

Trademark sign

154

232

9A

10011010

š

š

š

Latin small letter S with caron