nl::Weave::Binding::Configuration

#include <src/lib/core/WeaveBinding.h>

Binding 객체를 구성하고 준비하기 위한 선언적 스타일의 인터페이스를 제공합니다.

요약

Binding을 구성할 때 애플리케이션은 각 구성 적용 그룹(Target, Transport, Security)에서 하나 이상의 메서드를 호출해야 합니다. 필요에 따라 다른 메서드를 호출하여 기본 동작을 재정의할 수 있습니다.

상호 배타적인 구성이 호출되는 경우 (예: Transport_TCP() 다음에 Transport_UDP()가 호출되면 마지막으로 호출되는 값이 적용됩니다.

공개 함수

ConfigureFromMessage(const WeaveMessageInfo *aMsgInfo, const Inet::IPPacketInfo *aPacketInfo)
수신된 메시지의 발신자와의 통신을 허용하도록 바인딩을 구성합니다.
DNS_Options(uint8_t dnsOptions)
피어의 호스트 이름을 확인할 때 지정된 DNS 옵션을 사용합니다.
Exchange_ResponseTimeoutMsec(uint32_t aResponseTimeoutMsec)
Binding 객체에서 만든 교환 컨텍스트에 기본 응답 제한 시간을 설정합니다.
GetError(void) const
Binding을 구성하는 동안 발생한 오류를 반환합니다.
PrepareBinding(void)
피어와의 통신을 위해 Binding을 준비하는 프로세스.
Security_AppGroupKey(uint32_t aAppGroupGlobalId, uint32_t aRootKeyId, bool aUseRotatingKey)
피어와 통신할 때, 지정된 Weave 애플리케이션 그룹에 대해 암호화된 메시지를 주고받습니다.
Security_AuthenticationMode(WeaveAuthMode aAuthMode)
피어 인증에 사용하도록 요청된 인증 모드를 설정합니다.
Security_CASESession(void)
피어와 통신할 때는 피어 노드로 설정된 CASE 세션 키를 사용하여 암호화된 메시지를 주고받습니다.
Security_EncryptionType(uint8_t aEncType)
피어와 통신할 때는 지정된 메시지 암호화 유형을 사용하여 암호화된 메시지를 주고받습니다.
Security_Key(uint32_t aKeyId)
피어와 통신할 때는 지정된 키를 사용하여 암호화된 메시지를 주고받습니다.
Security_None(void)
피어와 통신할 때 암호화되지 않은 (예:
Security_PASESession(uint8_t aPasswordSource)
피어와 통신할 때는 피어 노드로 설정된 PASE 세션 키를 사용하여 암호화된 메시지를 주고받습니다.
Security_SharedCASESession(void)
피어와 통신할 때는 Nest 코어 라우터로 설정된 공유된 CASE 세션 키를 사용하여 암호화된 메시지를 주고받습니다.
Security_SharedCASESession(uint64_t aRouterNodeId)
피어와 통신할 때는 지정된 라우터 노드와 함께 설정된 공유 CASE 세션 키를 사용하여 암호화된 메시지를 주고받습니다.
Security_TAKESession()
피어와 통신할 때는 피어 노드에 설정된 TAKE 세션 키를 사용하여 암호화된 메시지를 주고받습니다.
TargetAddress_IP(nl::Inet::IPAddress aPeerAddress, uint16_t aPeerPort, InterfaceId aInterfaceId)
피어와 통신할 때는 특정 IP 주소, 포트, 네트워크 인터페이스를 사용합니다.
TargetAddress_IP(const char *aHostName, uint16_t aPeerPort, InterfaceId aInterfaceId)
피어와 통신할 때는 특정 호스트 이름, 포트, 네트워크 인터페이스를 사용합니다.
TargetAddress_IP(const char *aHostName, size_t aHostNameLen, uint16_t aPeerPort, InterfaceId aInterfaceId)
피어와 통신할 때는 특정 호스트 이름, 포트, 네트워크 인터페이스를 사용합니다.
TargetAddress_WeaveFabric(uint16_t aSubnetId)
피어와 통신할 때는 피어의 노드 ID 및 지정된 서브넷에서 파생된 Weave 패브릭 주소를 사용합니다.
TargetAddress_WeaveService(void)
피어와 통신할 때는 피어의 노드 ID에서 파생된 Weave 서비스 패브릭 주소를 사용합니다.
Target_NodeId(uint64_t aPeerNodeId)
특정 Weave 노드 ID와 통신하도록 결합을 구성합니다.
Target_ServiceEndpoint(uint64_t aPeerNodeId)
특정 Weave 서비스 엔드포인트와 통신하도록 바인딩을 구성합니다.
Transport_DefaultWRMPConfig(const WRMPConfig & aWRMPConfig)
Binding 객체에서 생성된 거래소 컨텍스트의 기본 WRMP 구성을 설정합니다.
Transport_ExistingConnection(WeaveConnection *apConnection)
기존 Weave 연결을 사용하여 피어와 통신합니다.
Transport_TCP(void)
TCP를 사용하여 피어와 통신합니다.
Transport_UDP(void)
UDP를 사용하여 피어와 통신합니다.
Transport_UDP_PathMTU(uint32_t aPathMTU)
피어로 이동하는 UDP 패킷의 예상 경로 MTU를 설정합니다.
Transport_UDP_WRM(void)
피어와 통신할 때 Weave Reliable Messaging 프로토콜을 사용합니다.

공개 함수

ConfigureFromMessage

Configuration & ConfigureFromMessage(
  const WeaveMessageInfo *aMsgInfo,
  const Inet::IPPacketInfo *aPacketInfo
)

수신된 메시지의 발신자와의 통신을 허용하도록 바인딩을 구성합니다.

세부정보
매개변수
[in] aMsgInfo
수신된 메시지와 연결된 메시지 정보 구조입니다.
[in] aPacketInfo
수신된 메시지의 패킷 정보입니다.

DNS_Options

Configuration & DNS_Options(
  uint8_t dnsOptions
)

피어의 호스트 이름을 확인할 때 지정된 DNS 옵션을 사용합니다.

세부정보
매개변수
[in] dnsOptions
호스트 이름 확인이 수행되는 방식을 제어하는 정수 값입니다. 값은 #::nl::Inet::DNSOptions 열거형 값 중 하나여야 합니다.
반환
결합 객체에 대한 참조입니다.

Exchange_ResponseTimeoutMsec

Configuration & Exchange_ResponseTimeoutMsec(
  uint32_t aResponseTimeoutMsec
)

Binding 객체에서 만든 교환 컨텍스트에 기본 응답 제한 시간을 설정합니다.

세부정보
매개변수
[in] aResponseTimeoutMsec
기본 응답 시간(밀리초)
반환
결합 객체에 대한 참조입니다.

GetError

WEAVE_ERROR GetError(
  void
) const 

Binding을 구성하는 동안 발생한 오류를 반환합니다.

PrepareBinding

WEAVE_ERROR PrepareBinding(
  void
)

피어와의 통신을 위해 Binding을 준비하는 프로세스.

Security_AppGroupKey

Configuration & Security_AppGroupKey(
  uint32_t aAppGroupGlobalId,
  uint32_t aRootKeyId,
  bool aUseRotatingKey
)

피어와 통신할 때, 지정된 Weave 애플리케이션 그룹에 대해 암호화된 메시지를 주고받습니다.

세부정보
매개변수
[in] aAppGroupGlobalId
메시지를 암호화해야 하는 애플리케이션 그룹의 전역 ID입니다.
[in] aRootKeyId
지정된 Weave 애플리케이션 그룹의 암호화 키를 파생하는 데 사용되는 루트 키입니다.
[in] aUseRotatingKey
Weave 애플리케이션 그룹에서 순환 메시지 키를 사용하는 경우 true입니다.
반환
Binding 객체에 대한 참조

Security_AuthenticationMode

Configuration & Security_AuthenticationMode(
  WeaveAuthMode aAuthMode
)

피어 인증에 사용하도록 요청된 인증 모드를 설정합니다.

세부정보
매개변수
[in] aAuthMode
요청된 인증 모드입니다.
반환
Binding 객체에 대한 참조

Security_CASESession

Configuration & Security_CASESession(
  void
)

피어와 통신할 때는 피어 노드로 설정된 CASE 세션 키를 사용하여 암호화된 메시지를 주고받습니다.

필요한 세션을 사용할 수 없는 경우 바인딩을 준비하는 과정에서 자동으로 설정됩니다.

세부정보
반환
결합 객체에 대한 참조입니다.

Security_EncryptionType

Configuration & Security_EncryptionType(
  uint8_t aEncType
)

피어와 통신할 때는 지정된 메시지 암호화 유형을 사용하여 암호화된 메시지를 주고받습니다.

세부정보
매개변수
[in] aEncType
Weave 메일 암호화 유형입니다.
반환
Binding 객체에 대한 참조

Security_Key

Configuration & Security_Key(
  uint32_t aKeyId
)

피어와 통신할 때는 지정된 키를 사용하여 암호화된 메시지를 주고받습니다.

세부정보
매개변수
[in] aKeyId
암호화 키의 ID입니다. 지정된 키가 Weave 메시지 암호화에 적합해야 합니다.
반환
Binding 객체에 대한 참조

Security_None

Configuration & Security_None(
  void
)

피어와 통신할 때 암호화되지 않은 (예:

메시지가 표시됩니다.

세부정보
반환
결합 객체에 대한 참조입니다.

Security_PASESession

Configuration & Security_PASESession(
  uint8_t aPasswordSource
)

피어와 통신할 때는 피어 노드로 설정된 PASE 세션 키를 사용하여 암호화된 메시지를 주고받습니다.

필요한 세션을 사용할 수 없는 경우 바인딩을 준비하는 과정에서 자동으로 설정됩니다.

세부정보
매개변수
[in] aPasswordSource
PASE 세션 설정 중에 사용할 비밀번호의 소스입니다.
반환
결합 객체에 대한 참조입니다.

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  void
)

피어와 통신할 때는 Nest 코어 라우터로 설정된 공유된 CASE 세션 키를 사용하여 암호화된 메시지를 주고받습니다.

필요한 세션을 사용할 수 없는 경우 바인딩을 준비하는 과정에서 자동으로 설정됩니다.

세부정보
반환
결합 객체에 대한 참조입니다.

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  uint64_t aRouterNodeId
)

피어와 통신할 때는 지정된 라우터 노드와 함께 설정된 공유 CASE 세션 키를 사용하여 암호화된 메시지를 주고받습니다.

필요한 세션을 사용할 수 없는 경우 바인딩을 준비하는 과정에서 자동으로 설정됩니다.

세부정보
매개변수
[in] aRouterNodeId
공유 CASE 세션을 설정해야 하는 라우터의 Weave 노드 ID입니다.
반환
결합 객체에 대한 참조입니다.

Security_TAKESession

Configuration & Security_TAKESession()

피어와 통신할 때는 피어 노드에 설정된 TAKE 세션 키를 사용하여 암호화된 메시지를 주고받습니다.

필요한 세션을 사용할 수 없는 경우 바인딩을 준비하는 과정에서 자동으로 설정됩니다.

세부정보
반환
결합 객체에 대한 참조입니다.

TargetAddress_IP

Configuration & TargetAddress_IP(
  nl::Inet::IPAddress aPeerAddress,
  uint16_t aPeerPort,
  InterfaceId aInterfaceId
)

피어와 통신할 때는 특정 IP 주소, 포트, 네트워크 인터페이스를 사용합니다.

세부정보
매개변수
[in] aPeerAddress
피어의 IP 주소
[in] aPeerPort
원격 포트
[in] aInterfaceId
통신에 사용할 로컬 네트워크 인터페이스의 ID
반환
결합 객체에 대한 참조입니다.

TargetAddress_IP

Configuration & TargetAddress_IP(
  const char *aHostName,
  uint16_t aPeerPort,
  InterfaceId aInterfaceId
)

피어와 통신할 때는 특정 호스트 이름, 포트, 네트워크 인터페이스를 사용합니다.

참고: 호출자는 결합 준비 단계가 완료될 때까지 제공된 호스트 이름 문자열이 유효한지 확인해야 합니다.

세부정보
매개변수
[in] aHostName
피어의 호스트 이름을 포함하는 NULL로 끝나는 문자열입니다.
[in] aPeerPort
피어와 통신할 때 사용할 원격 포트입니다.
[in] aInterfaceId
통신에 사용할 로컬 네트워크 인터페이스의 ID입니다.
반환
결합 객체에 대한 참조입니다.

TargetAddress_IP

Configuration & TargetAddress_IP(
  const char *aHostName,
  size_t aHostNameLen,
  uint16_t aPeerPort,
  InterfaceId aInterfaceId
)

피어와 통신할 때는 특정 호스트 이름, 포트, 네트워크 인터페이스를 사용합니다.

참고: 호출자는 결합 준비 단계가 완료될 때까지 제공된 호스트 이름 문자열이 유효한지 확인해야 합니다.

세부정보
매개변수
[in] aHostName
피어의 호스트 이름이 포함된 문자열입니다. 이 문자열은 NULL로 끝나지 않아도 됩니다.
[in] aHostNameLen
aHostName이 가리키는 문자열의 길이입니다.
[in] aPeerPort
피어와 통신할 때 사용할 원격 포트입니다.
[in] aInterfaceId
통신에 사용할 로컬 네트워크 인터페이스의 ID입니다.
반환
결합 객체에 대한 참조입니다.

TargetAddress_WeaveFabric

Configuration & TargetAddress_WeaveFabric(
  uint16_t aSubnetId
)

피어와 통신할 때는 피어의 노드 ID 및 지정된 서브넷에서 파생된 Weave 패브릭 주소를 사용합니다.

세부정보
매개변수
[in] aSubnetId
피어의 Weave 패브릭 주소를 구성하는 데 사용할 서브넷 ID입니다.
반환
결합 객체에 대한 참조입니다.

TargetAddress_WeaveService

Configuration & TargetAddress_WeaveService(
  void
)

피어와 통신할 때는 피어의 노드 ID에서 파생된 Weave 서비스 패브릭 주소를 사용합니다.

세부정보
반환
결합 객체에 대한 참조입니다.

Target_NodeId

Configuration & Target_NodeId(
  uint64_t aPeerNodeId
)

특정 Weave 노드 ID와 통신하도록 결합을 구성합니다.

세부정보
매개변수
[in] aPeerNodeId
피어 노드의 노드 ID입니다.
반환
결합 객체에 대한 참조입니다.

Target_ServiceEndpoint

Configuration & Target_ServiceEndpoint(
  uint64_t aPeerNodeId
)

특정 Weave 서비스 엔드포인트와 통신하도록 바인딩을 구성합니다.

달리 구성되지 않은 경우 피어 주소가 서비스 엔드포인트의 Weave 패브릭 주소로 설정됩니다.

세부정보
매개변수
[in] serviceEndpointId
통신이 이루어지는 서비스 엔드포인트의 노드 ID입니다.
반환
결합 객체에 대한 참조입니다.

Transport_DefaultWRMPConfig

Configuration & Transport_DefaultWRMPConfig(
  const WRMPConfig & aWRMPConfig
)

Binding 객체에서 생성된 거래소 컨텍스트의 기본 WRMP 구성을 설정합니다.

세부정보
매개변수
[in] aWRMPConfig
새로운 기본 WRMP 구성에 대한 참조.
반환
결합 객체에 대한 참조입니다.

Transport_ExistingConnection

Configuration & Transport_ExistingConnection(
  WeaveConnection *apConnection
)

기존 Weave 연결을 사용하여 피어와 통신합니다.

참고: 결합 준비가 성공하면 연결 객체의 참조 수가 증가합니다. 따라서 애플리케이션이 그때까지 연결 객체가 활성 상태를 유지하도록 해야 합니다.

세부정보
매개변수
[in] con
기존 Weave 연결을 가리키는 포인터입니다.
반환
결합 객체에 대한 참조입니다.

Transport_TCP

Configuration & Transport_TCP(
  void
)

TCP를 사용하여 피어와 통신합니다.

세부정보
반환
결합 객체에 대한 참조입니다.

Transport_UDP

Configuration & Transport_UDP(
  void
)

UDP를 사용하여 피어와 통신합니다.

세부정보
반환
결합 객체에 대한 참조입니다.

Transport_UDP_PathMTU

Configuration & Transport_UDP_PathMTU(
  uint32_t aPathMTU
)

피어로 이동하는 UDP 패킷의 예상 경로 MTU를 설정합니다.

일부 Weave 프로토콜의 경우 Weave 메시지 페이로드 크기를 동적으로 조정하는 데 사용됩니다.

세부정보
매개변수
[in] aPathMTU
피어로 이동하는 UDP 패킷의 예상 경로 MTU입니다.
반환
결합 객체에 대한 참조입니다.

Transport_UDP_WRM

Configuration & Transport_UDP_WRM(
  void
)

피어와 통신할 때 Weave Reliable Messaging 프로토콜을 사용합니다.

세부정보
반환
결합 객체에 대한 참조입니다.