This article is applicable to FIX Antenna C++ /.Net (since 2.24.0) and FIXEdge (since 5.12.0).

For configuring TCP protection in FIXEdge FIXEdge.properties should be used, for configuring FIX Antenna C++/.Net - engine.properties.


It is possible to prevent one of possible consequences of abnormal user behavior - exhaustion of system resources.

As an example, consider the case when client establishes connection, doesn't send logon message and repeats the steps nubmer of times. 

In this case, as for Linux, all file descriptors will be reserved so that new connections will be rejected with the following reason:

[ERROR] 20160706-08:04:23.778 [140149185935104] [Engine] - Incoming TCP connection was exception : Cannot accept connection on port 9105. Please check settings ulimits in OS. Too many open files. (Error code = 24)

As for Windows, the dispatcher will hang because of increasing number of connections which need to be handled.


The case can be handled by configuring specific properties in FIXEdge.properties  (engine.properties) file which are responsible for TCP protection.




Default values 


PropertyFIXEdgeFIX Antenna C++ /.Net
ProtectionTCP.Enabled 
true
false (disabled)
ProtectionTCP.WaitLogon
10000
0 (disabled)
ProtectionTCP.SizeWaitHostMax
5
0 (disabled)
ProtectionTCP.SizeBufferMax
0 (disabled)
0 (disabled)