Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

nl :: 짜다:: WeaveExchangeManager

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

이 클래스는 다른 Weave 노드와 함께 ExchangeContext를 관리하는 데 사용됩니다.

요약

상위 계층을 대신하여 ExchangeContext를 만들고 원치 않는 메시지 처리기의 등록 / 등록 취소를 처리합니다.

생성자와 소멸자

WeaveExchangeManager (void)
의 생성자 WeaveExchangeManager의 클래스입니다.

공개 유형

State {
kState_NotInitialized = 0,
kState_Initialized = 1
}
열거 형

공용 속성

FabricState
[읽기 전용] 연결된 FabricState 개체입니다.
MessageLayer
[READ ONLY 상기 연관된 WeaveMessageLayer의 개체.
State
uint8_t
의 [READ ONLY] 상태 WeaveExchangeManager의 개체.

공공 기능

AllowUnsolicitedMessages ( WeaveConnection *con)
void
요청하지 않은 메시지가 지정된 연결에서 수신되도록 허용합니다.
ClearMsgCounterSyncReq (uint64_t peerNodeId)
void
해당 피어에 대해 보류중인 모든 메시지에 대해 MsgCounterSyncReq 플래그를 지 웁니다.
FindContext (uint64_t peerNodeId, WeaveConnection *con, void *appState, bool isInitiator)
찾기 ExchangeContext을 매개 변수의 주어진 일치하는 풀에서.
Init ( WeaveMessageLayer *msgLayer)
초기화 WeaveExchangeManager의 개체를.
NewBinding (Binding::EventCallback eventCallback, void *appState)
새로운 할당 바인딩을 제공하는 인수.
NewContext (const uint64_t & peerNodeId, void *appState)
신규 작성 ExchangeContext 피어 노드 식별자에 의해 지정된 소정의 피어 노드를 직조.
NewContext (const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState)
신규 작성 ExchangeContext는 피어 노드 식별자 및 피어 IP 주소에 의해 지정된 소정의 피어 노드로 직조.
NewContext (const uint64_t & peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId sendIntfId, void *appState)
신규 작성 ExchangeContext는 특정 인터페이스에서 피어 노드 식별자 피어 IP 주소, 목적지 포트에 의해 지정된 소정의 피어 노드로 직조.
NewContext ( WeaveConnection *con, void *appState)
새로운 작성 ExchangeContext는 지정된 이상 주어진 피어 위브 노드와 WeaveConnection .
RegisterUnsolicitedMessageHandler (uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, void *appState)
지정된 프로필 식별자에 대해 요청하지 않은 메시지 처리기를 등록합니다.
RegisterUnsolicitedMessageHandler (uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
지정된 프로필 식별자에 대해 요청하지 않은 메시지 처리기를 등록합니다.
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState)
지정된 프로필 식별자 및 메시지 유형에 대해 원치 않는 메시지 처리기를 등록합니다.
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
지정된 프로필 식별자 및 메시지 유형에 대해 원치 않는 메시지 처리기를 등록합니다.
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, void *appState)
지정된 Weave 연결에서 지정된 프로필 식별자, 메시지 유형에 대한 원치 않는 메시지 처리기를 등록합니다.
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
지정된 Weave 연결에서 지정된 프로필 식별자, 메시지 유형에 대한 원치 않는 메시지 처리기를 등록합니다.
Shutdown (void)
를 종료 WeaveExchangeManager .
UnregisterUnsolicitedMessageHandler (uint32_t profileId)
지정된 프로필 식별자에 대한 원치 않는 메시지 처리기를 등록 취소합니다.
UnregisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType)
지정된 프로필 식별자 및 메시지 유형에 대한 원치 않는 메시지 처리기를 등록 취소합니다.
UnregisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, WeaveConnection *con)
지정된 프로필 식별자, 메시지 유형 및 Weave 연결에 대한 원치 않는 메시지 처리기를 등록 취소합니다.

공개 유형

상태

 State
속성
kState_Initialized

을 나타 내기 위해 사용 WeaveExchangeManager이 초기화됩니다.

kState_NotInitialized

