ClientFixSession
StockSharp.Server.Fix
代表连接到 FIX 客户端会话, 并带有自己的写手、 方言和正在发送的消息队列 。
继承自: FixSession
实现: IMessageListenerSession, ILogReceiver, ILogSource, IDisposable
构造函数
ClientFixSession
public ClientFixSession(IFixDialect fixDialect, string version, string language, Stream clientStream, TcpClient client, TimeSpan quotesInterval, FixSession serverSession, string authorizationToken, ISessionTransactionIdStorage transactionIdStorage, bool checkSumDisabled, bool isDemo, int maxPendingMessages)
clientFixSession = ClientFixSession(fixDialect, version, language, clientStream, client, quotesInterval, serverSession, authorizationToken, transactionIdStorage, checkSumDisabled, isDemo, maxPendingMessages)
初始化了 & ##ClientFixSession+#的新实例.
- fixDialect
- FIX 用于信件解析和写作的方言.
- version
- FIX协议版本字符串.
- language
- 客户语言偏好.
- clientStream
- 网络流来通.
- client
- TCP客户端连接.
- quotesInterval
- 引用更新的集合间隔 。
- serverSession
- 父服务器侧会话配置 。
- authorizationToken
- 成功登录后返回授权令牌 。
- transactionIdStorage
- 用于映射FIX的存储请求将ID请求到内部交易ID.
- checkSumDisabled
- FIX 校验和验证是否被禁用 。
- isDemo
- 是否是演示会话 。
- maxPendingMessages
- 最大排队数在后压强制断开前已退出的工作项目。 0 表示未绑定 。
属性
AuthorizationToken
public string AuthorizationToken { get; }
value = clientFixSession.AuthorizationToken
成功登录后, 授权符指定给此会话 。
BytesReceived
public long BytesReceived { get; set; }
value = clientFixSession.BytesReceived
clientFixSession.BytesReceived = value
收到的字节数 。
BytesSent
public long BytesSent { get; set; }
value = clientFixSession.BytesSent
clientFixSession.BytesSent = value
发送字节数 。
ErrorCount
public int ErrorCount { get; set; }
value = clientFixSession.ErrorCount
clientFixSession.ErrorCount = value
出错数.
FixDialect
public IFixDialect FixDialect { get; }
value = clientFixSession.FixDialect
FIX 方言,本会话用于消息序列化.
OutgoingQueueCount
public int OutgoingQueueCount { get; }
value = clientFixSession.OutgoingQueueCount
当前发送信件队列的大小( 如果频道不显示一个计数) 。
QuotesInterval
public TimeSpan QuotesInterval { get; }
value = clientFixSession.QuotesInterval
发送前汇总递增的引号更新的间隔 。
RemoteEndPoint
public EndPoint RemoteEndPoint { get; }
value = clientFixSession.RemoteEndPoint
连接客户端的远程端点地址 。
Serializer
public IFixServerSerializer Serializer { get; private set; }
value = clientFixSession.Serializer
clientFixSession.Serializer = value
本次会话的FIX序列器.
ServerSession
public FixSession ServerSession { get; }
value = clientFixSession.ServerSession
父服务器侧会话配置 。
TotalErrorCount
public int TotalErrorCount { get; set; }
value = clientFixSession.TotalErrorCount
clientFixSession.TotalErrorCount = value
全部错误计数 。
TransactionIdStorage
public ISessionTransactionIdStorage TransactionIdStorage { get; }
value = clientFixSession.TransactionIdStorage
UpdatedTime
public DateTime UpdatedTime { get; }
value = clientFixSession.UpdatedTime
UTC最后一次收到消息的时间戳(心跳或数据).
方法
EnqueueWork
public bool EnqueueWork(ServerSubscription subscription, string requestId, Func<ClientFixSession, string, CancellationToken, ValueTask<bool>> handler)
result = clientFixSession.EnqueueWork(subscription, requestId, handler)
排列一个序列化工作项目进行处理。 如果队列满了或完成( 客户后压) , 返回, 以便呼叫者强制断开 。
IncreaseBytesSent
public override void IncreaseBytesSent(int count)
clientFixSession.IncreaseBytesSent(count)
Increase BytesSent.
- count
- 价值.
IncreaseErrorCount
public override void IncreaseErrorCount()
clientFixSession.IncreaseErrorCount()
Increase ErrorCount.
Init
public Task Init(FixServerSettings serverSettings, Action<ClientFixSession> logout, CancellationToken cancellationToken)
result = clientFixSession.Init(serverSettings, logout, cancellationToken)
启动此会话的发出信件处理循环 。
- serverSettings
- 服务器设置( 用于最大出错阈值) 。
- logout
- 必须在会议断开时召回引用。
- cancellationToken
- 取消的代币。
返回值: 任务持续到会话的结束。
InitSerializer
public void InitSerializer(IFixReader reader)
clientFixSession.InitSerializer(reader)
初始化序列器与给定的阅读器 。
- reader
- 接收信件的 FIX 读取器 。
ResetErrorCount
public override void ResetErrorCount()
clientFixSession.ResetErrorCount()
Reset ErrorCount.