nl::Weave::WeaveConnection

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

Weave Connection 클래스의 정의입니다.

요약

다른 Weave 노드에 대한 TCP 또는 BLE 연결을 나타냅니다.

공개 유형

@58{
  kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enum
ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
이 함수는 연결이 닫힐 때 호출되는 애플리케이션 콜백입니다.
ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
이 함수는 연결 설정이 완료되면 호출되는 애플리케이션 콜백입니다.
MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
이 함수는 Weave 연결을 통해 메시지가 수신될 때 호출되는 애플리케이션 콜백입니다.
NetworkType{
  kNetworkType_Unassigned = 0,
  kNetworkType_IP = 1,
  kNetworkType_BLE = 2
}
enum
Weave 연결 객체의 네트워크 유형입니다.
ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err) typedef
void(*
이 함수는 Weave 메시지를 수신할 때 오류가 발생하면 호출되는 애플리케이션 콜백입니다.
State{
  kState_ReadyToConnect = 0,
  kState_Resolving = 1,
  kState_Connecting = 2,
  kState_EstablishingSession = 3,
  kState_Connected = 4,
  kState_SendShutdown = 5,
  kState_Closed = 6
}
enum
Weave 연결 객체의 상태입니다.
TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
이 함수는 Weave 연결을 통해 터널링된 데이터 패킷을 수신할 때 호출되는 애플리케이션 콜백입니다.

공개 속성

AppState
void *
애플리케이션별 상태 객체를 가리키는 포인터입니다.
AuthMode
WeaveAuthMode
[읽기 전용] 연결의 기본 암호화 키를 설정하는 데 사용되는 인증 모드입니다.
DefaultEncryptionType
uint8_t
메일의 기본 암호화 유형입니다.
DefaultKeyId
uint16_t
메일을 보낼 때 사용되는 기본 암호화 키입니다.
MessageLayer
[읽기 전용] 연결된 WeaveMessageLayer 객체입니다.
NetworkType
uint8_t
[읽기 전용] 연결된 엔드포인트의 네트워크 유형입니다.
OnConnectionClosed
OnConnectionComplete
OnMessageReceived
OnReceiveError
OnTunneledMessageReceived
PeerAddr
IPAddress
[읽기 전용] 피어 노드의 IP 주소입니다.
PeerNodeId
uint64_t
[읽기 전용] 피어의 노드 식별자입니다.
PeerPort
uint16_t
[읽기 전용] 피어 노드의 포트 번호입니다.
ReceiveEnabled
bool
[읽기 전용] 수신이 사용 설정된 경우 true, 그렇지 않은 경우 false입니다.
SendDestNodeId
bool
이 연결을 통해 전송되는 모든 메시지에 명시적으로 인코딩된 대상 노드 식별자가 포함되어야 하면 true, 그렇지 않은 경우 false입니다.
SendSourceNodeId
bool
이 연결을 통해 전송되는 모든 메시지에 명시적으로 인코딩된 소스 노드 식별자가 포함되어야 하면 true, 그렇지 않은 경우 false입니다.
State
uint8_t
[읽기 전용] WeaveConnection 객체의 상태입니다.

공개 함수

Abort(void)
void
TCP 또는 BLE 기반 WeaveConnection을 단계적이지 않게 닫고 피어에서 전송 중일 수 있는 모든 데이터를 삭제합니다.
AddRef(void)
void
WeaveConnection 객체에 대한 참조를 예약합니다.
Close(void)
TCP 또는 BLE 기반 WeaveConnection의 비블로킹 단계적 종료를 수행하여 연결을 재설정했음을 원격 호스트에 정중하게 알리기 전에 남은 발신 데이터를 전달합니다.
Close(bool suppressCloseLog)
TCP 또는 BLE 기반 WeaveConnection의 비블로킹 단계적 종료를 수행하여 연결을 재설정했음을 원격 호스트에 정중하게 알리기 전에 남은 발신 데이터를 전달합니다.
Connect(uint64_t peerNodeId)
지정된 노드 식별자에서 파생된 패브릭 IP 주소를 사용하여 Weave 노드에 연결합니다.
Connect(uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort)
노드 식별자 및/또는 IP 주소를 사용하여 Weave 노드에 연결합니다.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId intf)
특정 인터페이스의 노드 식별자 및/또는 IP 주소를 사용하여 Weave 노드에 연결합니다.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t defaultPort)
노드 식별자 및/또는 문자열 호스트 이름을 사용하여 Weave 노드에 연결합니다.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint16_t defaultPort)
노드 식별자 및/또는 문자열 피어 주소를 사용하여 Weave 노드에 연결합니다.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint8_t dnsOptions, uint16_t defaultPort)
노드 식별자 및/또는 문자열 피어 주소를 사용하여 Weave 노드에 연결합니다.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf)
노드 식별자 또는 호스트 이름과 포트 목록을 사용하여 Weave 노드에 연결합니다.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, uint8_t dnsOptions, InterfaceId intf)
노드 식별자 또는 호스트 이름과 포트 목록을 사용하여 Weave 노드에 연결합니다.
DisableKeepAlive(void)
DisableReceive(void)
void
WeaveConnection을 통한 수신을 사용 중지합니다.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
EnableReceive(void)
void
WeaveConnection을 통한 수신을 사용 설정합니다.
GetPeerAddressInfo(IPPacketInfo & addrInfo)
피어의 IP 주소 정보를 가져옵니다.
GetPeerDescription(char *buf, size_t bufSize) const
void
연결과 연결된 피어 노드를 설명하는 문자열을 구성합니다.
GetTCPEndPoint(void) const
TCPEndPoint *
IsIncoming(void) const
bool
LogId(void) const
uint16_t
Release(void)
void
WeaveConnection 객체에서 참조 수를 줄입니다.
ResetUserTimeout(void)
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
설정된 연결을 통해 Weave 메시지를 전송합니다.
SendTunneledMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Weave 연결을 통해 터널링된 패킷을 전송하는 함수입니다.
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
Connect가 성공하거나 오류를 반환하기 위한 제한 시간을 설정하세요.
SetIdleTimeout(uint32_t timeoutMS)
기본 네트워크 계층 연결에 유휴 제한 시간을 설정합니다.
SetIncoming(bool val)
void
SetUserTimeout(uint32_t userTimeoutMillis)
WeaveConnection::SetUserTimeout과 같은 시간 동안 설정해야 합니다.
Shutdown(void)
단계적 TCP 전송-종료를 수행하여 모든 발신 데이터가 피어의 TCP 스택에서 전송 및 수신되었는지 확인합니다.

