Terminate

The Terminate message is sent to indicate that the sender is going to disconnect the TCP socket connection.

35=Terminate

Tag

Name

Binary Type

Binary Length

Req

Enumeration

Description

39011

Reason

String48

48

N



Terminate reason details.

Will only be used for descriptive scenarios.

39001

UUID

uInt64

8

Y



Matches Establish.UUID used to establish the connection.

39002

RequestTimestamp

uInt64

8

Y



Time of request;  CME Group recommends using the number of nanoseconds since UNIX epoch (Jan 1, 1970) as the timestamp.

Outgoing response will match incoming Terminate.RequestTimestamp if sent in response to Terminate.

If sent in response to an incoming message, it will have the same RequestTimestamp from that message.

If sent unsolicited for auto port closure or volume controls (logout action), it will be set to the current system time.

39012

ErrorCodes

uInt16

2

Y

0 - Finished: session is being terminated

1 - EstablishmentTimeout: Establish message not sent within 60 seconds of NegotiateResponse so terminating session

2 - Unnegotiated: Sending any message when session has not been Negotiated

3 - NotEstablished: Sending any message (except Negotiate) when session has not been established

4 - AlreadyNegotiated: NegotiationResponse was already sent; Negotiate was redundant

5 - NegotiationInProgress: Previous Negotiate still being processed; Wait for NegotiationResponse or timeout

6 - AlreadyEstablished: EstablishmentAck was already sent; Establish was redundant

7 - EstablishInProgress: Previous Establish still being processed; Wait for EstablishmentAck or timeout

8 - CMEAdministeredPortClosure: due to invalid number of Negotiate/Establish attempts being exceeded

9 - Volume Controls - exceeding TPS limit as defined for volume controls (logout action)

10 - InvalidNextSeqNo - value is not greater than the one last used for same UUID or value is not initialized to 1 at the beginning of the week or value sent by the client is out of acceptable range (MIN, MAX) or non-zero value has been sent on backup connection

11 - InvalidMsgSeqNo - value is lower than the last one used for the same UUID or value is not initialized to 1 at the beginning of the week or value sent by the client is out of acceptable range (MIN, MAX) or non-zero value has been sent on backup connection

12 - InvalidLastSeqNo - value is lower than the last one used for the same UUID or value sent by the client is out of acceptable range (MIN, MAX)

13 - InvalidUUID: UUID value does not match current UUID or value sent by the client is out of acceptable range (MIN, MAX) or UUID is not greater than the one last used

14 - InvalidTimestamp: Timestamp value does not match with RequestTimestamp sent by CME or value sent by the client is out of acceptable range (MIN, MAX)

15 - RequiredUUIDMisssing: null value in UUID field

16 - RequiredRequestTimestampMissing: null value in RequestTimestamp field

17 - RequiredCodeMisssing: null value in Code field

18 – InvalidSOFH: Invalid message length or invalid encoding type specified

19 - DecodingError: Incoming message could not be decoded

20 - KeepAliveIntervalLapsed: KeepAliveInterval has lapsed without any response so terminating session

21 - RequiredNextSeqNoMissing: null value in NextSeqNo field

22 - RequiredKeepAliveIntervalLapsedMissing: null value in KeepAliveIntervalLapsed field

23 - Other: any other error condition not mentioned above like customer sending Terminate with 39012≠0

24 - TerminateInProgress: Previous Terminate still being processed; Wait for Terminate or timeout

25 - Not Being Used

26 - DisconnectOrTerminateFromPrimary: Backup session will be terminated as well

27 - Not Being Used

28 - RejectSplitMsgsQueued: Messages queued due to split message penalty being rejected because of terminate or disconnect

29 - ExceededMaxNoOfSplitMsgsQueued: Reached threshold of messages queued due to split message penalty 

Termination code.



9553

SplitMsg

SplitMsg

1

N

0=Split Msg Delayed

1=Out of Order Msg Delayed

2=Complete Msg Delayed

Indicates if a message was delayed as a result of:

  • being split among multiple packets (0)

  • TCP re-transmission (1)

  • due to a previously submitted split or out of order message (2).

If absent then the message was not delayed, split, or received out of order.

When session has not been Negotiated at least once, re-Negotiate with a new UUID is required for the following tag 39012-ErrorCodes:

  • 2 - Unnegotiated: Sending any message when session has not been Negotiated 

  • 8 - CMEAdministeredPortClosure: due to invalid number of Negotiate/Establish attempts being exceeded

  • 18 - InvalidSOFH: Invalid message length or invalid encoding type specified

  • 19 - DecodingError: Incoming message could not be decoded

  • 28 - RejectSplitMsgsQueued: Messages queued due to split message penalty being rejected because of terminate or disconnect

  • 29 - ExceededMaxNoOfSplitMsgsQueued: Reached threshold of messages queued due to split message penalty 






How was your Client Systems Wiki Experience? Submit Feedback

Copyright © 2024 CME Group Inc. All rights reserved.