O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

TCP

Este módulo inclui funções que controlam a comunicação TCP.

Resumo

Enumerações

anonymous enum enum
Isto define enumeração sinalizadores passados para otTcpConnect () .
anonymous enum enum
Essa enumeração define sinalizadores passados para otTcpSendByReference .
otTcpDisconnectedReason enum
otTcpIncomingConnectionAction {
OT_TCP_INCOMING_CONNECTION_ACTION_ACCEPT ,
OT_TCP_INCOMING_CONNECTION_ACTION_DEFER ,
OT_TCP_INCOMING_CONNECTION_ACTION_REFUSE
}
enum
Essa enumeração define as ações de conexão de entrada.

Typedefs

otLinkedBuffer typedef
Uma estrutura de buffer vinculada para uso com TCP.
otTcpAcceptDone )(otTcpListener *aListener, otTcpEndpoint *aEndpoint, const otSockAddr *aPeer) typedef
void(*
Este retorno de chamada indica que a conexão TCP agora está pronta para comunicação bidirecional.
otTcpAcceptReady )(otTcpListener *aListener, const otSockAddr *aPeer, otTcpEndpoint **aAcceptInto) typedef
Este retorno de chamada indica que uma conexão de entrada que corresponde a este ouvinte TCP chegou.
otTcpBytesAcked )(otTcpEndpoint *aEndpoint, size_t aNumBytes) typedef
void(*
Este callback informa o aplicativo que os primeiros aNumBytes no envio tampão foram reconhecidas pelo peer conexão e que a sua memória subjacente pode ser recuperada pelo aplicativo.
otTcpDisconnected )(otTcpEndpoint *aEndpoint, otTcpDisconnectedReason aReason) typedef
void(*
Este retorno de chamada indica que a conexão foi interrompida e não deve mais ser usada, ou que uma conexão entrou no estado TIME-WAIT.
otTcpDisconnectedReason typedef
enum otTcpDisconnectedReason
otTcpEndpoint typedef
otTcpEndpointInitializeArgs typedef
Esta estrutura contém argumentos para a otTcpEndpointInitialize () função.
otTcpEstablished )(otTcpEndpoint *aEndpoint) typedef
void(*
Esse retorno de chamada informa ao aplicativo que o handshake TCP de 3 vias foi concluído e que a conexão foi estabelecida.
otTcpIncomingConnectionAction typedef
Essa enumeração define as ações de conexão de entrada.
otTcpListener typedef
otTcpListenerInitializeArgs typedef
Esta estrutura contém argumentos para a otTcpListenerInitialize () função.
otTcpReceiveAvailable )(otTcpEndpoint *aEndpoint, size_t aBytesAvailable, bool aEndOfStream, size_t aBytesRemaining) typedef
void(*
Este retorno de chamada indica o número de bytes disponíveis para consumo do buffer de recebimento.
otTcpSendDone )(otTcpEndpoint *aEndpoint, otLinkedBuffer *aData) typedef
void(*
Este callback informa o aplicativo que dados nos fornecidos aData foram reconhecidos pelo peer conexão e que aData e os dados que ele contém pode ser recuperada pelo aplicativo.
otTcpSendReady )(otTcpEndpoint *aEndpoint) typedef
void(*
Esse retorno de chamada informa ao aplicativo que se os dados forem adicionados ao buffer de envio, alguns deles serão transmitidos imediatamente, sem atraso, em vez de serem enfileirados para transmissão quando o par ACKs alguns dados.

Funções

otTcpAbort ( otTcpEndpoint *aEndpoint)
Termina forçosamente a conexão TCP associada a este ponto de extremidade TCP.
otTcpBind ( otTcpEndpoint *aEndpoint, const otSockAddr *aSockName)
Vincula o ponto de extremidade TCP a um endereço IP e porta.
otTcpCommitReceive ( otTcpEndpoint *aEndpoint, size_t aNumBytes, uint32_t aFlags)
Informa a pilha TCP que a aplicação tem de processamento acabados aNumBytes bytes de dados no início do buffer de recepção e que a necessidade pilha TCP não continue a manter esses bytes no buffer de recepção.
otTcpConnect ( otTcpEndpoint *aEndpoint, const otSockAddr *aSockName, uint32_t aFlags)
Registra o host remoto e a porta para esta conexão.
otTcpEndpointDeinitialize ( otTcpEndpoint *aEndpoint)
Desinicializa este ponto de extremidade TCP.
otTcpEndpointGetContext ( otTcpEndpoint *aEndpoint)
void *
Obtém o ponteiro de contexto que foi associado com aEndpoint durante a inicialização.
otTcpEndpointGetInstance ( otTcpEndpoint *aEndpoint)
Obtém o otInstance que foi associado com aEndpoint na inicialização.
otTcpEndpointInitialize ( otInstance *aInstance, otTcpEndpoint *aEndpoint, otTcpEndpointInitializeArgs *aArgs)
Inicializa um ponto de extremidade TCP.
otTcpGetLocalAddress (const otTcpEndpoint *aEndpoint)
const otSockAddr *
Obtém um ponteiro para o host e a porta local de um ponto de extremidade TCP.
otTcpGetPeerAddress (const otTcpEndpoint *aEndpoint)
const otSockAddr *
Obtém um ponteiro para o host e a porta de um ponto de extremidade TCP.
otTcpListen ( otTcpListener *aListener, const otSockAddr *aSockName)
Faz com que as conexões TCP de entrada que correspondem ao endereço IP e à porta especificados acionem os retornos de chamada desse ouvinte TCP.
otTcpListenerDeinitialize ( otTcpListener *aListener)
Desinicializa esse ouvinte TCP.
otTcpListenerGetContext ( otTcpListener *aListener)
void *
Obtém o ponteiro de contexto que foi associado com aListener durante a inicialização.
otTcpListenerGetInstance ( otTcpListener *aListener)
Obtém o otInstance que foi associado com aListener na inicialização.
otTcpListenerInitialize ( otInstance *aInstance, otTcpListener *aListener, otTcpListenerInitializeArgs *aArgs)
Inicializa um ouvinte TCP.
otTcpReceiveByReference (const otTcpEndpoint *aEndpoint, const otLinkedBuffer **aBuffer)
Fornece ao aplicativo uma cadeia de buffer vinculada que faz referência aos dados atualmente no buffer de recebimento TCP.
otTcpReceiveContiguify ( otTcpEndpoint *aEndpoint)
Reorganiza o buffer de recebimento para ser totalmente contíguo na memória.
otTcpSendByExtension ( otTcpEndpoint *aEndpoint, size_t aNumBytes, uint32_t aFlags)
Adiciona dados para a memória intermédia de envio, estendendo o comprimento da final otLinkedBuffer no buffer de envio pela quantidade especificada.
otTcpSendByReference ( otTcpEndpoint *aEndpoint, otLinkedBuffer *aBuffer, uint32_t aFlags)
Dados Adiciona referenciados pelo tampão ligada apontado por aBuffer para o buffer de envio.
otTcpSendEndOfStream ( otTcpEndpoint *aEndpoint)
Informa ao ponto de conexão que este ponto de extremidade TCP não enviará mais dados.
otTcpStopListening ( otTcpListener *aListener)
Faz com que este ouvinte TCP pare de escutar conexões de entrada.

Structs

otLinkedBuffer

Uma estrutura de buffer vinculada para uso com TCP.

otTcpEndpoint

Essa estrutura representa um ponto de extremidade TCP.

otTcpEndpointInitializeArgs

Esta estrutura contém argumentos para a otTcpEndpointInitialize () função.

otTcpListener

Esta estrutura representa um ouvinte TCP.

otTcpListenerInitializeArgs

Esta estrutura contém argumentos para a otTcpListenerInitialize () função.

Enumerações

enum anônimo

 anonymous enum

Isto define enumeração sinalizadores passados para otTcpConnect () .

enum anônimo

 anonymous enum

Essa enumeração define sinalizadores passados para otTcpSendByReference .

otTcpDisconnectedReason

 otTcpDisconnectedReason

otTcpIncomingConnectionAction

 otTcpIncomingConnectionAction

Essa enumeração define as ações de conexão de entrada.

Este é utilizado em otTcpAcceptReady () de retorno de chamada.

Propriedades
OT_TCP_INCOMING_CONNECTION_ACTION_ACCEPT

Aceite a conexão de entrada.

OT_TCP_INCOMING_CONNECTION_ACTION_DEFER

Adie (ignore silenciosamente) a conexão de entrada.

OT_TCP_INCOMING_CONNECTION_ACTION_REFUSE

Recuse a conexão de entrada.

Typedefs

otLinkedBuffer

struct otLinkedBuffer otLinkedBuffer

Uma estrutura de buffer vinculada para uso com TCP.

Um único otLinkedBuffer estrutura faz referência a uma matriz de bytes de memória, através MDATA e mLength. O campo mNext é usada para formar uma cadeia de otLinkedBuffer estruturas.

otTcpAcceptDone

void(* otTcpAcceptDone)(otTcpListener *aListener, otTcpEndpoint *aEndpoint, const otSockAddr *aPeer)

Este retorno de chamada indica que a conexão TCP agora está pronta para comunicação bidirecional.

No caso do TCP Fast Open, isso pode ocorrer antes que o handshake da conexão TCP seja realmente concluído. O aplicativo é fornecido com os ponteiros de contexto para o ouvinte TCP que aceitou a conexão e o ponto de extremidade TCP no qual ela foi aceita. O contexto fornecido é aquele associado ao ouvinte TCP.

Detalhes
Parâmetros
[in] aListener
O ouvinte TCP que corresponde à conexão de entrada.
[in] aEndpoint
O ponto de extremidade TCP no qual a conexão de entrada foi aceita.
[in] aPeer
o host e a porta de origem da conexão de entrada.

otTcpAcceptReady

otTcpIncomingConnectionAction(* otTcpAcceptReady)(otTcpListener *aListener, const otSockAddr *aPeer, otTcpEndpoint **aAcceptInto)

Este retorno de chamada indica que uma conexão de entrada que corresponde a este ouvinte TCP chegou.

A resposta típica é o aplicativo aceitar a conexão de entrada. Fá-lo por preencher aAcceptInto com um ponteiro para o otTcpEndpoint em que para aceitar a ligação de entrada. Este otTcpEndpoint já deve ser inicializado usando otTcpEndpointInitialize () . Em seguida, o aplicativo retorna OT_TCP_INCOMING_CONNECTION_ACTION_ACCEPT.

Como alternativa, o aplicativo pode se recusar a aceitar a conexão de entrada. Existem duas maneiras de o aplicativo fazer isso. Primeiro, se o aplicativo retorna OT_TCP_INCOMING_CONNECTION_ACTION_DEFER, então OpenThread ignora silenciosamente a solicitação de estabelecimento de conexão; o ponto de conexão provavelmente retransmitirá a solicitação e, nesse ponto, o retorno de chamada será chamado novamente. Isso é valioso se os recursos não estiverem disponíveis no momento para aceitar a conexão, mas eles podem estar disponíveis quando o par de conexão retransmite sua tentativa de estabelecimento de conexão. Em segundo lugar, se o aplicativo retornar OT_TCP_INCOMING_CONNECTION_ACTION_REFUSE, o OpenThread enviará uma mensagem de "conexão recusada" ao host que tentou estabelecer uma conexão. Se o aplicativo diminui a conexão de entrada, não é necessário para preencher aAcceptInto .

Detalhes
Parâmetros
[in] aListener
O ouvinte TCP que corresponde à conexão de entrada.
[in] aPeer
O host e a porta de origem da conexão de entrada.
[out] aAcceptInto
O ponto de extremidade TCP no qual aceitar a conexão de entrada.
Devoluções
Descrição de como lidar com a conexão de entrada.

otTcpBytesAcked

void(* otTcpBytesAcked)(otTcpEndpoint *aEndpoint, size_t aNumBytes)

Este callback informa o aplicativo que os primeiros aNumBytes no envio tampão foram reconhecidas pelo peer conexão e que a sua memória subjacente pode ser recuperada pelo aplicativo.

Este retorno de chamada não é necessário para a operação correta do TCP. A maioria dos aplicativos pode apenas confiar na otTcpSendDone () callback. Se um aplicativo deseja um feedback de baixa granularidade conforme a memória no buffer de envio fica disponível novamente (em vez de esperar que todo um buffer vinculado de dados se torne disponível) ou alguma indicação se a conexão está progredindo, ele pode registrar este retorno de chamada .

Detalhes
Parâmetros
[in] aEndpoint
O ponto de extremidade TCP para a conexão.
[in] aNumBytes
O número de bytes recentemente reconhecidos pelo par de conexão.

otTcpDisconnected

void(* otTcpDisconnected)(otTcpEndpoint *aEndpoint, otTcpDisconnectedReason aReason)

Este retorno de chamada indica que a conexão foi interrompida e não deve mais ser usada, ou que uma conexão entrou no estado TIME-WAIT.

Ela pode ocorrer se houver uma tentativa de estabelecimento de ligação (iniciado chamando otTcpConnect) ( ) falhar, ou qualquer ponto depois disso (por exemplo, se os tempos de ligação para fora ou um segmento RST é recebido a partir do ponto de ligação). Uma vez que este fogos de retorno de chamada, todos os recursos que a aplicação fornecidos para esta conexão (ou seja, nenhum otLinkedBuffers e memória eles fazem referência, mas não o TCP ponto final em si ou espaço para o buffers receber) pode ser recuperada. No caso de uma conexão entrar no estado TIME-WAIT, este retorno de chamada é chamado duas vezes, uma vez na entrada no estado TIME-WAIT (com OT_TCP_DISCONNECTED_REASON_TIME_WAIT, e novamente quando o estado TIME-WAIT expira (com OT_TCP_DISCONNECTED_REASON_NORMAL).

Detalhes
Parâmetros
[in] aEndpoint
O ponto de extremidade TCP cuja conexão foi perdida.
[in] aReason
O motivo pelo qual a conexão foi perdida.

otTcpDisconnectedReason

enum otTcpDisconnectedReason otTcpDisconnectedReason

otTcpEndpoint

struct otTcpEndpoint otTcpEndpoint

otTcpEndpointInitializeArgs

struct otTcpEndpointInitializeArgs otTcpEndpointInitializeArgs

Esta estrutura contém argumentos para a otTcpEndpointInitialize () função.

otTcpEstablished

void(* otTcpEstablished)(otTcpEndpoint *aEndpoint)

Esse retorno de chamada informa ao aplicativo que o handshake TCP de 3 vias foi concluído e que a conexão foi estabelecida.

Detalhes
Parâmetros
[in] aEndpoint
O ponto de extremidade TCP cuja conexão foi estabelecida.

otTcpIncomingConnectionAction

enum otTcpIncomingConnectionAction otTcpIncomingConnectionAction

Essa enumeração define as ações de conexão de entrada.

Este é utilizado em otTcpAcceptReady () de retorno de chamada.

otTcpListener

struct otTcpListener otTcpListener

otTcpListenerInitializeArgs

struct otTcpListenerInitializeArgs otTcpListenerInitializeArgs

Esta estrutura contém argumentos para a otTcpListenerInitialize () função.

otTcpReceiveAvailable

void(* otTcpReceiveAvailable)(otTcpEndpoint *aEndpoint, size_t aBytesAvailable, bool aEndOfStream, size_t aBytesRemaining)

Este retorno de chamada indica o número de bytes disponíveis para consumo do buffer de recebimento.

É chamado sempre que bytes são adicionados ao buffer de recebimento e quando o final do fluxo é alcançado. Se o fim do fluxo foi atingido (ou seja, se há mais dados estarão disponíveis para ler porque o ponto de conexão fechou sua extremidade da conexão para a escrita), então aEndOfStream é verdade. Finalmente, aBytesRemaining indica quanta capacidade é deixado no buffer de recepção para armazenar dados adicionais que chega.

Detalhes
Parâmetros
[in] aEndpoint
O ponto de extremidade TCP para a conexão.
[in] aBytesAvailable
O número de bytes no buffer de recepção da conexão.
[in] aEndOfStream
Indica se dados adicionais, além do que já está no buffer de recebimento da conexão, podem ser recebidos.
[in] aBytesRemaining
O número de bytes adicionais que podem ser recebidos antes que o buffer de recebimento fique cheio.

otTcpSendDone

void(* otTcpSendDone)(otTcpEndpoint *aEndpoint, otLinkedBuffer *aData)

Este callback informa o aplicativo que dados nos fornecidos aData foram reconhecidos pelo peer conexão e que aData e os dados que ele contém pode ser recuperada pelo aplicativo.

Os aData está garantido para ser idênticos aos passado para TCP através otTcpSendByReference () , incluindo quaisquer extensões efectuadas através otTcpSendByExtension () .

Detalhes
Parâmetros
[in] aEndpoint
O ponto de extremidade TCP para a conexão.
[in] aData
Um apontador para a otLinkedBuffer que pode ser recuperada.

otTcpSendReady

void(* otTcpSendReady)(otTcpEndpoint *aEndpoint)

Esse retorno de chamada informa ao aplicativo que, se os dados forem adicionados ao buffer de envio, alguns deles serão transmitidos imediatamente, sem atraso, em vez de serem enfileirados para transmissão quando o par ACKs alguns dados.

Após uma chamada para otTcpSendByReference () ou otTcpSendByExtension () , o otTcpSendReady () chamada de retorno é garantido para ser chamado, imediatamente (se a conexão já está pronto) ou em algum momento no futuro (uma vez que a conexão fica pronto para mais dados).

Este retorno de chamada não é necessário para a operação correta do TCP. Se mais dados forem adicionados ao buffer de envio do que podem ser transmitidos sem atraso, ele simplesmente será enfileirado para transmissão em um momento posterior. Esse retorno de chamada deve ser usado apenas em casos onde alguma garantia é desejada de que os dados adicionados ao buffer de envio serão enviados em breve (por exemplo, o TCP não esperará que o destinatário ACK alguns outros dados antes de enviar esses dados). Por exemplo, você pode usar este retorno de chamada se preferir que seus dados sejam descartados do que desenvolver um backlog de dados em seu buffer de envio. Mas, para a maioria dos aplicativos, nos quais isso não é uma preocupação, espera-se que ninguém use esse retorno de chamada.

Detalhes
Parâmetros
[in] aEndpoint
O ponto de extremidade TCP para a conexão.

Funções

otTcpAbort

otError otTcpAbort(
  otTcpEndpoint *aEndpoint
)

Termina forçosamente a conexão TCP associada a este ponto de extremidade TCP.

Isso imediatamente faz com que o TCP endpoint gratuito para uso por outra conexão e esvazia a enviar e receber buffers, transferir a propriedade de todos os dados fornecidos pelo aplicativo em otTcpSendByReference () chama de volta para o aplicativo. Os retornos de chamada e a memória do ponto de extremidade TCP para o buffer de recebimento permanecem associados ao ponto de extremidade TCP.

Detalhes
Parâmetros
[in] aEndpoint
Um ponteiro para a estrutura do terminal TCP que representa o terminal TCP a ser abortado.
Valores Retornados
OT_ERROR_NONE
Abortou com sucesso a conexão do endpoint TCP.
OT_ERROR_FAILED
Falha ao abortar a conexão do ponto de extremidade TCP.

otTcpBind

otError otTcpBind(
  otTcpEndpoint *aEndpoint,
  const otSockAddr *aSockName
)

Vincula o ponto de extremidade TCP a um endereço IP e porta.

Detalhes
Parâmetros
[in] aEndpoint
Um ponteiro para a estrutura do ponto de extremidade TCP a ser vinculada.
[in] aSockName
O endereço e a porta aos quais ligar este ponto de extremidade TCP.
Valores Retornados
OT_ERROR_NONE
Limite com sucesso o endpoint TCP.
OT_ERROR_FAILED
Falha ao vincular o ponto de extremidade TCP.

otTcpCommitReceive

otError otTcpCommitReceive(
  otTcpEndpoint *aEndpoint,
  size_t aNumBytes,
  uint32_t aFlags
)

Informa a pilha TCP que a aplicação tem de processamento acabados aNumBytes bytes de dados no início do buffer de recepção e que a necessidade pilha TCP não continue a manter esses bytes no buffer de recepção.

Detalhes
Parâmetros
[in] aEndpoint
Um ponteiro para a estrutura do terminal TCP que representa o terminal TCP no qual os dados serão recebidos.
[in] aNumBytes
O número de bytes consumidos.
[in] aFlags
Sinalizadores que especificam opções para esta operação (nenhuma ainda).
Valores Retornados
OT_ERROR_NONE
Concluída com sucesso a operação de recebimento.
OT_ERROR_FAILED
Falha ao concluir a operação de recebimento.

otTcpConnect

otError otTcpConnect(
  otTcpEndpoint *aEndpoint,
  const otSockAddr *aSockName,
  uint32_t aFlags
)

Registra o host remoto e a porta para esta conexão.

Por padrão, o TCP Fast Open é usado. Isto significa que esta função meramente registra o host remoto e porta, e que o estabelecimento de conexão handshake TCP só acontece na primeira chamada para otTcpSendByReference () . Fast TCP Aberta pode ser desativado explicitamente usando aFlags , caso em que o aperto de mão estabelecimento da conexão TCP é iniciada imediatamente.

Detalhes
Parâmetros
[in] aEndpoint
Um ponteiro para a estrutura do terminal TCP a ser conectado.
[in] aSockName
O endereço IP e a porta do host ao qual se conectar.
[in] aFlags
Sinalizadores que especificam opções para esta operação (consulte a enumeração acima).
Valores Retornados
OT_ERROR_NONE
Concluída com sucesso a operação.
OT_ERROR_FAILED
Falha ao concluir a operação.

otTcpEndpointDeinitialize

otError otTcpEndpointDeinitialize(
  otTcpEndpoint *aEndpoint
)

Desinicializa este ponto de extremidade TCP.

Isso significa que o OpenThread não mais rastreia esse ponto de extremidade TCP e desaloca todos os recursos que alocou internamente para esse ponto de extremidade TCP. O aplicativo pode reutilizar a memória apoiando o ponto de extremidade TCP conforme achar necessário.

Se ele corresponde a uma conexão TCP ao vivo, a conexão é encerrada sem cerimônias (como no otTcpAbort () ). Todos os recursos que o aplicativo tem previstos para este endpoint TCP (buffers ligado para o buffer de envio, memória para o buffer de recepção, o aEndpoint estrutura em si, etc.) são imediatamente retornada para o aplicativo.

Detalhes
Parâmetros
[in] aEndpoint
Um ponteiro para a estrutura do terminal TCP para desinicializar.
Valores Retornados
OT_ERROR_NONE
Desinicializou com sucesso o endpoint TCP.
OT_ERROR_FAILED
Falha ao desinicializar o ponto de extremidade TCP.

otTcpEndpointGetContext

void * otTcpEndpointGetContext(
  otTcpEndpoint *aEndpoint
)

Obtém o ponteiro de contexto que foi associado com aEndpoint durante a inicialização.

Detalhes
Parâmetros
[in] aEndpoint
O ponto de extremidade TCP cujo contexto deve ser obtido.
Devoluções
O ponteiro de contexto associado com aEndpoint .

otTcpEndpointGetInstance

otInstance * otTcpEndpointGetInstance(
  otTcpEndpoint *aEndpoint
)

Obtém o otInstance que foi associado com aEndpoint na inicialização.

Detalhes
Parâmetros
[in] aEndpoint
O ponto de extremidade TCP cuja instância deve ser obtida.
Devoluções
O ponteiro otInstance associada com aEndpoint .

otTcpEndpointInitialize

otError otTcpEndpointInitialize(
  otInstance *aInstance,
  otTcpEndpoint *aEndpoint,
  otTcpEndpointInitializeArgs *aArgs
)

Inicializa um ponto de extremidade TCP.

Chamar essa função faz com que OpenThread para acompanhar o ponto final TCP e armazenar e recuperar dados TCP dentro do aEndpoint . A aplicação deve abster-se de aceder ou modificar os campos directamente aEndpoint . Se o aplicativo precisa recuperar a memória backing aEndpoint , ele deve chamar otTcpEndpointDeinitialize () .

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância OpenThread.
[in] aEndpoint
Um ponteiro para uma estrutura de terminal TCP.
[in] aArgs
Um ponteiro para uma estrutura de argumentos.
Valores Retornados
OT_ERROR_NONE
O ponto de extremidade TCP foi aberto com sucesso.
OT_ERROR_FAILED
Falha ao abrir o ponto de extremidade TCP.

otTcpGetLocalAddress

const otSockAddr * otTcpGetLocalAddress(
  const otTcpEndpoint *aEndpoint
)

Obtém um ponteiro para o host e a porta local de um ponto de extremidade TCP.

O conteúdo do host e da porta pode estar obsoleto se este soquete não estiver em um estado conectado e não tiver sido vinculado após sua última desconexão.

Detalhes
Parâmetros
[in] aEndpoint
O ponto de extremidade TCP cujo host local e porta devem ser obtidos.
Devoluções
O host local e porto de aEndpoint .

otTcpGetPeerAddress

const otSockAddr * otTcpGetPeerAddress(
  const otTcpEndpoint *aEndpoint
)

Obtém um ponteiro para o host e a porta de um ponto de extremidade TCP.

O conteúdo do host e da porta pode ser obsoleto se este soquete não estiver em um estado conectado.

Detalhes
Parâmetros
[in] aEndpoint
O ponto de extremidade TCP cujo host e porta do par devem ser obtidos.
Devoluções
O hospedeiro e a porta do par de ligação de aEndpoint .

otTcpListen

otError otTcpListen(
  otTcpListener *aListener,
  const otSockAddr *aSockName
)

Faz com que as conexões TCP de entrada que correspondem ao endereço IP e à porta especificados acionem os retornos de chamada desse ouvinte TCP.

Detalhes
Parâmetros
[in] aListener
Um ponteiro para a estrutura do ouvinte TCP que deve começar a escutar.
[in] aSockName
O endereço e a porta na qual ouvir as conexões de entrada.
Valores Retornados
OT_ERROR_NONE
Escuta iniciada com sucesso no listener TCP.
OT_ERROR_FAILED
Falha ao iniciar escuta no ouvinte TCP.

otTcpListenerDeinitialize

otError otTcpListenerDeinitialize(
  otTcpListener *aListener
)

Desinicializa esse ouvinte TCP.

Isso significa que o OpenThread não controla mais esse ouvinte TCP e desaloca todos os recursos que alocou internamente para esse ouvinte TCP. O aplicativo pode reutilizar a memória apoiando o ouvinte TCP conforme achar necessário.

Se o ouvinte TCP estiver escutando no momento, ele para de escutar.

Detalhes
Parâmetros
[in] aListener
Um ponteiro para a estrutura do ouvinte TCP para desinicializar.
Valores Retornados
OT_ERROR_NONE
A inicialização do ouvinte TCP foi bem-sucedida.
OT_ERROR_FAILED
Falha ao desinicializar o ouvinte TCP.

otTcpListenerGetContext

void * otTcpListenerGetContext(
  otTcpListener *aListener
)

Obtém o ponteiro de contexto que foi associado com aListener durante a inicialização.

Detalhes
Parâmetros
[in] aListener
O ouvinte TCP cujo contexto deve ser obtido.
Devoluções
O ponteiro de contexto associado com aListener .

otTcpListenerGetInstance

otInstance * otTcpListenerGetInstance(
  otTcpListener *aListener
)

Obtém o otInstance que foi associado com aListener na inicialização.

Detalhes
Parâmetros
[in] aListener
O ouvinte TCP cuja instância deve ser obtida.
Devoluções
O ponteiro otInstance associada com aListener .

otTcpListenerInitialize

otError otTcpListenerInitialize(
  otInstance *aInstance,
  otTcpListener *aListener,
  otTcpListenerInitializeArgs *aArgs
)

Inicializa um ouvinte TCP.

Chamar essa função faz com que OpenThread para acompanhar o ouvinte TCP e armazenar e recuperar dados TCP dentro aListener . A aplicação deve abster-se de aceder ou modificar os campos directamente aListener . Se o aplicativo precisa recuperar o apoio de memória aListener , ele deve chamar otTcpListenerDeinitialize () .

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância OpenThread.
[in] aListener
Um ponteiro para uma estrutura de ouvinte TCP.
[in] aArgs
Um ponteiro para uma estrutura de argumentos.
Valores Retornados
OT_ERROR_NONE
Abriu com sucesso o listener TCP.
OT_ERROR_FAILED
Falha ao abrir o ouvinte TCP.

otTcpReceiveByReference

otError otTcpReceiveByReference(
  const otTcpEndpoint *aEndpoint,
  const otLinkedBuffer **aBuffer
)

Fornece ao aplicativo uma cadeia de buffer vinculada que faz referência aos dados atualmente no buffer de recebimento TCP.

A cadeia de memória intermédia ligado é válido até o "receber pronto" de retorno de chamada está próximo chamada, ou até que a próxima chamada a otTcpReceiveContiguify () ou otTcpCommitReceive () .

Detalhes
Parâmetros
[in] aEndpoint
Um ponteiro para a estrutura do terminal TCP que representa o terminal TCP no qual os dados serão recebidos.
[out] aBuffer
Um ponteiro para a cadeia de buffer vinculada que faz referência aos dados atualmente no buffer de recebimento.
Valores Retornados
OT_ERROR_NONE
Concluída com sucesso a operação.
OT_ERROR_FAILED
Falha ao concluir a operação.

otTcpReceiveContiguify

otError otTcpReceiveContiguify(
  otTcpEndpoint *aEndpoint
)

Reorganiza o buffer de recebimento para ser totalmente contíguo na memória.

Isso é opcional; uma aplicação pode simplesmente atravessar a cadeia ligada tampão obtidas ligando otTcpReceiveByReference . Alguns aplicativos podem desejar chamar essa função para tornar o buffer de recebimento contíguo para simplificar o processamento de dados, mas isso prejudica o tempo da CPU para reorganizar os dados no buffer de recebimento.

Detalhes
Parâmetros
[in] aEndpoint
Um ponteiro para o ponto de extremidade TCP cujo buffer de recebimento deve ser reorganizado.
Valores Retornados
OT_ERROR_NONE
Concluída com sucesso a operação.
OT_ERROR_FAILED
Falha ao concluir a operação.

otTcpSendByExtension

otError otTcpSendByExtension(
  otTcpEndpoint *aEndpoint,
  size_t aNumBytes,
  uint32_t aFlags
)

Adiciona dados para a memória intermédia de envio, estendendo o comprimento da final otLinkedBuffer no buffer de envio pela quantidade especificada.

Se o buffer de envio estiver vazio, a operação falhará.

Detalhes
Parâmetros
[in] aEndpoint
Um ponteiro para a estrutura do terminal TCP que representa o terminal TCP no qual os dados serão enviados.
[in] aNumBytes
O número de bytes pelos quais estender o comprimento do buffer vinculado final.
[in] aFlags
Sinalizadores que especificam opções para esta operação (consulte a enumeração acima).
Valores Retornados
OT_ERROR_NONE
Dados adicionados com sucesso ao buffer de envio.
OT_ERROR_FAILED
Falha ao adicionar dados ao buffer de envio.

otTcpSendByReference

otError otTcpSendByReference(
  otTcpEndpoint *aEndpoint,
  otLinkedBuffer *aBuffer,
  uint32_t aFlags
)

Dados Adiciona referenciados pelo tampão ligada apontado por aBuffer para o buffer de envio.

Após uma chamada bem-sucedida para esta função, o buffer vinculado e os dados que ele faz referência são propriedade da pilha TCP; eles não devem ser modificados pelo aplicativo até que um retorno de chamada "envio concluído" retorne a propriedade desses objetos para o aplicativo. É aceitável chamar esta função para adicionar outro buffer vinculado à fila de envio, mesmo se o retorno de chamada "envio concluído" para uma chamada anterior desta função ainda não foi acionado.

Note-se que aBuffer não deve ser acorrentado; seu campo mNext deve ser NULL. Se dados adicionais forem adicionados logo após esta chamada, o sinalizador OT_TCP_SEND_MORE_TO_COME deve ser usado como uma dica para a implementação do TCP.

Detalhes
Parâmetros
[in] aEndpoint
Um ponteiro para a estrutura do terminal TCP que representa o terminal TCP no qual os dados serão enviados.
[in] aBuffer
Um ponteiro para a cadeia de buffer vinculada que faz referência aos dados a serem adicionados ao buffer de envio.
[in] aFlags
Sinalizadores que especificam opções para esta operação (consulte a enumeração acima).
Valores Retornados
OT_ERROR_NONE
Dados adicionados com sucesso ao buffer de envio.
OT_ERROR_FAILED
Falha ao adicionar dados ao buffer de envio.

otTcpSendEndOfStream

otError otTcpSendEndOfStream(
  otTcpEndpoint *aEndpoint
)

Informa ao ponto de conexão que este ponto de extremidade TCP não enviará mais dados.

Isso deve ser usado quando o aplicativo não tem mais dados para enviar ao ponto de conexão. Para esta conexão, leituras futuras no par de conexão resultarão na condição de "fim de fluxo" e as futuras gravações neste terminal de conexão falharão.

A condição de "fim de fluxo" só se aplica depois que todos os dados fornecidos anteriormente à pilha TCP para envio tenham sido recebidos pelo par de conexão.

Detalhes
Parâmetros
[in] aEndpoint
Um ponteiro para a estrutura do terminal TCP que representa o terminal TCP a ser encerrado.
Valores Retornados
OT_ERROR_NONE
Enfileirou com sucesso a condição de "fim de fluxo" para transmissão.
OT_ERROR_FAILED
Falha ao enfileirar a condição de "fim do fluxo" para transmissão.

otTcpStopListening

otError otTcpStopListening(
  otTcpListener *aListener
)

Faz com que este ouvinte TCP pare de escutar conexões de entrada.

Detalhes
Parâmetros
[in] aListener
Um ponteiro para a estrutura do ouvinte TCP que deve parar de escutar.
Valores Retornados
OT_ERROR_NONE
Parou de escutar com sucesso no listener TCP.
OT_ERROR_FAILED
Falha ao parar de escutar no ouvinte TCP.

Macros

OT_TCP_RECEIVE_BUFFER_SIZE_FEW_HOPS

 OT_TCP_RECEIVE_BUFFER_SIZE_FEW_HOPS 2599

Tamanho de buffer recomendado para conexões TCP que percorrem cerca de 3 saltos sem fio ou menos.

Em plataformas onde a memória é particularmente restrita e em situações em que largura de banda alta não é necessária, pode ser desejável selecionar manualmente um tamanho de buffer menor.

OT_TCP_RECEIVE_BUFFER_SIZE_MANY_HOPS

 OT_TCP_RECEIVE_BUFFER_SIZE_MANY_HOPS 4158

Tamanho de buffer recomendado para conexões TCP que atravessam muitos saltos sem fio.

Se a conexão TCP percorrer um grande número de saltos (mais de 6 ou mais), pode ser aconselhável selecionar um tamanho de buffer grande manualmente.