공개 유형

@58

 @58
속성
kGetPeerDescription_MaxLength

GetPeerDescription()에 의해 반환되는 문자열(NUL 문자 포함)의 최대 길이

ConnectionClosedFunct

void(* ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr)

이 함수는 연결이 닫힐 때 호출되는 애플리케이션 콜백입니다.

세부정보
매개변수
[in] con
WeaveConnection 객체에 대한 포인터입니다.
[in] conErr
연결이 닫힐 때 WEAVE_ERROR가 발생했습니다.

ConnectionCompleteFunct

void(* ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr)

이 함수는 연결 설정이 완료되면 호출되는 애플리케이션 콜백입니다.

세부정보
매개변수
[in] con
WeaveConnection 객체에 대한 포인터입니다.
[in] conErr
연결 설정 중 발생한 WEAVE_ERROR

MessageReceiveFunct

void(* MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)

이 함수는 Weave 연결을 통해 메시지가 수신될 때 호출되는 애플리케이션 콜백입니다.

세부정보
매개변수
[in] con
WeaveConnection 객체에 대한 포인터입니다.
[in] msgInfo
메시지에 관한 정보가 포함된 WeaveMessageInfo 구조를 가리키는 포인터입니다.
[in] msgBuf
메시지가 있는 PacketBuffer 객체에 대한 포인터입니다.

NetworkType

 NetworkType

Weave 연결 객체의 네트워크 유형입니다.

속성
kNetworkType_BLE

BLE 네트워크 유형입니다.

kNetworkType_IP

TCP/IP 네트워크 유형입니다.

kNetworkType_Unassigned

할당되지 않은 네트워크 유형입니다.

ReceiveErrorFunct

void(* ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err)

이 함수는 Weave 메시지를 수신할 때 오류가 발생하면 호출되는 애플리케이션 콜백입니다.

세부정보
매개변수
[in] con
WeaveConnection 객체에 대한 포인터입니다.
[in] err
연결을 통해 데이터를 수신할 때 발생한 WEAVE_ERROR입니다.

 State

Weave 연결 객체의 상태입니다.

속성
kState_Closed

연결이 닫힌 상태입니다.

kState_Connected

연결이 설정된 경우입니다.

kState_Connecting

연결을 시도 중일 때의 상태입니다.

kState_EstablishingSession

보안 세션이 설정될 때의 상태입니다.

kState_ReadyToConnect

Weave 연결을 초기화한 후의 상태입니다.

kState_Resolving

DNS 이름 확인이 수행되고 있는 상태입니다.

kState_SendShutdown

연결이 종료될 때의 상태입니다.

TunneledMsgReceiveFunct

void(* TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)

