Skip to content
On this page

Connection Configuration Parameters

maxSendQueueSize and maxSendQueueDataSize

If the number of items in the queue to be sent exceeds "maxSendQueueSz" or the total size of all items in the queue to be sent exceeds "maxSendQueueDataSize", a QueueFullException is thrown if not rectified within "numRetryAttemptsOnQueueFullTransmissionCmpnt" (waiting "queueFullRetryIntervalInMillisForTransmissionCmpnt" many milliseconds between attempts). If this value is used for TSF Grid configuration (for one or more TSF Instances), each transmission queue to each connected client has these limits. In that case, if your Service code is sending more back to your client code than your client can receive (whether due to your client code's ability to process the data received fast enough or whether due to the network connection not having enough bandwidth to handle data at the rate being sent to it), and these limits are therefore exceeded then TransmissionCmpnt will try again after "queueFullRetryIntervalInMillisForTransmissionCmpnt" many milliseconds and will wait that many milliseconds up to this many times: "numRetryAttemptsOnQueueFullTransmissionCmpnt" before throwing a QueueFullException to your Service code (if this parameter is for the server) or, if this parameter is for the TSF's SuperMainClientCmpnt that your client code is using, said SuperMainClientCmpnt would throw that QueueFullException to your client code.

Default for maxSendQueueSize: 10000 Default for maxSendQueueDataSize: 10485760 (~ 10 MB)

maxReceiveQueueSize and maxReceiveQueueDataSize

If the number of items in the received queue (i.e., the ReceptionCmpnt's queue) exceeds "maxReceiveQueueSz" or the total size of all items in the received queue exceeds "maxReceiveQueueDataSize", a QueueFullException is thrown if not rectified within "numRetryAttemptsOnQueueFullReceptionCmpnt" (waiting "queueFullRetryIntervalInMillisForReceptionionCmpnt" many milliseconds between attempts). If this value is used for TSF Grid configuration (for one or more TSF Instances), each ReceptionCmpnt queue that each connected client is sending to has these limits. In that case, your Service code is not processing what your client code is sending back fast enough (whether due to your server code's ability to process the data received fast enough or whether due to the TSF not having been allocated enough processing threads to handle additional information being received concurrently in a fast enough manner), and a QueueFullException will be thrown to your Service code on the server. When these parameters are used on the client side (i.e., when your code instantiates the SuperMainClientCmpnt TSF Client), if either of these is exceeded (meaning your client code isn't able to process what has been received from your Service executing in the TSF fast enough), once we have paused for "queueFullRetryIntervalInMillisForReceptionCmpnt" milliseconds at least "numRetryAttemptsOnQueueFullReceptionCmpnt" times, a QueueFullException will be thrown to your client code.

Default for maxReceiveQueueSize: 10000 Default for maxReceiveQueueDataSize: 10485760 (~ 10 MB)

sendPingRequestEveryMillis

For both SuperMainClientCmpnt that your client code instantiates (when this parameter is used when constructing a client to connect to the TSF) AND for TSF Server code connected to (when this parameter is used to instantiate a TSF Instance on the server side), a Ping will be sent from client to the TSF in the former case or from TSF to SuperMainClientCmpnt in the latter case every this many milliseconds if no other command or response has been sent in that direction in that timeframe. This goes hand in hand with the "receivePingRequestEveryMillis" on the other side (which should be more than double this value). This is a "heart beat". If this value is a server value and the client uses a "receivePingRequestEveryMillis" value of 50000, then if the client has received no communication from the TSF in 50 seconds (in spite of this heart beat being sent every 20 seconds [although the SuperMainClientCmpnt has no idea what value is being used on the server]), the SuperMainClientCmpnt will throw an exception to your client code so you know there was a disconnect. If this value is a client value and the value of "receivePingRequestEveryMillis" on the server is 50000 then (although the SuperMainClientCmpnt has no idea what value is being used for "receivePingRequestEveryMillis" on the server), if the server has received no communication in the 50 seconds it has allotted (in spite of SuperMainClientCmpnt sending this heartbeat twice [if it had not sent anything else in that timeframe]), Server will disconect and return the ServerConnectionCmpnt to the pool to handle another incoming connection

Default: 20000 (i.e., every 20 seconds)

receivePingRequestEveryMillis

This goes hand-in-hand with the value of "sendPingRequestEveryMillis" on the other side -- meaning: If the value of this for the TSFInstance is 50000 (and the value of "sendPingRequestEveryMillis" is 20000 in the TSF's SuperMainClientCmpnt [though the server would have no idea what value "sendPingRequestEveryMillis" was used when your client code instantiated the TSF's SuperMainClientCmpnt]), if the server hasn't received any communication from its client connection in 50 seconds, it will disconnect and return its ServerConnectionCmpnt to the pool to handle another connection. Likewise, if this "receivePingRequestEveryMillis" is a parameter used to instantiate the TSF's SuperMainClientCmpnt, if said SuperMainClientCmpnt has not received any communication for 50 seconds, it will assume a disconnect throwing an exception to your client code so that your client code (e.g., trader workstation) is aware of the disconnect. (Of course, for a trading application, 50 seconds is probably too long!)

Default: 50000 (i.e., every 50 seconds)

Created by Team Tessell