을 나타 내기 위해 사용 WeaveExchangeManager가 초기화되지 않았습니다.

공용 속성

FabricState

WeaveFabricState * FabricState

[읽기 전용] 연결된 FabricState 개체입니다.

MessageLayer

WeaveMessageLayer * MessageLayer

[READ ONLY 상기 연관된 WeaveMessageLayer의 개체.

상태

uint8_t State

의 [READ ONLY] 상태 WeaveExchangeManager의 개체.

공공 기능

AllowUnsolicitedMessages

void AllowUnsolicitedMessages(
  WeaveConnection *con
)

요청하지 않은 메시지가 지정된 연결에서 수신되도록 허용합니다.

이 메서드는 지정된 Weave 연결에서 메시지 수신 처리기를 설정합니다.

세부
매개 변수
[in] con
Weave 연결 개체에 대한 포인터입니다.

ClearMsgCounterSyncReq

void ClearMsgCounterSyncReq(
  uint64_t peerNodeId
)

해당 피어에 대해 보류중인 모든 메시지에 대해 MsgCounterSyncReq 플래그를 지 웁니다.

세부
매개 변수
[in] peerNodeId
대상 노드의 노드 ID입니다.

FindContext

ExchangeContext * FindContext(
  uint64_t peerNodeId,
  WeaveConnection *con,
  void *appState,
  bool isInitiator
)

찾기 ExchangeContext을 매개 변수의 주어진 일치하는 풀에서.

세부
매개 변수
[in] peerNodeId
있는 피어의 노드 ID ExchangeContext이 설정되었다.
[in] con
받는 포인터 WeaveConnection의 피어와 TCP 연결을 나타내는 객체입니다.
[in] appState
컨텍스트 상태를 보유하는 상위 계층 개체에 대한 포인터입니다.
[in] isInitiator
로컬 노드가 교환 개시 자인지 여부를 나타내는 부울 표시기입니다.
보고
받는 포인터 ExchangeContext의 어떤 경기에 제공된 성공 매개 변수를 NULL 일치하는 객체입니다.

초기화

WEAVE_ERROR Init(
  WeaveMessageLayer *msgLayer
)

초기화 WeaveExchangeManager의 개체를.

이 인스턴스의 수명 동안이 메서드는 개체 생성 후 인스턴스를 종료하기 위해 Shutdown을 호출 할 때까지 한 번 호출됩니다.

세부
매개 변수
[in] msgLayer
받는 포인터 WeaveMessageLayer의 객체입니다.
반환 값
WEAVE_ERROR_INCORRECT_STATE
상태가 kState_NotInitialized와 같지 않은 경우.
WEAVE_NO_ERROR
성공에.

NewBinding

Binding * NewBinding(
  Binding::EventCallback eventCallback,
  void *appState
)

새로운 할당 바인딩을 제공하는 인수.

세부
매개 변수
[in] eventCallback
이벤트 콜백에 사용할 함수 포인터
[in] appState
나중에 이벤트 콜백에서 전달 될 컨텍스트에 대한 포인터
보고
새로 할당 된 포인터 바인딩 , 또는 NULL 수영장이 소진 된 경우

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  void *appState
)

신규 작성 ExchangeContext 피어 노드 식별자에 의해 지정된 소정의 피어 노드를 직조.

세부
매개 변수
[in] peerNodeId
있는 피어의 노드 ID ExchangeContext가 설정되고있다.
[in] appState
컨텍스트 상태를 보유하는 상위 계층 개체에 대한 포인터입니다.
보고
생성 된 포인터 ExchangeContext의 성공 객체입니다. 그렇지 않으면 개체를 할당 할 수 없거나 사용 가능한 경우 NULL입니다.

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  const IPAddress & peerAddr,
  void *appState
)

신규 작성 ExchangeContext는 피어 노드 식별자 및 피어 IP 주소에 의해 지정된 소정의 피어 노드로 직조.

