NetworkClient

StockSharp.Fix.Native

UDP网络客户端的抽象基类.

继承自: BaseLogReceiver

实现: INetworkClient, ILogReceiver, ILogSource, IDisposable, IPacketProcessor

构造函数

NetworkClient
protected NetworkClient(IUdpDialect dialect, string name, MulticastSourceAddress address, Func<TNetworkClient, IMemoryOwner<byte>, List<Message>, bool> processMessage, IPacketReceiverFactory receiverFactory)
networkClient = NetworkClient(dialect, name, address, processMessage, receiverFactory)

初始化了 & ##NetworkClient+# 类的新实例 。

dialect
UDP方言.
name
客户名.
address
多播源地址.
processMessage
处理收到消息的功能 。
receiverFactory
IPacketReceiverFactory

属性

Dialect
public IUdpDialect Dialect { get; }
value = networkClient.Dialect

获取与此客户端相关的 UDP 方言 。

FullMode
public PacketQueueFullModes FullMode { get; set; }
value = networkClient.FullMode
networkClient.FullMode = value

当包队列满了时的行为 。

IsEnabled
public bool IsEnabled { get; }
value = networkClient.IsEnabled

已启用。

MaxIncomingQueueSize
public int MaxIncomingQueueSize { get; }
value = networkClient.MaxIncomingQueueSize

在每个种子中, 在新包丢出之前, 最大缓冲收到的 UDP 包 。

MaxUdpDatagramSize
public int MaxUdpDatagramSize { get; }
value = networkClient.MaxUdpDatagramSize

最大 UDP 数据格大小 。

Name
public override string Name { get; }
value = networkClient.Name

获得客户名.

方法

AllocatePacket
public IMemoryOwner<byte> AllocatePacket(int size)
result = networkClient.AllocatePacket(size)

分配指定大小的包 。

size
要分配的包大小 。

返回值: 包裹。

Connect
public void Connect()
networkClient.Connect()

连接到交易系统.

Disconnect
public void Disconnect()
networkClient.Disconnect()

与交易系统断开联系.

DisposeManaged
protected override void DisposeManaged()
networkClient.DisposeManaged()

释放资源。

DisposePacket
public void DisposePacket(IMemoryOwner<byte> packet, string reason)
networkClient.DisposePacket(packet, reason)

以指定的理由处理数据包。

packet
包裹。
reason
具体原因.
ErrorHandler
public void ErrorHandler(Exception e, int numErrors, bool isFatal)
networkClient.ErrorHandler(e, numErrors, isFatal)

处理包处理过程中发生的错误 。

e
遇到的例外情况。
numErrors
出错数起.
isFatal
显示错误是否致命。
ProcessNewPacket
public ValueTask<bool> ProcessNewPacket(IMemoryOwner<byte> packet, int length, CancellationToken cancellationToken)
result = networkClient.ProcessNewPacket(packet, length, cancellationToken)