nl::Weave::Profiles::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를 반환합니다.

NewTransfer

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

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

세부정보
매개변수
[in] aBinding
전송을 시작할 노드에 대한 바인딩 이 전송을 위해 연결된 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이 준비되지 않은 경우

NewTransfer

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/ReceivedInit에서 오류를 반환하면 나머지 오류

공개 정적 함수

HandleReceiveInit

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

HandleSendInit

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

ShutdownTransfer

void ShutdownTransfer(
  BDXTransfer *aXfer
)

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

이는 단순히 BDXTransfer::Shutdown()을 따릅니다.

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