이 함수는 Weave 연결을 통해 터널링된 데이터 패킷을 수신할 때 호출되는 애플리케이션 콜백입니다.

세부정보
매개변수
[in] con
WeaveConnection 객체에 대한 포인터입니다.
[in] msgInfo
WeaveMessageInfo 객체를 가리키는 포인터입니다.
[in] msgBuf
수신된 터널링된 패킷이 포함된 PacketBuffer 객체에 대한 포인터입니다.

공개 속성

AppState

void * AppState

애플리케이션별 상태 객체를 가리키는 포인터입니다.

AuthMode

WeaveAuthMode AuthMode

[읽기 전용] 연결의 기본 암호화 키를 설정하는 데 사용되는 인증 모드입니다.

DefaultEncryptionType

uint8_t DefaultEncryptionType

메일의 기본 암호화 유형입니다.

DefaultKeyId

uint16_t DefaultKeyId

메일을 보낼 때 사용되는 기본 암호화 키입니다.

MessageLayer

WeaveMessageLayer * MessageLayer

[읽기 전용] 연결된 WeaveMessageLayer 객체입니다.

NetworkType

uint8_t NetworkType

[읽기 전용] 연결된 엔드포인트의 네트워크 유형입니다.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnConnectionComplete

ConnectionCompleteFunct OnConnectionComplete

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnTunneledMessageReceived

TunneledMsgReceiveFunct OnTunneledMessageReceived

PeerAddr

IPAddress PeerAddr

[읽기 전용] 피어 노드의 IP 주소입니다.

PeerNodeId

uint64_t PeerNodeId

[읽기 전용] 피어의 노드 식별자입니다.

PeerPort

uint16_t PeerPort

[읽기 전용] 피어 노드의 포트 번호입니다.

ReceiveEnabled

bool ReceiveEnabled

[읽기 전용] 수신이 사용 설정된 경우 true, 그렇지 않은 경우 false입니다.

SendDestNodeId

bool SendDestNodeId

이 연결을 통해 전송되는 모든 메시지에 명시적으로 인코딩된 대상 노드 식별자가 포함되어야 하면 true, 그렇지 않은 경우 false입니다.

SendSourceNodeId

bool SendSourceNodeId

이 연결을 통해 전송되는 모든 메시지에 명시적으로 인코딩된 소스 노드 식별자가 포함되어야 하면 true, 그렇지 않은 경우 false입니다.

uint8_t State

[읽기 전용] WeaveConnection 객체의 상태입니다.

공개 함수

취소

void Abort(
  void
)

TCP 또는 BLE 기반 WeaveConnection을 단계적이지 않게 닫고 피어에서 전송 중일 수 있는 모든 데이터를 삭제합니다.

Abort()를 호출하면 기본 연결이 즉시 종료됩니다. 이 시점 이후에는 WeaveConnection 객체를 더 이상 통신에 사용할 수 없습니다.

Abort()를 호출하면 WeaveConnection 객체와 관련된 참조 카운트가 감소합니다. 이는 메서드가 호출될 때 연결이 열려 있는지/활성인지에 관계없이 적용됩니다. 따라서 참조 수가 0에 도달하면 연결 객체와 연결된 리소스가 해제됩니다. 이 경우 애플리케이션은 객체와 더 이상 상호작용해서는 안 됩니다.

참고 항목:
Shutdown(), Abort(), AddRef(), Release()도 참고하세요. <ph type="x-smartling-placeholder">
</ph>

AddRef

void AddRef(
  void
)

WeaveConnection 객체에 대한 참조를 예약합니다.

AddRef() 메서드는 WeaveConnection 객체와 연결된 참조 수를 증가시킵니다. 모든 AddRef() 호출에 대해 애플리케이션은 Release(), Close() 또는 Abort()에 상응하는 호출을 실행해야 합니다.

닫기

WEAVE_ERROR Close(
  void
)

TCP 또는 BLE 기반 WeaveConnection의 비블로킹 단계적 종료를 수행하여 연결을 재설정했음을 원격 호스트에 정중하게 알리기 전에 남은 발신 데이터를 전달합니다.

이 메서드는 애플리케이션 프로토콜 수준에서 확인되지 않은 모든 발신 메시지가 원격 피어에 의해 수신되었음을 보장하지 않습니다. TCP와 BLE 모두 기본 프로토콜 스택은 연결을 재설정하기 전에 보류 중인 발신 데이터를 전달하기 위해 최선을 다합니다. TCP의 경우 연결을 종료하기 전에 전송 계층 메시지 수신 확인이 필요한 경우 Close() 전에 Shutdown()을 사용해야 합니다. BLE 연결은 Shutdown()에 상응하는 기능을 제공하지 않습니다.

