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
전송을 시작할 노드에 대한 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이 준비되지 않은 경우

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