세부
매개 변수
[in] peerNodeId
있는 피어의 노드 ID ExchangeContext가 설정되고있다.
[in] peerAddr
피어 노드의 IP 주소입니다.
[in] appState
컨텍스트 상태를 보유하는 상위 계층 개체에 대한 포인터입니다.
보고
생성 된 포인터 ExchangeContext의 성공 객체입니다. 그렇지 않고 개체를 할당 할 수 없거나 사용 가능한 경우 NULL입니다.

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  InterfaceId sendIntfId,
  void *appState
)

신규 작성 ExchangeContext는 특정 인터페이스에서 피어 노드 식별자 피어 IP 주소, 목적지 포트에 의해 지정된 소정의 피어 노드로 직조.

세부
매개 변수
[in] peerNodeId
있는 피어의 노드 ID ExchangeContext가 설정되고있다.
[in] peerAddr
피어 노드의 IP 주소입니다.
[in] peerPort
피어 노드의 포트입니다.
[in] sendIntfId
이 교환에서 Weave 메시지를 보내는 데 사용할 인터페이스입니다.
[in] appState
컨텍스트 상태를 보유하는 상위 계층 개체에 대한 포인터입니다.
보고
생성 된 포인터 ExchangeContext의 성공 객체입니다. 그렇지 않고 개체를 할당 할 수 없거나 사용 가능한 경우 NULL입니다.

NewContext

ExchangeContext * NewContext(
  WeaveConnection *con,
  void *appState
)

새로운 작성 ExchangeContext는 지정된 이상 주어진 피어 위브 노드와 WeaveConnection .

세부
매개 변수
[in] con
받는 포인터 WeaveConnection의 피어와 TCP 연결을 나타내는 객체입니다.
[in] appState
컨텍스트 상태를 보유하는 상위 계층 개체에 대한 포인터입니다.
보고
생성 된 포인터 ExchangeContext의 성공 객체입니다. 그렇지 않고 개체를 할당 할 수 없거나 사용 가능한 경우 NULL입니다.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

지정된 프로필 식별자에 대해 요청하지 않은 메시지 처리기를 등록합니다.

이 핸들러는 주어진 프로필의 모든 메시지에 대해 호출됩니다.

세부
매개 변수
[in] profileId
수신 된 메시지의 프로필 식별자입니다.
[in] handler
원치 않는 메시지 처리기입니다.
[in] appState
컨텍스트 상태를 보유하는 상위 계층 개체에 대한 포인터입니다.
반환 값
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
요청하지 않은 메시지 핸들러 풀이 가득 차서 새 풀을 할당 할 수없는 경우.
WEAVE_NO_ERROR
성공에.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

지정된 프로필 식별자에 대해 요청하지 않은 메시지 처리기를 등록합니다.

이 핸들러는 주어진 프로필의 모든 메시지에 대해 호출됩니다.

세부
매개 변수
[in] profileId
수신 된 메시지의 프로필 식별자입니다.
[in] handler
원치 않는 메시지 처리기입니다.
[in] allowDups
주어진 프로필에 대해 중복 메시지가 허용되는지 여부를 나타내는 부울 표시기입니다.
[in] appState
컨텍스트 상태를 보유하는 상위 계층 개체에 대한 포인터입니다.
반환 값
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
요청하지 않은 메시지 핸들러 풀이 가득 차서 새 풀을 할당 할 수없는 경우.
WEAVE_NO_ERROR
성공에.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

지정된 프로필 식별자 및 메시지 유형에 대해 원치 않는 메시지 처리기를 등록합니다.

세부
매개 변수
[in] profileId
수신 된 메시지의 프로필 식별자입니다.
[in] msgType
해당 프로필의 메시지 유형입니다.
[in] handler
원치 않는 메시지 처리기입니다.
[in] appState
컨텍스트 상태를 보유하는 상위 계층 개체에 대한 포인터입니다.
반환 값
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
요청하지 않은 메시지 핸들러 풀이 가득 차서 새 풀을 할당 할 수없는 경우.
WEAVE_NO_ERROR
성공에.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

지정된 프로필 식별자 및 메시지 유형에 대해 원치 않는 메시지 처리기를 등록합니다.