BLE 기반 연결의 경우 Close()WeaveConnection을 닫고 즉시 반환하지만, 모든 발신 데이터가 전송될 때까지 기본 BLEEndPoint 객체가 유지될 수 있습니다. 이는 Weave BleLayer 내에 있는 Weave over BLE 전송 프로토콜 구현의 부작용입니다.

Close()가 호출되면 추가 통신에 WeaveConnection 객체를 더 이상 사용할 수 없습니다.

Close()를 호출하면 WeaveConnection 객체와 관련된 참조 카운트가 감소합니다. 이는 메서드가 호출될 때 연결이 열려 있는지 또는 활성화되어 있는지와 무관합니다. 따라서 참조 수가 0에 도달하면 연결 객체와 연결된 리소스가 해제됩니다. 이 경우 애플리케이션은 객체와 더 이상 상호작용해서는 안 됩니다.

세부정보
반환
WEAVE_NO_ERROR를 무조건적으로 반환합니다.
참고 항목:
Shutdown(), Abort(), AddRef(), Release()도 참고하세요.

닫기

WEAVE_ERROR Close(
  bool suppressCloseLog
)

TCP 또는 BLE 기반 WeaveConnection의 비블로킹 단계적 종료를 수행하여 연결을 재설정했음을 원격 호스트에 정중하게 알리기 전에 남은 발신 데이터를 전달합니다.

이 메서드는 애플리케이션 프로토콜 수준에서 확인되지 않은 모든 발신 메시지가 원격 피어에 의해 수신되었음을 보장하지 않습니다. TCP와 BLE 모두 기본 프로토콜 스택은 연결을 재설정하기 전에 보류 중인 발신 데이터를 전달하기 위해 최선을 다합니다. TCP의 경우 연결을 종료하기 전에 전송 계층 메시지 수신 확인이 필요한 경우 Close() 전에 Shutdown()을 사용해야 합니다. BLE 연결은 Shutdown()에 상응하는 기능을 제공하지 않습니다.

BLE 기반 연결의 경우 Close()WeaveConnection을 닫고 즉시 반환하지만, 모든 발신 데이터가 전송될 때까지 기본 BLEEndPoint 객체가 유지될 수 있습니다. 이는 Weave BleLayer 내에 있는 Weave over BLE 전송 프로토콜 구현의 부작용입니다.

Close()가 호출되면 추가 통신에 WeaveConnection 객체를 더 이상 사용할 수 없습니다.

Close()를 호출하면 WeaveConnection 객체와 관련된 참조 카운트가 감소합니다. 이는 메서드가 호출될 때 연결이 열려 있는지 또는 활성화되어 있는지와 무관합니다. 따라서 참조 수가 0에 도달하면 연결 객체와 연결된 리소스가 해제됩니다. 이 경우 애플리케이션은 객체와 더 이상 상호작용해서는 안 됩니다.

세부정보
매개변수
[in] suppressCloseLog
로그를 억제해야 하면 true, 그렇지 않으면 false입니다.
반환
WEAVE_NO_ERROR를 무조건적으로 반환합니다.
참고 항목:
Shutdown(), Abort(), AddRef(), Release()도 참고하세요.

연결

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

지정된 노드 식별자에서 파생된 패브릭 IP 주소를 사용하여 Weave 노드에 연결합니다.

세부정보
매개변수
[in] peerNodeId
피어의 노드 식별자입니다.
반환 값
WEAVE_NO_ERROR
피어에 대한 연결이 성공적으로 시작될 때
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection 상태가 올바르지 않은 경우.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
요청된 인증 모드가 지원되지 않는 경우
WEAVE_ERROR_INVALID_ADDRESS
노드 ID에서 대상 주소를 추론할 수 없는 경우입니다.
other
TCPEndPoint 연결 작업으로 생성된 Inet 레이어 오류입니다.

연결

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort
)

노드 식별자 및/또는 IP 주소를 사용하여 Weave 노드에 연결합니다.

세부정보
매개변수
[in] peerNodeId
피어의 노드 식별자로 kNodeIdNotSpecified이며, 알 수 없는 경우 0입니다.
[in] peerAddr
피어의 IP 주소입니다(알 수 없는 경우 IPAddress::Any).
[in] peerPort
피어의 선택적 포트로, 기본값은 WEAVE_PORT입니다.
반환 값
WEAVE_NO_ERROR
피어에 대한 연결이 성공적으로 시작될 때
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection 상태가 올바르지 않은 경우.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
요청된 인증 모드가 지원되지 않는 경우
WEAVE_ERROR_INVALID_ADDRESS
노드 ID에서 대상 주소를 추론할 수 없는 경우입니다.
other
TCPEndPoint 연결 작업으로 생성된 Inet 레이어 오류입니다.

