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
Поведение, когда очередь пакетов заполнена.
MaxIncomingQueueSize
public int MaxIncomingQueueSize { get; }
value = networkClient.MaxIncomingQueueSize
Максимальное количество буферизуемых входящих UDP-пакетов на канал перед отбрасыванием новых пакетов.
MaxUdpDatagramSize
public int MaxUdpDatagramSize { get; }
value = networkClient.MaxUdpDatagramSize
Максимальный размер дейтаграммы UDP.
Методы
AllocatePacket
public IMemoryOwner<byte> AllocatePacket(int size)
result = networkClient.AllocatePacket(size)
Выделить пакет указанного размера.
- size
- Размер выделяемого пакета.
Возвращает: Пакет.
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)