NetworkClient
StockSharp.Fix.Native
Classe básica abstrata para clientes de rede UDP.
Herda de: BaseLogReceiver
Implementa: INetworkClient, ILogReceiver, ILogSource, IDisposable, IPacketProcessor
Construtores
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)
Inicializa uma nova instância da classe NetworkClient.
- dialect
- O dialecto UDP.
- name
- O nome do cliente.
- address
- O endereço de origem multicast.
- processMessage
- Função para processar as mensagens recebidas.
- receiverFactory
- IPacketReceiverFactory
Propriedades
Dialect
public IUdpDialect Dialect { get; }
value = networkClient.Dialect
Obtém o dialeto UDP associado a este cliente.
FullMode
public PacketQueueFullModes FullMode { get; set; }
value = networkClient.FullMode
networkClient.FullMode = value
Comportamento quando a fila de pacotes está cheia.
MaxIncomingQueueSize
public int MaxIncomingQueueSize { get; }
value = networkClient.MaxIncomingQueueSize
Pacotes UDP de entrada de buffer máximo por feed antes de novos pacotes serem deixados cair.
MaxUdpDatagramSize
public int MaxUdpDatagramSize { get; }
value = networkClient.MaxUdpDatagramSize
Tamanho máximo do datagram do UDP.
Métodos
AllocatePacket
public IMemoryOwner<byte> AllocatePacket(int size)
result = networkClient.AllocatePacket(size)
Para alocar um pacote do tamanho especificado.
- size
- O tamanho do pacote para alocar.
Retorna: O pacote.
DisposeManaged
protected override void DisposeManaged()
networkClient.DisposeManaged()
Libertar recursos.
DisposePacket
public void DisposePacket(IMemoryOwner<byte> packet, string reason)
networkClient.DisposePacket(packet, reason)
Elimina o pacote com a razão indicada.
- packet
- O pacote.
- reason
- A razão especificada.
ErrorHandler
public void ErrorHandler(Exception e, int numErrors, bool isFatal)
networkClient.ErrorHandler(e, numErrors, isFatal)
Lida com erros que ocorrem durante o processamento de pacotes.
- e
- A excepção encontrada.
- numErrors
- A contagem de erros.
- isFatal
- Indica se o erro é fatal.
ProcessNewPacket
public ValueTask<bool> ProcessNewPacket(IMemoryOwner<byte> packet, int length, CancellationToken cancellationToken)
result = networkClient.ProcessNewPacket(packet, length, cancellationToken)