연결

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  InterfaceId intf
)

특정 인터페이스의 노드 식별자 및/또는 IP 주소를 사용하여 Weave 노드에 연결합니다.

세부정보
매개변수
[in] peerNodeId
피어의 노드 식별자로 kNodeIdNotSpecified이며, 알 수 없는 경우 0입니다.
[in] authMode
피어에 원하는 인증 모드입니다. CASE, PASE, Unauthenticated 모드만 지원됩니다.
[in] peerAddr
피어의 IP 주소입니다(알 수 없는 경우 IPAddress::Any).
[in] peerPort
피어의 선택적 포트로, 기본값은 WEAVE_PORT입니다.
[in] intf
피어 노드에 연결하는 데 사용하는 선택적 인터페이스이며 기본값은 INET_NULL_INTERFACEID입니다.
반환 값
WEAVE_NO_ERROR
피어에 대한 연결이 성공적으로 시작될 때
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection 상태가 올바르지 않은 경우.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
요청된 인증 모드가 지원되지 않는 경우
WEAVE_ERROR_INVALID_ADDRESS
노드 식별자에서 대상 주소를 추론할 수 없는 경우입니다.
other
TCPEndPoint 연결 작업으로 생성된 Inet 레이어 오류입니다.

연결

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t defaultPort
)

노드 식별자 및/또는 문자열 호스트 이름을 사용하여 Weave 노드에 연결합니다.

제공되는 경우peerAddr는 다음 중 하나일 수 있습니다.


:

:

[]:

세부정보
매개변수
[in] peerNodeId
피어의 노드 식별자로 kNodeIdNotSpecified이며, 알 수 없는 경우 0입니다.
[in] authMode
피어에 원하는 인증 모드입니다. CASE, PASE, Unauthenticated 모드만 지원됩니다.
[in] peerAddr
NULL로 끝나는 C 문자열로서의 피어 주소 또는 호스트 이름입니다.
[in] defaultPort
피어Addr 문자열에 제공되지 않은 경우 연결에 사용할 기본 포트(선택사항)입니다.
반환 값
WEAVE_NO_ERROR
피어에 대한 연결이 성공적으로 시작될 때
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection 상태가 올바르지 않은 경우.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
요청된 인증 모드가 지원되지 않는 경우
WEAVE_ERROR_INVALID_ADDRESS
노드 ID에서 대상 주소를 추론할 수 없는 경우입니다.
other
TCPEndPoint 연결 작업으로 생성된 Inet 레이어 오류입니다.

연결

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t peerAddrLen,
  uint16_t defaultPort
)

노드 식별자 및/또는 문자열 피어 주소를 사용하여 Weave 노드에 연결합니다.

제공되는 경우peerAddr는 다음 중 하나일 수 있습니다.


:

:

[]:

세부정보
매개변수
[in] peerNodeId
피어의 노드 식별자로 kNodeIdNotSpecified이며, 알 수 없는 경우 0입니다.
[in] authMode
피어에 원하는 인증 모드입니다. CASE, PASE, Unauthenticated 모드만 지원됩니다.
[in] peerAddr
NULL로 끝나지 않는 C 문자열로서의 피어 주소 또는 호스트 이름입니다.
[in] peerAddrLen
피어 추가 문자열의 길이입니다.
[in] defaultPort
피어Addr 문자열에 제공되지 않은 경우 연결에 사용할 기본 포트(선택사항)입니다.
반환 값
WEAVE_NO_ERROR
피어에 대한 연결이 성공적으로 시작될 때
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection 상태가 올바르지 않은 경우.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
요청된 인증 모드가 지원되지 않는 경우
WEAVE_ERROR_INVALID_ADDRESS
노드 ID에서 대상 주소를 추론할 수 없는 경우입니다.
other
TCPEndPoint 연결 작업으로 생성된 Inet 레이어 오류입니다.

연결

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t peerAddrLen,
  uint8_t dnsOptions,
  uint16_t defaultPort
)

노드 식별자 및/또는 문자열 피어 주소를 사용하여 Weave 노드에 연결합니다.

제공되는 경우peerAddr는 다음 중 하나일 수 있습니다.


:

:

[]:

