ToFixString Method | Table of Content | Session Constructor |
Session Class |
Namespace: FIXForge.NET.FIX
public class Session : IDisposable, ISession
The Session type exposes the following members.
Name | Description | |
---|---|---|
ConsiderRejectOnResendRequestAsGapFill |
By default,if the "Session Level Reject" message is received in replay to the "Resend Request" then this is considered as a serious problem and the FIX connection will be closed.
This property allows to change this behavior and consider the "Session Level Reject" on the "Resend Request" as the "Sequence Reset Gap Fill" message.
| |
CounterpartyHost |
Gets the counterparty host name or IP address.
Note: The property performs a DNS request for the first time.
Therefore, it can block the thread execution for a long time until the DNS request is completed.
| |
CounterpartyIpAddress | Gets the counterparty IP address. | |
CounterpartyPort | Gets the counterparty port number. | |
CreationTime |
Time when the session instance was created or last local reset for sequence numbers was performed.
| |
CustomKey |
Gets session's custom key.
| |
Dialect | FIX dialect used by the session. | |
Encryption | Method of encryption | |
HeartBtInt |
Gets the Heartbeat interval (seconds, HeartBtInt, tag=108 field value).
| |
IgnoreLessThanExpectedSequenceNumber |
By default,if the incoming message has a sequence number less than expected and the PossDupFlag is not set, it indicates
a serious error and leads to FIX connection closing.
This property allows to change this behavior and consider the sequence number of the incoming message, which less than expected, as an expected one.
| |
InboundMessageLogFilter | Incoming message types to be filtered out from the logs. | |
IncomingMessageGapQueueMaximumSize |
If RequestOnlyMissedMessages property is true and the sequence number of an incoming FIX message
greater than expected then the resend functionality is run and this incoming message is stored
in the incoming message gap queue for further processing.
This property allows setting the maximum size of that queue.
By default, the value equal to 1000.
| |
InSeqNum | Gets or sets the expected sequence number of the next incoming message. | |
IsDisposed |
Returns true if the FIX session object is disposed, false otherwise.
| |
KeepSequenceNumbersBetweenFixConnections | Option to keep sequence numbers after the exchange of Logout (MsgType=5) messages. By default, the value is true | |
ListenPort |
Port to listen on for incoming connections in acceptor mode.
| |
LocalInterface |
Network interface used by the session.
| |
LocalPort |
Outgoing local port used by initiator session. By default, a system (random) port will be used.
| |
LocalPortRange | Local port range for outgoing connections. | |
LogBeforeSending |
Option to switch on/off logging of outbound messages before/after sending.
| |
LogDirectory |
Inbound and outbound messages, session's state data are stored in this directory.
By default, the value of the LogDirectory is used.
| |
LogInboundMessages |
Option to log incoming messages. By default, the value is true.
| |
LogOutboundMessages |
Option to log outgoing messages. By default, the value is true.
| |
MessageGrouping |
Specifies the number of messages that should be written to the outgoing TCP buffer together.
By default, the value of the MessageGrouping is used.
| |
MessageMode |
The session message mode.
| |
OutboundMessageLogFilter | Outgoing message types to be filtered out from the logs. | |
OutboundQueueBytes | Number of bytes in the outbound queue. | |
OutSeqNum | Gets or sets the sequence number of the next outgoing message. | |
Proxy | HTTP proxy settings. | |
ReceiveSpinningTimeoutUsec |
Option to specify the non-blocking receive spinning timeout (in microseconds) before the receiving thread enters into the blocking wait mode.
The value should not be greater than 1 sec (minimal Heartbeat interval).
By default, the option value is zero, therefore the value of the ReceiveSpinningTimeout is used.
| |
ReceivingThreadAffinity |
Gets or sets the CPU affinity of the receiving thread.
| |
ReceivingThreadPriority |
Gets or sets the priority of the session receiving thread. The default value is set by OS.
| |
ReconnectAttempts |
Option to specify the number of attempts to restore the FIX connection.
By default, the value of the ReconnectAttempts is used.
| |
ReconnectInterval |
Option to specify the time interval between the attempts to restore the FIX connection (in seconds).
By default, the value of the ReconnectInterval is used.
| |
ReportNewMessagesWhileWaitingForMissedMessages |
When the message gap is detected the "Resend Request" FIX Message is sent and Session state is changed to "AwaitReplyOnResendRequest".
By default, in this state, the incoming new messages (without the PossDupFlag (tag #43) flag) are ignored because we expect them to be re-sent later again with the PossDupFlag flag.
This property allows to change this behavior and report the new messages anyway.
Note: In this mode messages could be reported out of the original order: e.g. MsgSeqNum could be: 3 (original), 4 (original), 2 (PossDupFlag='Y'), 3 (PossDupFlag='Y'), 4 (PossDupFlag='Y')
and some messages could be received two times: first time without PossDupFlag='Y' and second time - with this flag.
| |
RequestOnlyMissedMessages |
By default, the "Resend Request" message requests all messages begin from the first missed one.
This property allows to change this behavior and request only missed messages.
| |
ResendingQueueSize |
Number of sent messages that are available for resending on counterpart's Resend Request <2> message. By default, the option value equal to -1, therefore the value of the ResendingQueueSize is used.
| |
ResendRequestMaximumRange |
Maximum number of messages to be requested in one Resend Request (MsgType=2) message.
By default, the value of the ResendRequestMaximumRange is used.
| |
ResendTimeout |
Timeout during which counterparty should send a reply to the ResendRequest (MsgType=2) message.
If a counterparty does not reply or reply incorrectly during this timeout, then the WarningEvent is called.
By default, the resend request timeout equal to zero, which means an infinite timeout.
Note: The resend timeout is checked when an incoming message is received or when the receive timeout is elapsed.
Therefore, the actual timeout can be greater than the specified one or can be rounded to the value equal to the heartbeat interval + reasonable transmission time.
| |
ResetLocalSequenceNumbersOnLogon | Option to automatically reset the local sequence numbers to 1 during every logon. | |
ReuseEventArguments | Option which enables reusing of event arguments by Session (By default,it is disabled). If turns on, client's code must copy event arguments for using outside of callbacks. | |
ReuseIncomingMessage | Option which enables reusing of an incoming message by Session (By default,it is disabled). If turns on, client's code should not dispose incoming messages and must copy message for using outside of inbound callbacks. | |
ReuseOutgoingMessage | Option which enables reusing of an outgoing message by Session (By default,it is disabled). If turns on, client's code should not dispose outgoing messages and must copy message for using outside of outbound callbacks. | |
Role | Gets the session role. | |
ScrambleLogonFields |
Option to set scrambled fields in the Logon (MsgType=A) message, in the session storage, for security reasons.
| |
SenderCompID |
Gets the assigned value used to identify firm sending message (SenderCompID (49)
field value in outgoing messages).
| |
SenderLocationID |
Value of SenderLocationID, tag=142 field for all outgoing messages.
| |
SenderSubID |
Value of SenderSubID, tag=50 field for all outgoing messages.
| |
SendingThreadAffinity |
Gets or sets the CPU affinity of the sending thread.
| |
SendingThreadPriority |
Gets or sets the priority of the session sending thread. The default value is set by OS.
| |
SendingTimeFormat | Sets the time format of SendingTime of every sent message. By default, the YYYYMMDDHHMMSSMsec format is used. | |
SendLogoutOnException |
Option to send the Logout message before dropping the telecommunication link in case of Exception during the processing of incoming FIX message.
By default, the value of the SendLogoutOnException is used.
| |
SendQueueMaxSize |
The option to set the send queue maximum size in bytes.
By default, the value of the SendQueueMaxSize is used (0.5 Gb).
| |
SendResendRequestOnEachMessageGap |
By default, the "Resend Request" message is sent only once - when the first gap is detected.
This property allows sending the "Resend Request" message on each detected message sequence number gap.
| |
SendSpinningTimeoutUsec |
Option to specify the send spinning timeout (in microseconds) of the Send(Message) method to wait for the socket sending buffer availability
in the spin loop mode before placing the message to the outgoing queue (to be sent later by the sending thread).
The value should not be greater than 1 sec (minimal Heartbeat interval).
By default, the option value is zero, therefore the value of the SendSpinningTimeout is used.
| |
SpecifyLastMsgSeqNumProcessed |
Option to specify the LastMsgSeqNumProcessed, tag=369 field on every message sent. Useful for detecting a backlog with a counterparty.
By default, the value of the SpecifyLastMsgSeqNumProcessed is used.
| |
Ssl | SSL encryption settings. | |
State | Session's state. | |
StorageID |
Session's ID in the Session Storage.
| |
StorageType |
Session's storage type.
| |
SupportNextExpectedMsgSeqNum | Option to support NextExpectedMsgSeqNum field (tag 789) in Logon (MsgType=A) messages. By default, the option value is false. | |
TargetCompID |
Assigned value used to identify receiving firm (TargetCompID, tag=56 field value in outgoing messages).
| |
TargetLocationID |
Value of TargetLocationID, tag=143 field for all outgoing messages.
| |
TargetSubID |
Value of TargetSubID, tag=57 field for all outgoing messages.
| |
TcpNoDelayOption |
Option to improve latency at the expense of message throughput.
By default, the value of the TcpNoDelayOption is used.
| |
ThreadNameSuffix |
Thread name suffix for receiving ("R:threadNameSuffix") and sending ("S:threadNameSuffix") threads. If threadNameSuffix is not specified,
the name of receiving and sending threads sets by default ("R:senderCompId-targetCompId")("S:senderCompId-targetCompId").
| |
UnknownSessionCreationTime |
Constant which denotes that the session creation time is undefined.
This value should be returned by SessionCreationTime implementation unless the Engine did not updated the property. | |
UpdateSendingTimeField | Option to specify updating of SendingTime of every sent message. By default, the option value is true. | |
ValidateChecksum |
Option to turn on/off incoming message checksum validation. By default, the option value is false.
| |
ValidateDuplicatedField |
Option to turn on/off incoming message field duplicate validation. By default, the option value equal to ValidateDuplicatedField.
| |
ValidateEmptyFieldValues |
Option to validate empty message field values. By default, the option value equal to the ValidateEmptyFieldValues.
| |
ValidateFieldValues |
Option to validate field values of FIX messages in accordance with the FIX protocol or its FIX Dialect. By default, the option value equal to the ValidateFieldValues.
| |
ValidateRepeatingGroupEntryCount |
Option to validate that the declared number of repeating group instances is equal to the actual one. By default, the option value equal to ValidateRepeatingGroupEntryCount.
| |
ValidateRepeatingGroupLeadingTag |
Option to validate that repeating group starts from required by dialect leading tag. By default, the option value equal to ValidateRepeatingGroupLeadingTag.
| |
ValidateRequiredFields |
Option to validate that all required fields are set. By default, the option value equal to the ValidateRequiredFields.
| |
ValidateSequenceNumbers |
Option to turn on/off incoming message sequence numbers validation. By default, the option value is true.
| |
ValidateUnknownFields |
Option to validate that there are no unknown message fields. By default, the option value equal to the ValidateUnknownFields.
| |
ValidateUnknownMessages |
Option to validate that there are no unknown messages received. By default, the option value equal to the ValidateUnknownMessages.
| |
Version | Gets the session FIX version. |
Name | Description | |
---|---|---|
BreakConnection |
Breaks the FIX Connection non-gracefully (without the exchange of Logout (MsgType=5) messages).
| |
ClearOutboundQueue |
Removes all messages from the outbound queue.
| |
Dispose() | Terminates the FIX Session, explicitly releases resource and removes the object from Garbage Collector. | |
Dispose(Boolean) | Releases the unmanaged resources used by the Session and optionally releases the managed resources | |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
Finalize | Perform cleanup operations on unmanaged resources held by the current Session object before the object is destroyed. (Overrides Object.Finalize().) | |
FindSentFlatMessage |
Finds the sent FIX message by the given message sequence number. Returns null if the message is not found.
| |
FindSentMessage |
Finds the sent FIX message by the given message sequence number. Returns null if the message is not found.
| |
FlushSessionStorage | Flushes all internal buffers of the underlying storage. | |
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
LogonAsAcceptor |
Establishes FIX Connection as Acceptor.
Acceptor is the receiving party of the FIX session. It listens for the incoming connection on the pre-defined port. The acceptor has responsibility to perform first level authentication and formally declare the connection request "accepted" through transmission of an acknowledgment Logon message. | |
LogonAsInitiator(String, Int32) |
Establishes FIX Connection as Initiator using the default heartbeat value.
Initiator establishes the telecommunications link and initiates the session via transmission of the initial Logon message. The heartbeat interval will be 30 seconds. | |
LogonAsInitiator(String, Int32, Boolean) |
Establishes FIX Connection as Initiator using the default heartbeat value, optionally sets
ResetSeqNumFlag (tag=141) field in the initial Logon (MsgType=A) message.
Initiator establishes the telecommunications link and initiates the session via transmission of the initial Logon (MsgType=A) message. The heartbeat interval will be 30 seconds. | |
LogonAsInitiator(String, Int32, Int32) |
Establishes FIX Connection as Initiator.
Initiator establishes the telecommunications link and initiates the session via transmission of the initial Logon message. | |
LogonAsInitiator(String, Int32, Int32, Message) |
Establishes FIX Connection as Initiator using the custom Logon message.
Initiator establishes the telecommunications link and initiates the session via transmission of the initial Logon message. | |
LogonAsInitiator(String, Int32, Int32, Boolean) |
Establishes FIX Connection as Initiator.
Initiator establishes the telecommunications link and initiates the session via transmission of the initial Logon (MsgType=A) message. | |
LogonAsInitiator(String, Int32, Int32, Message, Boolean) |
Establishes FIX Connection as Initiator using a custom Logon message with an optional ResetSeqNumFlag (tag=141) field.
Initiator establishes the telecommunications link and initiates the session via transmission of the initial Logon (MsgType=A) message. | |
LogonAsInitiatorAsync |
Establishes FIX Connection asynchronously as Initiator using a custom Logon message with an optional ResetSeqNumFlag (tag=141) field.
Initiator establishes the telecommunications link and initiates the session via transmission of the initial Logon (MsgType=A) message. The method returns immediately without waiting the acknowledgment Logon message. | |
Logout() |
Terminates the FIX Connection.
The initial Logout message is sent to the counterparty and the method blocks until the acknowledgement Logout message is received or the Heartbeat interval is elapsed. | |
Logout(String) |
Terminates the FIX Connection.
The initial Logout (MsgType=5) message is sent to the counterparty and the method blocks until the acknowledgement Logout message is received. | |
Logout(Message) |
Terminates the FIX Connection.
The initial Logout message is sent to the counterparty and the method blocks until the acknowledgement Logout message is received. | |
LogoutAsync(String) |
Terminates the FIX Connection.
The initial Logout (MsgType=5) message is sent to the counterparty and the method returns immediately without waiting the acknowledgment Logout message. | |
LogoutAsync(Message) |
Terminates the FIX Connection.
The initial Logout message is sent to the counterparty and the method returns immediately without waiting the acknowledgment Logout message. | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
OnErrorEvent | Called when Error condition is detected. | |
OnInboundApplicationMsgEvent | Called when the Application-level message is received. | |
OnInboundSessionMsgEvent | Called when the Session-level message is received. | |
OnMessageResending | Called when the sent application-level message is about to be re-sent to the counterpart in reply to the ResendRequest (MsgType=2) message. | |
OnOutboundApplicationMsgEvent | Called when the Application-level message is sent. | |
OnOutboundSessionMsgEvent | Called when the Session-level message is sent. | |
OnResendingFinished | Called when the resending process is completed. | |
OnResendingStarted | Called when the ResendRequest (MsgType=2) message is received and the session is about to start resending messages. | |
OnStateChangeEvent | Called when the session changes its state. | |
OnWarningEvent | Called when a warning condition is detected. | |
PreFill(FlatMessage) |
Pre-fills the following fields for sending as is:
Session-level fields that are constant during the session's lifetime - SenderCompId, TargetCompId, SenderLocationId, TargetLocationID, SenderSubID, TargetSubID.
MsgSeqNum field in accordance with the session outgoing sequence number.
SendingTime field.
BodyLength and CheckSum fields.
| |
PreFill(FlatMessageBatch) |
Pre-fills the following fields in the batch for sending as is:
Session-level fields that are constant during the session's lifetime - SenderCompId, TargetCompId, SenderLocationId, TargetLocationID, SenderSubID, TargetSubID.
MsgSeqNum field in accordance with the session outgoing sequence number.
SendingTime field.
BodyLength and CheckSum fields.
| |
PreFill(Message) |
Pre-fills session-level fields that are constant during the session's lifetime - SenderCompId, TargetCompId, SenderLocationId, TargetLocationID, SenderSubID, TargetSubID.
| |
ResetLocalSequenceNumbers |
Resets the local sequence numbers to 1 and backups the current log files (if file-based session storage is used).
This method can be called only when the session is disconnected.
| |
ResetSequenceNumbersViaLogonExchange |
Sends an intra-connection Logon (MsgType=A) message with the ResetSeqNumFlag (tag=141) flag set.
| |
ScheduleShrinkToFit |
Schedule the memory usage optimization.
The session will perform the actual memory usage optimization after receiving and processing the next incoming message.
| |
Send(FlatMessage) |
Sends the serialized message to the counterparty.
This method is asynchronous. As soon as a session is created, it is possible to start sending messages via the session. If the session is not established, the messages are stored in the session storage and will be sent in replay to the resend request when the connection is established with the counterparty and the sequence numbers mismatch is detected. | |
Send(FlatMessageBatch) |
Sends messages in a batch to the counterparty.
This method is asynchronous. As soon as a session is created, it is possible to start sending messages via the session. If the session is not established, the messages are stored in the session storage and will be sent in replay to the resend request when the connection is established with the counterparty and the sequence numbers mismatch is detected. | |
Send(Message) |
Sends the message to the counterparty.
This method is asynchronous. As soon as a session is created, it is possible to start sending messages via the session. If the session is not established, the messages are stored in the session storage and will be sent in replay to the resend request when the connection is established with the counterparty and the sequence numbers mismatch is detected. | |
Send(MessageBatch) |
Sends messages in a batch to the counterparty.
This method is asynchronous. As soon as a session is created, it is possible to start sending messages via the session. If the session is not established, the messages are stored in the session storage and will be sent in replay to the resend request when the connection is established with the counterparty and the sequence numbers mismatch is detected. | |
Send(FlatMessageBatch, Int32) |
Sends messages in a batch to the counterparty.
This method is asynchronous. As soon as a session is created, it is possible to start sending messages via the session. If the session is not established, the messages are stored in the session storage and will be sent in replay to the resend request when the connection is established with the counterparty and the sequence numbers mismatch is detected. | |
Send(MessageBatch, Int32) |
Sends messages in a batch to the counterparty.
This method is asynchronous. As soon as a session is created, it is possible to start sending messages via the session. If the session is not established, the messages are stored in the session storage and will be sent in replay to the resend request when the connection is established with the counterparty and the sequence numbers mismatch is detected. | |
SendAsIs(FlatMessage) |
Sends a message to the counterparty without any fields updating.
This method is asynchronous. As soon as a session is created, it is possible to start sending messages via the session. If the session is not established, the messages are stored in the session storage and will be sent in replay to the resend request when the connection is established with the counterparty and the sequence numbers mismatch is detected. | |
SendAsIs(FlatMessageBatch) |
Sends messages in a batch to the counterparty without any fields updating.
This method is asynchronous. As soon as a session is created, it is possible to start sending messages via the session. If the session is not established, the messages are stored in the session storage and will be sent in replay to the resend request when the connection is established with the counterparty and the sequence numbers mismatch is detected. | |
SendAsIs(FlatMessageBatch, Int32) |
Sends messages in a batch to the counterparty without any fields updating.
This method is asynchronous. As soon as a session is created, it is possible to start sending messages via the session. If the session is not established, the messages are stored in the session storage and will be sent in replay to the resend request when the connection is established with the counterparty and the sequence numbers mismatch is detected. | |
SendReject |
Sends the Reject (MsgType=3) message.
| |
SendResendRequest |
Normally, Resend Request (MsgType=2) message is sent automatically. This method allows simulating a sequence gap by sending this message manually.
This can be needed in some venue specific cases. This method should not be used in the normal work.
| |
SendTestRequest(String) | Sends the Test Request (MsgType=1) message. | |
SendTestRequest(String, TimeSpan) | Sends the Test Request (MsgType=1) message and waits until the heartbeat message is received from the counterparty or timeout ended | |
Throttle |
Performs throttling of a session that must be called before each of a send function call.
If the count of messages per a time unit exceeds a throttling limit, the function will be blocked until the given time interval is passed.
| |
ThrottlingLimit |
Sets throttling limit parameters.
| |
ToString | Returns a string that represents the current session. (Overrides Object.ToString().) | |
WarmUp |
Warms up the sending path.
|
Name | Description | |
---|---|---|
BytesReceived |
Raised when bytes received by the session.
| |
ErrorEvent | Error condition is detected. | |
InboundApplicationMsgEvent | Application-level message is received from the counterparty. | |
InboundSessionMsgEvent | Session-level message is received. | |
MessageResending | Sent application-level message is about to be resent to the counterparty. | |
MessageSending | Message is about to be sent to the counterparty. | |
OutboundApplicationMsgEvent | Application-level message will be sent to the counterparty. | |
OutboundSessionMsgEvent | Session-level message will be sent to the counterparty. | |
ResendingFinished | Resending process is completed. | |
ResendingStarted | ResendRequest (MsgType=2) message is received and the session is about to start resending messages. | |
StateChangeEvent | Session state is changed. | |
WarningEvent | Warning condition is detected. |
Name | Description | |
---|---|---|
ResendRequestMaximumRangeNoLimit |
Represents unlimited number of messages to be requested in one Resend Request (MsgType=2) message.
|