nl:: Weave:: Binding:: Configuration
#include <src/lib/core/WeaveBinding.h>
Fornece uma interface de estilo declarativo para configurar e preparar um objeto Binding.
Resumo
Ao configurar uma Vinculação, os aplicativos precisam chamar pelo menos um método de cada um dos seguintes grupos de configuração: destino, transporte e segurança. Outros métodos podem ser chamados, conforme necessário, para substituir o comportamento padrão.
Se configurações mutuamente exclusivas forem invocadas (por exemplo, Transport_TCP() seguido por Transport_UDP()), o último a ser chamado vence.
Funções públicas |
|
---|---|
ConfigureFromMessage(const WeaveMessageInfo *aMsgInfo, const Inet::IPPacketInfo *aPacketInfo)
|
Configure a vinculação para permitir a comunicação com o remetente de uma mensagem recebida.
|
DNS_Options(uint8_t dnsOptions)
|
Ao resolver o nome do host do peering, use as opções de DNS especificadas.
|
Exchange_ResponseTimeoutMsec(uint32_t aResponseTimeoutMsec)
|
Defina o tempo limite de resposta padrão para contextos de troca criados a partir desse objeto Binding.
|
GetError(void) const
|
Retorne qualquer erro que ocorreu ao configurar a Vinculação.
|
PrepareBinding(void)
|
Ser o processo de preparar a Vinculação para comunicação com o colega.
|
Security_AppGroupKey(uint32_t aAppGroupGlobalId, uint32_t aRootKeyId, bool aUseRotatingKey)
|
Ao se comunicar com o peer, envie e receba mensagens criptografadas para um grupo de aplicativos Weave especificado.
|
Security_AuthenticationMode(WeaveAuthMode aAuthMode)
|
Defina o modo de autenticação solicitado a ser usado para autenticar o peering.
|
Security_CASESession(void)
|
Ao se comunicar com o peering, envie e receba mensagens criptografadas usando uma chave de sessão CASE estabelecida com o nó de peering.
|
Security_EncryptionType(uint8_t aEncType)
|
Ao se comunicar com o app semelhante, envie e receba mensagens criptografadas com o tipo de criptografia de mensagens especificado.
|
Security_Key(uint32_t aKeyId)
|
Ao se comunicar com o peer, enviar e receber mensagens criptografadas usando uma chave especificada.
|
Security_None(void)
|
Ao se comunicar com o peer, envie e receba itens não criptografados (por exemplo,
|
Security_PASESession(uint8_t aPasswordSource)
|
Ao se comunicar com o peering, envie e receba mensagens criptografadas usando uma chave de sessão PASE estabelecida com o nó de peering.
|
Security_SharedCASESession(void)
|
Ao se comunicar com o app semelhante, envie e receba mensagens criptografadas usando uma chave de sessão CASE compartilhada estabelecida com o roteador Nest Core.
|
Security_SharedCASESession(uint64_t aRouterNodeId)
|
Ao se comunicar com o peering, envie e receba mensagens criptografadas usando uma chave de sessão CASE compartilhada estabelecida com um nó de roteador especificado.
|
Security_TAKESession()
|
Ao se comunicar com o peer, envie e receba mensagens criptografadas usando uma chave de sessão Take estabelecida com o nó do peer.
|
TargetAddress_IP(nl::Inet::IPAddress aPeerAddress, uint16_t aPeerPort, InterfaceId aInterfaceId)
|
Ao se comunicar com o peering, use o endereço IP, a porta e a interface de rede específicos.
|
TargetAddress_IP(const char *aHostName, uint16_t aPeerPort, InterfaceId aInterfaceId)
|
Ao se comunicar com o peering, use o nome do host, a porta e a interface de rede específicos.
|
TargetAddress_IP(const char *aHostName, size_t aHostNameLen, uint16_t aPeerPort, InterfaceId aInterfaceId)
|
Ao se comunicar com o peering, use o nome do host, a porta e a interface de rede específicos.
|
TargetAddress_WeaveFabric(uint16_t aSubnetId)
|
Ao se comunicar com o peering, use um endereço de malha do Weave derivado do ID do nó do peering e de uma sub-rede especificada.
|
TargetAddress_WeaveService(void)
|
Ao se comunicar com o peer, use um endereço de malha de serviço do Weave derivado do ID do nó do peering.
|
Target_NodeId(uint64_t aPeerNodeId)
|
Configure a vinculação para se comunicar com um ID de nó do Weave específico.
|
Target_ServiceEndpoint(uint64_t aPeerNodeId)
|
Configure a vinculação para se comunicar com um endpoint específico do serviço Weave.
|
Transport_DefaultWRMPConfig(const WRMPConfig & aWRMPConfig)
|
Defina a configuração WRMP padrão para contextos de troca criados a partir desse objeto Binding.
|
Transport_ExistingConnection(WeaveConnection *apConnection)
|
Use uma conexão Weave existente para se comunicar com o colega.
|
Transport_TCP(void)
|
Use o TCP para se comunicar com o peer.
|
Transport_UDP(void)
|
Use o UDP para se comunicar com o peer.
|
Transport_UDP_PathMTU(uint32_t aPathMTU)
|
Defina a MTU do caminho esperado para pacotes UDP que viajam para o peering.
|
Transport_UDP_WRM(void)
|
Use o protocolo de mensagens confiáveis do Weave ao se comunicar com o colega.
|
Funções públicas
ConfigureFromMessage
Configuration & ConfigureFromMessage( const WeaveMessageInfo *aMsgInfo, const Inet::IPPacketInfo *aPacketInfo )
Configure a vinculação para permitir a comunicação com o remetente de uma mensagem recebida.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
DNS_Options
Configuration & DNS_Options( uint8_t dnsOptions )
Ao resolver o nome do host do peering, use as opções de DNS especificadas.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retornos |
Uma referência ao objeto de vinculação.
|
Exchange_ResponseTimeoutMsec
Configuration & Exchange_ResponseTimeoutMsec( uint32_t aResponseTimeoutMsec )
Defina o tempo limite de resposta padrão para contextos de troca criados a partir desse objeto Binding.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retornos |
Uma referência ao objeto de vinculação.
|
GetError
WEAVE_ERROR GetError( void ) const
Retorne qualquer erro que ocorreu ao configurar a Vinculação.
PrepareBinding
WEAVE_ERROR PrepareBinding( void )
Ser o processo de preparar a Vinculação para comunicação com o colega.
Security_AppGroupKey
Configuration & Security_AppGroupKey( uint32_t aAppGroupGlobalId, uint32_t aRootKeyId, bool aUseRotatingKey )
Ao se comunicar com o peer, envie e receba mensagens criptografadas para um grupo de aplicativos Weave especificado.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Retornos |
Uma referência ao objeto Binding.
|
Security_AuthenticationMode
Configuration & Security_AuthenticationMode( WeaveAuthMode aAuthMode )
Defina o modo de autenticação solicitado a ser usado para autenticar o peering.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retornos |
Uma referência ao objeto Binding.
|
Security_CASESession
Configuration & Security_CASESession( void )
Ao se comunicar com o peering, envie e receba mensagens criptografadas usando uma chave de sessão CASE estabelecida com o nó de peering.
Se a sessão necessária não estiver disponível, ela será estabelecida automaticamente como parte da preparação da vinculação.
Detalhes | |
---|---|
Retornos |
Uma referência ao objeto de vinculação.
|
Security_EncryptionType
Configuration & Security_EncryptionType( uint8_t aEncType )
Ao se comunicar com o peer, enviar e receber mensagens criptografadas usando o tipo de criptografia de mensagens especificado.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retornos |
Uma referência ao objeto Binding.
|
Security_Key
Configuration & Security_Key( uint32_t aKeyId )
Ao se comunicar com o peer, enviar e receber mensagens criptografadas usando uma chave especificada.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retornos |
Uma referência ao objeto Binding.
|
Security_None
Configuration & Security_None( void )
Ao se comunicar com o peer, envie e receba itens não criptografados (por exemplo,
não seguras).
Detalhes | |
---|---|
Retornos |
Uma referência ao objeto de vinculação.
|
Security_PASESession
Configuration & Security_PASESession( uint8_t aPasswordSource )
Ao se comunicar com o peering, envie e receba mensagens criptografadas usando uma chave de sessão PASE estabelecida com o nó de peering.
Se a sessão necessária não estiver disponível, ela será estabelecida automaticamente como parte da preparação da vinculação.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retornos |
Uma referência ao objeto de vinculação.
|
Security_SharedCASESession
Configuration & Security_SharedCASESession( void )
Ao se comunicar com o peering, envie e receba mensagens criptografadas usando uma chave de sessão CASE compartilhada estabelecida com o roteador Nest Core.
Se a sessão necessária não estiver disponível, ela será estabelecida automaticamente como parte da preparação da vinculação.
Detalhes | |
---|---|
Retornos |
Uma referência ao objeto de vinculação.
|
Security_SharedCASESession
Configuration & Security_SharedCASESession( uint64_t aRouterNodeId )
Ao se comunicar com o peering, envie e receba mensagens criptografadas usando uma chave de sessão CASE compartilhada estabelecida com um nó de roteador especificado.
Se a sessão necessária não estiver disponível, ela será estabelecida automaticamente como parte da preparação da vinculação.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retornos |
Uma referência ao objeto de vinculação.
|
Security_TAKESession
Configuration & Security_TAKESession()
Ao se comunicar com o peer, envie e receba mensagens criptografadas usando uma chave de sessão Take estabelecida com o nó do peer.
Se a sessão necessária não estiver disponível, ela será estabelecida automaticamente como parte da preparação da vinculação.
Detalhes | |
---|---|
Retornos |
Uma referência ao objeto de vinculação.
|
TargetAddress_IP
Configuration & TargetAddress_IP( nl::Inet::IPAddress aPeerAddress, uint16_t aPeerPort, InterfaceId aInterfaceId )
Ao se comunicar com o peering, use o endereço IP, a porta e a interface de rede específicos.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Retornos |
Uma referência ao objeto de vinculação.
|
TargetAddress_IP
Configuration & TargetAddress_IP( const char *aHostName, uint16_t aPeerPort, InterfaceId aInterfaceId )
Ao se comunicar com o peer, use o nome do host, a porta e a interface de rede específicos.
OBSERVAÇÃO: o autor da chamada deve assegurar que a string de nome de host fornecida permaneça válida até que a fase de preparação da vinculação seja concluída.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Retornos |
Uma referência ao objeto de vinculação.
|
TargetAddress_IP
Configuration & TargetAddress_IP( const char *aHostName, size_t aHostNameLen, uint16_t aPeerPort, InterfaceId aInterfaceId )
Ao se comunicar com o peer, use o nome do host, a porta e a interface de rede específicos.
OBSERVAÇÃO: o autor da chamada deve assegurar que a string de nome de host fornecida permaneça válida até que a fase de preparação da vinculação seja concluída.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Retornos |
Uma referência ao objeto de vinculação.
|
TargetAddress_WeaveFabric
Configuration & TargetAddress_WeaveFabric( uint16_t aSubnetId )
Ao se comunicar com o peering, use um endereço de malha do Weave derivado do ID do nó do peering e de uma sub-rede especificada.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retornos |
Uma referência ao objeto de vinculação.
|
TargetAddress_WeaveService
Configuration & TargetAddress_WeaveService( void )
Ao se comunicar com o peer, use um endereço de malha de serviço do Weave derivado do ID do nó do peering.
Detalhes | |
---|---|
Retornos |
Uma referência ao objeto de vinculação.
|
Target_NodeId
Configuration & Target_NodeId( uint64_t aPeerNodeId )
Configure a vinculação para se comunicar com um ID de nó do Weave específico.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retornos |
Uma referência ao objeto de vinculação.
|
Target_ServiceEndpoint
Configuration & Target_ServiceEndpoint( uint64_t aPeerNodeId )
Configure a vinculação para se comunicar com um endpoint específico do serviço Weave.
Se não for configurado de outra forma, o endereço de peering será definido como o endereço de malha do Weave do endpoint do serviço.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retornos |
Uma referência ao objeto de vinculação.
|
Transport_DefaultWRMPConfig
Configuration & Transport_DefaultWRMPConfig( const WRMPConfig & aWRMPConfig )
Defina a configuração WRMP padrão para contextos de troca criados a partir desse objeto Binding.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retornos |
Uma referência ao objeto de vinculação.
|
Transport_ExistingConnection
Configuration & Transport_ExistingConnection( WeaveConnection *apConnection )
Use uma conexão Weave existente para se comunicar com o colega.
OBSERVAÇÃO: a contagem de referência no objeto de conexão é incrementada quando a preparação da vinculação é bem-sucedida. Assim, o aplicativo é responsável por garantir que o objeto de conexão permaneça ativo até esse momento.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retornos |
Uma referência ao objeto de vinculação.
|
Transport_TCP
Configuration & Transport_TCP( void )
Use o TCP para se comunicar com o peer.
Detalhes | |
---|---|
Retornos |
Uma referência ao objeto de vinculação.
|
Transport_UDP
Configuration & Transport_UDP( void )
Use o UDP para se comunicar com o peer.
Detalhes | |
---|---|
Retornos |
Uma referência ao objeto de vinculação.
|
Transport_UDP_PathMTU
Configuration & Transport_UDP_PathMTU( uint32_t aPathMTU )
Defina a MTU do caminho esperado para pacotes UDP que viajam para o peering.
Para alguns protocolos do Weave, isso será usado para ajustar dinamicamente o tamanho do payload da mensagem.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retornos |
Uma referência ao objeto de vinculação.
|
Transport_UDP_WRM
Configuration & Transport_UDP_WRM( void )
Use o protocolo de mensagens confiáveis do Weave ao se comunicar com o colega.
Detalhes | |
---|---|
Retornos |
Uma referência ao objeto de vinculação.
|