세부정보
매개변수
[in] peerNodeId
피어의 노드 식별자로 kNodeIdNotSpecified이며, 알 수 없는 경우 0입니다.
[in] authMode
피어에 원하는 인증 모드입니다. CASE, PASE, Unauthenticated 모드만 지원됩니다.
[in] peerAddr
NULL로 끝나지 않는 C 문자열로서의 피어 주소 또는 호스트 이름입니다.
[in] peerAddrLen
피어 추가 문자열의 길이입니다.
[in] dnsOptions
호스트 이름 확인의 수행 방법을 제어하는 정수 값입니다. 값은 #::nl::Inet::DNSOptions 열거형에 있는 하나 이상의 값에 대한 OR이어야 합니다.
[in] defaultPort
피어Addr 문자열에 제공되지 않은 경우 연결에 사용할 기본 포트(선택사항)입니다.
반환 값
WEAVE_NO_ERROR
피어에 대한 연결이 성공적으로 시작될 때
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection 상태가 올바르지 않은 경우.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
요청된 인증 모드가 지원되지 않는 경우
WEAVE_ERROR_INVALID_ADDRESS
노드 ID에서 대상 주소를 추론할 수 없는 경우입니다.
other
TCPEndPoint 연결 작업으로 생성된 Inet 레이어 오류입니다.

연결

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  HostPortList hostPortList,
  InterfaceId intf
)

노드 식별자 또는 호스트 이름과 포트 목록을 사용하여 Weave 노드에 연결합니다.

세부정보
매개변수
[in] peerNodeId
피어의 노드 식별자입니다.
[in] authMode
연결에 사용된 인증 모드입니다.
[in] hostPortList
호스트 이름 및 포트 목록입니다.
[in] intf
피어 노드에 연결하는 데 사용하는 선택적 인터페이스이며 기본값은 INET_NULL_INTERFACEID입니다.
반환 값
WEAVE_NO_ERROR
피어에 대한 연결이 성공적으로 시작될 때
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection 상태가 올바르지 않은 경우.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
요청된 인증 모드가 지원되지 않는 경우
WEAVE_ERROR_INVALID_ADDRESS
노드 ID에서 대상 주소를 추론할 수 없는 경우입니다.
other
TCPEndPoint 연결 작업으로 생성된 Inet 레이어 오류입니다.

연결

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  HostPortList hostPortList,
  uint8_t dnsOptions,
  InterfaceId intf
)

노드 식별자 또는 호스트 이름과 포트 목록을 사용하여 Weave 노드에 연결합니다.

세부정보
매개변수
[in] peerNodeId
피어의 노드 식별자입니다.
[in] authMode
연결에 사용된 인증 모드입니다.
[in] hostPortList
호스트 이름 및 포트 목록입니다.
[in] dnsOptions
호스트 이름 확인의 수행 방법을 제어하는 정수 값입니다. 값은 #::nl::Inet::DNSOptions 열거형에 있는 하나 이상의 값에 대한 OR이어야 합니다.
[in] intf
피어 노드에 연결하는 데 사용하는 선택적 인터페이스이며 기본값은 INET_NULL_INTERFACEID입니다.
반환 값
WEAVE_NO_ERROR
피어에 대한 연결이 성공적으로 시작될 때
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection 상태가 올바르지 않은 경우.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
요청된 인증 모드가 지원되지 않는 경우
WEAVE_ERROR_INVALID_ADDRESS
노드 ID에서 대상 주소를 추론할 수 없는 경우입니다.
other
TCPEndPoint 연결 작업으로 생성된 Inet 레이어 오류입니다.

DisableKeepAlive

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection::DisableKeepAlive.

기본 TCP 연결에서 TCP 연결 유지 프로브를 사용 중지합니다.

참고: 이 메서드는 TCP 연결로 지원되는 Weave 연결에서만 호출할 수 있습니다. 이 메서드는 연결이 전송을 허용하는 상태에 있을 때만 호출할 수 있습니다.

연결에 연결 유지가 사용 설정되지 않은 경우 이 메서드는 아무 작업도 하지 않습니다.

세부정보
반환 값
WEAVE_NO_ERROR
TCP 연결 유지 프로브를 성공적으로 사용 중지하는 경우
WEAVE_ERROR_NOT_IMPLEMENTED
이 함수가 호환되지 않는 엔드포인트 (예: BLE)를 사용합니다.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection 객체가 메시지를 보내기 위한 올바른 상태가 아닌 경우.
other
TCP 엔드포인트와 관련된 Inet 레이어 오류는 연결 유지 작업을 사용 설정합니다.

DisableReceive

void DisableReceive(
  void
)

WeaveConnection을 통한 수신을 사용 중지합니다.

이 메서드는 애플리케이션에서 TCP 연결을 통해 도착한 데이터를 수신할 준비가 되지 않았음을 나타내는 데 사용합니다. 수신을 다시 사용 설정하려면 애플리케이션에서 적절한 콜백을 호출하여 수신된 데이터를 WeaveConnection에서 전달할 수 있도록 EnableReceive()를 호출해야 합니다.

