OpenClient
Herda de: Disposable
Construtores
public OpenClient(string host, uint port)
openClient = OpenClient(host, port)
Cria uma instância de OpenClient que ainda não está ligada
- host
- O nome da máquina do endpoint da API
- port
- O número da porta da máquina
Propriedades
public string Host { get; }
value = openClient.Host
A máquina de endpoint da API a que o cliente atual está conectado
public bool IsCompleted { get; private set; }
value = openClient.IsCompleted
openClient.IsCompleted = value
Se o fluxo do cliente for concluído sem qualquer erro, então ele retornará Verdadeiro, caso contrário Falso
public bool IsTerminated { get; private set; }
value = openClient.IsTerminated
openClient.IsTerminated = value
Se houve algum erro (exceção) no fluxo do cliente, então isso retornará Verdadeiro, caso contrário Falso
public uint Port { get; }
value = openClient.Port
A porta de host API a que o cliente atual está conectado
Métodos
public Task Connect(CancellationToken cancellationToken)
result = openClient.Connect(cancellationToken)
Liga- se à API com base no método especificado
Retorna: Tarefa
private Task ConnectTcp(CancellationToken cancellationToken)
result = openClient.ConnectTcp(cancellationToken)
Liga- se à API usando um cliente TCP
Retorna: Tarefa
protected override void DisposeManaged()
openClient.DisposeManaged()
Elimina o cliente, libera todos os recursos usados e para todas as operações em execução
private static int GetLength(byte[] lengthBytes)
result = OpenClient.GetLength(lengthBytes)
Retorna o comprimento de uma mensagem recebida sem causar alocação extra
- lengthBytes
- A matriz de bytes dos dados de comprimento recebidos
Retorna: int
private void OnCompleted()
openClient.OnCompleted()
Completa cada observador chamando seu método OnCompleted
private void OnError(Exception exception)
openClient.OnError(exception)
Elimina o cliente e chama cada observador OnError após uma exceção lançada
- exception
- Exceção
private Task ReadTcp(CancellationToken cancellationToken)
result = openClient.ReadTcp(cancellationToken)
Este método irá ler o fluxo TCP para mensagens recebidas
- cancellationToken
- O token de cancelamento que será usado em ReadAsync calls
Retorna: Tarefa
public Task SendMessage(ProtoMessage message, CancellationToken cancellationToken)
result = openClient.SendMessage(message, cancellationToken)
Este método irá inserir a sua mensagem na fila de mensagens, não irá enviar a mensagem instantaneamente
- message
- Mensagem
- cancellationToken
Retorna: Tarefa
public Task SendMessage<T>(T message, ProtoOAPayloadType payloadType, string clientMsgId, CancellationToken cancellationToken)
result = openClient.SendMessage(message, payloadType, clientMsgId, cancellationToken)
Este método irá inserir a sua mensagem na fila de mensagens, não irá enviar a mensagem instantaneamente
- message
- Mensagem
- payloadType
- Tipo de Carga de Mensagens (ProtoOAPayloadType)
- clientMsgId
- O ID da mensagem do cliente (opcional)
- cancellationToken
Retorna: Tarefa
public Task SendMessage<T>(T message, string clientMsgId, CancellationToken cancellationToken)
result = openClient.SendMessage(message, clientMsgId, cancellationToken)
Este método irá inserir a sua mensagem na fila de mensagens, não irá enviar a mensagem instantaneamente Ao usar esta sobrecarga de SendMessage método você evita passar o tipo de carga útil da mensagem e recebe a carga útil da mensagem em si
- message
- Mensagem
- clientMsgId
- O ID da mensagem do cliente (opcional)
- cancellationToken
Retorna: Tarefa
public Task SendMessage<T>(T message, ProtoPayloadType payloadType, string clientMsgId, CancellationToken cancellationToken)
result = openClient.SendMessage(message, payloadType, clientMsgId, cancellationToken)
Este método irá inserir a sua mensagem na fila de mensagens, não irá enviar a mensagem instantaneamente
- message
- Mensagem
- payloadType
- Tipo de Carga de Mensagens (ProtoPayloadType)
- clientMsgId
- O ID da mensagem do cliente (opcional)
- cancellationToken
Retorna: Tarefa
private void ThrowObjectDisposedExceptionIfDisposed()
openClient.ThrowObjectDisposedExceptionIfDisposed()
Lança ObjectDisposedException se o cliente foi eliminado
private Task WriteTcp(byte[] messageByte, CancellationToken cancellationToken)
result = openClient.WriteTcp(messageByte, cancellationToken)
Grava os bytes da mensagem no fluxo TCP
- messageByte
- cancellationToken
- O token de cancelamento que será usado em métodos de chamada de fluxo
Retorna: Tarefa
Eventos
public event Action<ProtoMessage> MessageReceived
openClient.MessageReceived += handler
Este evento será acionado quando uma mensagem for recebida da API