세부
매개 변수
[in] profileId
수신 된 메시지의 프로필 식별자입니다.
[in] msgType
해당 프로필의 메시지 유형입니다.
[in] handler
원치 않는 메시지 처리기입니다.
[in] allowDups
주어진 프로필 식별자 및 메시지 유형에 대해 중복 메시지가 허용되는지 여부를 나타내는 부울 표시기입니다.
[in] appState
컨텍스트 상태를 보유하는 상위 계층 개체에 대한 포인터입니다.
반환 값
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
요청하지 않은 메시지 핸들러 풀이 가득 차서 새 풀을 할당 할 수없는 경우.
WEAVE_NO_ERROR
성공에.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

지정된 Weave 연결에서 지정된 프로필 식별자, 메시지 유형에 대한 원치 않는 메시지 처리기를 등록합니다.

세부
매개 변수
[in] profileId
수신 된 메시지의 프로필 식별자입니다.
[in] msgType
해당 프로필의 메시지 유형입니다.
[in] con
받는 포인터 WeaveConnection의 피어와 TCP 연결을 나타내는 객체입니다.
[in] handler
원치 않는 메시지 처리기입니다.
[in] appState
컨텍스트 상태를 보유하는 상위 계층 개체에 대한 포인터입니다.
반환 값
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
요청하지 않은 메시지 핸들러 풀이 가득 차서 새 풀을 할당 할 수없는 경우.
WEAVE_NO_ERROR
성공에.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

지정된 Weave 연결에서 지정된 프로필 식별자, 메시지 유형에 대한 원치 않는 메시지 처리기를 등록합니다.

세부
매개 변수
[in] profileId
수신 된 메시지의 프로필 식별자입니다.
[in] msgType
해당 프로필의 메시지 유형입니다.
[in] con
받는 포인터 WeaveConnection의 피어와 TCP 연결을 나타내는 객체입니다.
[in] handler
원치 않는 메시지 처리기입니다.
[in] allowDups
지정된 Weave 연결의 지정된 프로필 식별자, 메시지 유형에 대해 중복 메시지가 허용되는지 여부를 나타내는 부울 표시기입니다.
[in] appState
컨텍스트 상태를 보유하는 상위 계층 개체에 대한 포인터입니다.
반환 값
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
요청하지 않은 메시지 핸들러 풀이 가득 차서 새 풀을 할당 할 수없는 경우.
WEAVE_NO_ERROR
성공에.

일시 휴업

WEAVE_ERROR Shutdown(
  void
)

를 종료 WeaveExchangeManager .

이렇게하면이 개체 인스턴스가 종료되고 보유 된 모든 리소스가 해제됩니다.

세부
보고
WEAVE_NO_ERROR 무조건.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId
)

지정된 프로필 식별자에 대한 원치 않는 메시지 처리기를 등록 취소합니다.

세부
매개 변수
[in] profileId
수신 된 메시지의 프로필 식별자입니다.
반환 값
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
일치하는 원치 않는 메시지 처리기를 찾을 수없는 경우.
WEAVE_NO_ERROR
성공에.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType
)

지정된 프로필 식별자 및 메시지 유형에 대한 원치 않는 메시지 처리기를 등록 취소합니다.

세부
매개 변수
[in] profileId
수신 된 메시지의 프로필 식별자입니다.
[in] msgType
해당 프로필의 메시지 유형입니다.
반환 값
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
일치하는 원치 않는 메시지 처리기를 찾을 수없는 경우.
WEAVE_NO_ERROR
성공에.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con
)

지정된 프로필 식별자, 메시지 유형 및 Weave 연결에 대한 원치 않는 메시지 처리기를 등록 취소합니다.

세부
매개 변수
[in] profileId
수신 된 메시지의 프로필 식별자입니다.
[in] msgType
해당 프로필의 메시지 유형입니다.
[in] con
받는 포인터 WeaveConnection의 피어와 TCP 연결을 나타내는 객체입니다.
반환 값
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
일치하는 원치 않는 메시지 처리기를 찾을 수없는 경우.
WEAVE_NO_ERROR
성공에.

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

의 생성자 WeaveExchangeManager의 클래스입니다.

상태를 kState_NotInitialized로 설정합니다.