FixServer

StockSharp.Server.Fix

FIX server.

Inherits: BaseProtocolServer<ClientFixSession, FixServerSubscription, FixServerSettings>

Constructors

FixServer
public FixServer(IAuthorization authorization, ITransactionIdStorage transactionIdStorage, string licenseFeatureId, Type componentType)
fixServer = FixServer(authorization, transactionIdStorage, licenseFeatureId, componentType)

Initializes a new instance of the FixServer.

authorization
The customer authentication.
transactionIdStorage
Transaction and request identifiers storage.
licenseFeatureId
LicenseFeatureId
componentType
ComponentTimestamp
FixServer
public FixServer(IAuthorization authorization, ITransactionIdStorage transactionIdStorage, string licenseFeatureId, DateTime componentTimestamp, IMessageConverter converter)
fixServer = FixServer(authorization, transactionIdStorage, licenseFeatureId, componentTimestamp, converter)

Initializes a new instance of the FixServer.

authorization
The customer authentication.
transactionIdStorage
Transaction and request identifiers storage.
licenseFeatureId
LicenseFeatureId
componentTimestamp
ComponentTimestamp
converter
Message converter.

Properties

Authorization
public IAuthorization Authorization { get; }
value = fixServer.Authorization

The customer authentication.

ComponentTimestamp
public DateTime ComponentTimestamp { get; }
value = fixServer.ComponentTimestamp

Component timestamp.

Converter
public IMessageConverter Converter { get; }
value = fixServer.Converter

Message converter for FIX ↔ StockSharp message conversion.

LicenseFeatureId
public string LicenseFeatureId { get; }
value = fixServer.LicenseFeatureId

License feature id to be sent as Logon response.

SendOutHeartbeats
public bool SendOutHeartbeats { get; set; }
value = fixServer.SendOutHeartbeats
fixServer.SendOutHeartbeats = value

Send heartbeat via outgoing messages channel.

TransactionIdStorage
public ITransactionIdStorage TransactionIdStorage { get; }
value = fixServer.TransactionIdStorage

Methods

CreateCondition
protected virtual OrderCondition CreateCondition()
result = fixServer.CreateCondition()

To create the order condition.

Returns: The order condition.

CreateSubscription
protected override FixServerSubscription CreateSubscription(ClientFixSession session, string requestId, ServerSubscription subscription, MessageTypes type)
result = fixServer.CreateSubscription(session, requestId, subscription, type)
CreateTransactionId
private long CreateTransactionId(ClientFixSession session, string requestId)
result = fixServer.CreateTransactionId(session, requestId)

Generate a new request identifier.

session
Session.
requestId
Request identifier.

Returns: Transaction ID.

GetSessionKey
protected override string GetSessionKey(ClientFixSession session)
result = fixServer.GetSessionKey(session)
IsStubSubscription
protected override bool IsStubSubscription(FixServerSubscription subscription)
result = fixServer.IsStubSubscription(subscription)
Load
public override void Load(SettingsStorage storage)
fixServer.Load(storage)

Load settings.

storage
Settings storage.
OnClearListenerState
protected override void OnClearListenerState()
fixServer.OnClearListenerState()

Clear protocol-specific listener state (stop listeners, etc.).

OnProcess
protected virtual IAsyncEnumerable<Message> OnProcess(FixSession session, string msgType, IFixReader reader, CancellationToken cancellationToken)
result = fixServer.OnProcess(session, msgType, reader, cancellationToken)

The method is called when the received message is processing.

OnStartListeners
protected override void OnStartListeners(CancellationToken cancellationToken)
fixServer.OnStartListeners(cancellationToken)

Start protocol-specific listeners (TCP, etc.). Add tasks to _backgroundTasks.

PostInitCondition
protected virtual void PostInitCondition(char ordType, OrderCondition condition)
fixServer.PostInitCondition(ordType, condition)

The final initialization of the order condition.

ordType
Order type.
condition
The order condition.
ProcessInMessage
protected override void ProcessInMessage(Message message, CancellationToken cancellationToken)
fixServer.ProcessInMessage(message, cancellationToken)

Process an incoming message and route to subscribed clients.

ProcessLogout
protected override void ProcessLogout(ClientFixSession session)
fixServer.ProcessLogout(session)
ReadOrderConditionAsync
protected virtual ValueTask<bool> ReadOrderConditionAsync(IFixServerSerializer serializer, FixTags tag, Func<OrderCondition> getCondition, CancellationToken cancellationToken)
result = fixServer.ReadOrderConditionAsync(serializer, tag, getCondition, cancellationToken)

To read the order condition OrderCondition.

serializer
IFixServerSerializer
tag
Tag.
getCondition
The function returning the order condition.
cancellationToken
CancellationToken

Returns: Whether the data was successfully processed.

Save
public override void Save(SettingsStorage storage)
fixServer.Save(storage)

Save settings.

storage
Settings storage.
ScheduleSessionWork
protected override void ScheduleSessionWork(ClientFixSession session, ServerSubscription subscription, string requestId, Func<ClientFixSession, string, CancellationToken, ValueTask<bool>> handler)
fixServer.ScheduleSessionWork(session, subscription, requestId, handler)
TryGetRequestId
private static string TryGetRequestId(ClientFixSession session, long transactionId)
result = FixServer.TryGetRequestId(session, transactionId)

Get the request identifier.

session
The session.
transactionId
Transaction ID.

Returns: Request identifier.

TryResolveTransactionId
internal static bool TryResolveTransactionId(ISessionTransactionIdStorage storage, string requestId, long transactionId)
result = FixServer.TryResolveTransactionId(storage, requestId, transactionId)

Resolve a client request id to a server transaction id.

storage
The session transaction id storage.
requestId
The request identifier.
transactionId
The resolved transaction ID.

Returns: if the transaction ID was resolved; otherwise, .

WriterFixOrderConditionAsync
protected virtual ValueTask WriterFixOrderConditionAsync(IFixServerSerializer serializer, OrderCondition condition, CancellationToken cancellationToken)
result = fixServer.WriterFixOrderConditionAsync(serializer, condition, cancellationToken)

To record data by the order condition (async version).

serializer
IFixServerSerializer
condition
Order condition (e.g., stop- and algo- orders parameters).
cancellationToken
Cancellation token.