참고 항목: <ph type="x-smartling-placeholder">
</ph> EnableReceive() <ph type="x-smartling-placeholder">
</ph>

EnableKeepAlive

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection::EnableKeepAlive.

기본 TCP 연결에서 TCP 연결 유지 프로브를 사용 설정합니다.

참고:-이 메서드는 TCP 연결로 지원되는 Weave 연결에서만 호출할 수 있습니다. -이 메서드는 연결이 전송을 허용하는 상태에 있을 때만 호출할 수 있습니다.

세부정보
매개변수
[in] interval
연결 유지 프로브 사이의 간격 (초)입니다. 이 값은 마지막으로 전송된 데이터 패킷과 첫 번째 연결 유지 프로브의 전송 사이의 시간도 제어합니다.
[in] timeoutCount
연결이 실패한 것으로 간주되기 전 미확인 프로브의 최대 개수입니다.

-이 메서드는 여러 번 호출하여 연결 유지 간격 또는 제한 시간 수를 조정할 수 있습니다.

세부정보
반환 값
WEAVE_NO_ERROR
TCP 연결 유지 프로브를 성공적으로 사용 설정할 수 있습니다.
WEAVE_ERROR_NOT_IMPLEMENTED
이 함수가 호환되지 않는 엔드포인트 (예: BLE)를 사용합니다.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection 객체가 메시지를 보내기 위한 올바른 상태가 아닌 경우.
other
TCP 엔드포인트와 관련된 Inet 레이어 오류는 연결 유지 작업을 사용 설정합니다.

EnableReceive

void EnableReceive(
  void
)

WeaveConnection을 통한 수신을 사용 설정합니다.

이 메서드는 애플리케이션에서 TCP 연결을 통해 도착하는 모든 데이터를 수신할 준비가 되었음을 WeaveConnection 객체에 나타내는 데 사용합니다.

참고 항목: <ph type="x-smartling-placeholder">
</ph> DisableReceive() <ph type="x-smartling-placeholder">
</ph>

GetPeerAddressInfo

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

피어의 IP 주소 정보를 가져옵니다.

세부정보
매개변수
[out] addrInfo
IPPacketInfo 객체에 대한 참조입니다.
반환 값
WEAVE_NO_ERROR
성공 시
WEAVE_ERROR_NOT_IMPLEMENTED
이 함수가 호환되지 않는 엔드포인트 (예: BLE)를 사용합니다.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize
) const 

연결과 연결된 피어 노드를 설명하는 문자열을 구성합니다.

세부정보
매개변수
[in] buf
문자열을 작성해야 하는 버퍼를 가리키는 포인터입니다. 제공된 버퍼는 kGetPeerDescription_MaxLength 이상이어야 합니다. 더 작은 버퍼가 제공되면 문자열이 잘립니다. 출력에는 모든 경우에 NUL 종료 문자가 포함됩니다.
[in] bufSize
buf가 가리키는 버퍼의 크기

GetTCPEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

IsIncoming

bool IsIncoming(
  void
) const 

LogId

uint16_t LogId(
  void
) const 

출시

void Release(
  void
)

WeaveConnection 객체에서 참조 수를 줄입니다.

Release() 메서드는 WeaveConnection 객체와 연결된 참조 수를 줄입니다. 따라서 참조 수가 0에 도달하면 연결이 닫히고 연결 객체가 해제됩니다. 이 경우 애플리케이션은 객체와 더 이상 상호작용해서는 안 됩니다.

ResetUserTimeout

WEAVE_ERROR ResetUserTimeout(
  void
)

WeaveConnection::ResetUserTimeout

TCP 사용자 시간 제한 소켓 옵션을 시스템 기본값으로 재설정합니다.

참고:-이 메서드는 TCP 연결로 지원되는 Weave 연결에서만 호출할 수 있습니다. -이 메서드는 연결이 전송을 허용하는 상태에 있을 때만 호출할 수 있습니다.

- 연결에 사용자 시간 제한이 설정되지 않은 경우 이 메서드는 아무 작업도 하지 않습니다.

세부정보
반환 값
WEAVE_NO_ERROR
재설정하는 방법에 대해 이야기해 보겠습니다
WEAVE_ERROR_NOT_IMPLEMENTED
이 함수가 호환되지 않는 엔드포인트 (예: BLE)를 사용합니다.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection 객체가 메시지를 보내기 위한 올바른 상태가 아닌 경우.
other
TCP 사용자 제한 시간의 TCP 엔드포인트 재설정과 관련된 레이어 오류입니다.

SendMessage

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

설정된 연결을 통해 Weave 메시지를 전송합니다.

