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

nl::Weave::프로필::BDX_Development::BdxNode

요약

생성자 및 소멸자

BdxNode(void)
모든 구성원을 NULL로 설정하는 기본 생성자

공개 함수

AllowBdxTransferToRun(bool aEnable)
void
BDX 서버를 완전히 종료하거나 다시 시작하지 않고 사용/사용 중지하는 데 사용합니다.
AwaitBdxReceiveInit(ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit(SendInitHandler aSendInitHandler)
CanBdxTransferRun(void)
bool
BDX 서버에서 전송을 시작할 수 있는 경우에는 true를, 그렇지 않으면 false를 반환합니다.
Init(WeaveExchangeManager *anExchangeMgr)
모든 전송을 기본 상태로 사용할 수 있도록 놓고 WeaveExchangeManager와 기타 필요한 Weave 리소스를 저장하고 allowBdxTransferToRun(true)을 설정합니다.
InitBdxReceive(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, ReferencedTLVData *aMetaData)
InitBdxSend(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, ReferencedTLVData *aMetaData)
InitBdxSend(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, SendInit::MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
IsInitialized(void)
bool
BdxNode가 이미 초기화되었다면 true를 반환합니다.
NewTransfer(Binding *aBinding, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
가능한 경우 전송 풀에서 새 BDXTransfer를 가져와 설정하고, 그렇지 않으면 NULL로 설정하고 오류를 반환합니다.
NewTransfer(WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
가능한 경우 전송 풀에서 새 BDXTransfer를 가져와 설정하고, 그렇지 않으면 NULL로 설정하고 오류를 반환합니다.
Shutdown(void)
모든 전송을 종료하고 Weave 리소스를 해제합니다 (현재 mExchangeMgr을 NULL로 설정함).

공개 정적 함수

HandleReceiveInit(ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
HandleSendInit(ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
ShutdownTransfer(BDXTransfer *aXfer)
void
지정된 전송 객체를 종료하고 풀로 반환합니다.

공개 함수

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

BDX 서버를 완전히 종료하거나 다시 시작하지 않고 사용/사용 중지하는 데 사용합니다.

세부정보
매개변수
[in] aEnable
사용 (true) 또는 사용 중지 (false)

AwaitBdxReceiveInit

WEAVE_ERROR AwaitBdxReceiveInit(
  ReceiveInitHandler aReceiveInitHandler
)

AwaitBdxSendInit

WEAVE_ERROR AwaitBdxSendInit(
  SendInitHandler aSendInitHandler
)

BdxNode

 BdxNode(
  void
)

모든 구성원을 NULL로 설정하는 기본 생성자

최소한 init()를 호출할 때까지 서버로 작업하지 마세요.

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

BDX 서버에서 전송을 시작할 수 있는 경우에는 true를, 그렇지 않으면 false를 반환합니다.

세부정보
반환
BDX 전송이 허용되는 경우 true, 허용되지 않는 경우 false

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

모든 전송을 기본 상태로 사용할 수 있도록 놓고 WeaveExchangeManager와 기타 필요한 Weave 리소스를 저장하고 allowBdxTransferToRun(true)을 설정합니다.

세부정보
매개변수
[in] anExchangeMgr
이 일괄 전송 작업에 사용할 거래소 관리자입니다.
반환 값
WEAVE_NO_ERROR
성공 시
WEAVE_ERROR_INCORRECT_STATE
mExchangeMgr이 null인 경우 이미 초기화됨

InitBdxReceive

WEAVE_ERROR InitBdxReceive(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

InitBdxSend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

InitBdxSend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  SendInit::MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

IsInitialized

bool IsInitialized(
  void
)

BdxNode가 이미 초기화되었다면 true를 반환합니다.

세부정보
반환
이 객체가 초기화된 경우 true

새 전송

WEAVE_ERROR NewTransfer(
  Binding *aBinding,
  BDXHandlers aBDXHandlers,
  ReferencedString & aFileDesignator,
  void *anAppState,
  BDXTransfer *& aXfer
)

가능한 경우 전송 풀에서 새 BDXTransfer를 가져와 설정하고, 그렇지 않으면 NULL로 설정하고 오류를 반환합니다.

세부정보
매개변수
[in] aBinding
전송을 시작할 노드에 대한 Binding입니다. 이 전송을 위한 연결된 ExchangeContext를 만드는 데 사용됩니다.
[in] aBDXHandlers
전송 중에 호출할 BDX 콜백 핸들러의 구조
[in] aFileDesignator
이전할 파일의 파일 지정자입니다.
[in] anAppState
사용자 애플리케이션과 관련 콜백에서 사용하기 위해 BDXTransfer에 연결할 애플리케이션별 상태 객체입니다.
[in] aXfer
사용 가능한 경우 새 BDXTransfer 객체를 가리키고 다른 경우에는 NULL을 전달하는, 참조로 전달되는 포인터입니다.
반환 값
WEAVE_NO_ERROR
BDXTransfer가 성공적으로 발견된 경우
WEAVE_ERROR_NO_MEMORY
ExchangeContext를 만들 수 없는 경우
WEAVE_ERROR_TOO_MANY_CONNECTIONS
현재 너무 많은 전송이 활성 상태이고 aXfer가 NULL인 경우
WEAVE_ERROR_INCORRECT_STATE
aBinding이 준비되지 않은 경우

새 전송

WEAVE_ERROR NewTransfer(
  WeaveConnection *aCon,
  BDXHandlers aBDXHandlers,
  ReferencedString & aFileDesignator,
  void *anAppState,
  BDXTransfer *& aXfer
)

가능한 경우 전송 풀에서 새 BDXTransfer를 가져와 설정하고, 그렇지 않으면 NULL로 설정하고 오류를 반환합니다.

세부정보
매개변수
[in] aCon
전송을 시작할 노드에 대한 WeaveConnection 이 전송을 위한 연결된 ExchangeContext를 만드는 데 사용됩니다.
[in] aBDXHandlers
전송 중에 호출할 BDX 콜백 핸들러의 구조
[in] aFileDesignator
이전할 파일의 파일 지정자입니다.
[in] anAppState
사용자 애플리케이션과 관련 콜백에서 사용하기 위해 BDXTransfer에 연결할 애플리케이션별 상태 객체입니다.
[in] aXfer
사용 가능한 경우 새 BDXTransfer 객체를 가리키고 다른 경우에는 NULL을 전달하는, 참조로 전달되는 포인터입니다.
반환 값
WEAVE_NO_ERROR
BDXTransfer가 성공적으로 발견된 경우
WEAVE_ERROR_NO_MEMORY
ExchangeContext를 만들 수 없는 경우
WEAVE_ERROR_TOO_MANY_CONNECTIONS
현재 너무 많은 전송이 활성 상태이고 aXfer가 NULL인 경우
WEAVE_ERROR_INCORRECT_STATE
mExchangeMgr이 아직 설정되지 않았거나 aCon이 연결되지 않은 경우

종료

WEAVE_ERROR Shutdown(
  void
)

모든 전송을 종료하고 Weave 리소스를 해제합니다 (현재 mExchangeMgr을 NULL로 설정함).

AllowBdxTransferToRun(false)을 설정하고 현재 콜백 (예: SendInitHandler)을 연결 해제합니다.

세부정보
반환
성공적으로 종료되면 WEAVE_NO_ERROR, AwaitBdxSend/ReceiveInit이 오류를 반환하면 기타 오류

공개 정적 함수

핸들 수신

void HandleReceiveInit(
  ExchangeContext *anEc,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aWeaveMsgInfo,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

핸들 전송

void HandleSendInit(
  ExchangeContext *anEc,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aWeaveMsgInfo,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

종료 전송

void ShutdownTransfer(
  BDXTransfer *aXfer
)

지정된 전송 객체를 종료하고 풀로 반환합니다.

간단히 BDXTransfer::Shutdown()을 따릅니다.

세부정보
매개변수
[in] aXfer
BDXTransfer: 종료