세부정보
매개변수
[in] msgInfo
WeaveMessageInfo 객체를 가리키는 포인터입니다.
[in] msgBuf
전송할 패킷을 보유한 PacketBuffer 객체에 대한 포인터입니다.
반환 값
WEAVE_NO_ERROR
매우 중요한 역할을 할 것입니다.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection 객체가 메시지를 보내기 위한 올바른 상태가 아닌 경우.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
대상 노드 식별자가 지정되지 않은 경우.
WEAVE_ERROR_SENDING_BLOCKED
메시지가 너무 길어서 전송할 수 없는 경우입니다.
other
특정 엔드포인트 전송 작업과 관련된 Inet 레이어 오류입니다.

SendTunneledMessage

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Weave 연결을 통해 터널링된 패킷을 전송하는 함수입니다.

설정된 연결을 통해 터널링된 Weave 메시지를 전송합니다.

세부정보
매개변수
[in] msgInfo
WeaveMessageInfo 객체를 가리키는 포인터입니다.
[in] msgBuf
전송할 패킷을 보유한 PacketBuffer 객체에 대한 포인터입니다.
반환 값
WEAVE_NO_ERROR
매우 중요한 역할을 할 것입니다.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection 객체가 메시지를 보내기 위한 올바른 상태가 아닌 경우.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
대상 노드 식별자가 지정되지 않은 경우.
WEAVE_ERROR_SENDING_BLOCKED
메시지가 너무 길어서 전송할 수 없는 경우입니다.
other
특정 엔드포인트 전송 작업과 관련된 Inet 레이어 오류입니다.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Connect가 성공하거나 오류를 반환하기 위한 제한 시간을 설정하세요.

세부정보
매개변수
[in] connTimeoutMsecs

SetIdleTimeout

WEAVE_ERROR SetIdleTimeout(
  uint32_t timeoutMS
)

기본 네트워크 계층 연결에 유휴 제한 시간을 설정합니다.

세부정보
매개변수
[in] timeoutMS
제한 시간을 밀리초 단위로 지정합니다
반환 값
WEAVE_NO_ERROR
성공 시 알림을 보냅니다.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection 객체가 메시지를 수신하기 위한 올바른 상태가 아닌 경우.

SetIncoming

void SetIncoming(
  bool val
)

SetUserTimeout

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection::SetUserTimeout과 같은 시간 동안 설정해야 합니다.

TCP 사용자 시간 제한 소켓 옵션을 설정합니다.

값이 0보다 크면 TCP가 해당 연결을 강제로 종료하기 전에 전송된 데이터를 미확인 상태로 유지할 수 있는 최대 시간(밀리초)을 지정합니다. 옵션 값을 0으로 지정하면 TCP에서 시스템 기본값을 사용합니다. 자세한 내용은 RFC 5482를 참조하세요.

세부정보
매개변수
[in] userTimeoutMillis
밀리초 단위의 TCP 사용자 제한 시간 값입니다.

참고:-이 메서드는 TCP 연결로 지원되는 Weave 연결에서만 호출할 수 있습니다. -이 메서드는 연결이 전송을 허용하는 상태에 있을 때만 호출할 수 있습니다.

-이 메서드는 TCP 사용자 제한 시간을 조정하기 위해 여러 번 호출할 수 있습니다.

세부정보
반환 값
WEAVE_NO_ERROR
오류 메시지가 표시됩니다.
WEAVE_ERROR_NOT_IMPLEMENTED
이 함수가 호환되지 않는 엔드포인트 (예: BLE)를 사용합니다.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection 객체가 메시지를 보내기 위한 올바른 상태가 아닌 경우.
other
TCP 사용자 제한 시간의 TCP 엔드포인트 설정과 관련된 Inet 레이어 오류입니다.

종료

WEAVE_ERROR Shutdown(
  void
)

단계적 TCP 전송-종료를 수행하여 모든 발신 데이터가 피어의 TCP 스택에서 전송 및 수신되었는지 확인합니다.

대부분의 (전부는 아님) TCP 구현의 경우, 전송-종료를 수신하면 원격 호스트의 연결도 종료되어 연결이 종료됩니다. 이후에 Close()를 호출하면 WeaveConnection이 종료됩니다.

세부정보
반환 값
WEAVE_NO_ERROR
알림을 받을 수 있습니다.
WEAVE_ERROR_NOT_IMPLEMENTED
이 함수가 호환되지 않는 엔드포인트 (예: BLE)를 사용합니다.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection 객체가 올바른 상태에 있지 않으면 종료를 시작합니다.
other
특정 엔드포인트 종료 작업과 관련된 Inet 레이어 오류입니다.
참고 항목:
Close()Abort().