нл:: Переплетение:: Профили:: BDX_Development:: Бдксноде

Краткое содержание

Конструкторы и деструкторы

BdxNode (void)
Конструктор по умолчанию, который устанавливает для всех членов значение NULL.

Общественные функции

AllowBdxTransferToRun (bool aEnable)
void
Используйте для включения/отключения сервера BDX без его полного выключения и перезапуска.
AwaitBdxReceiveInit ( ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit ( SendInitHandler aSendInitHandler)
CanBdxTransferRun (void)
bool
Возвращает true, если серверу BDX разрешено начать передачу в это время, в противном случае — 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
Возвращает true, если этот BdxNode уже инициализирован.
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
Завершите работу данного объекта передачи и верните его в пул.

Общественные функции

Алловбдкстрансферторун

void AllowBdxTransferToRun(
  bool aEnable
)

Используйте для включения/отключения сервера BDX без его полного выключения и перезапуска.

Подробности
Параметры
[in] aEnable
Включить (истина) или отключить (ложь)

ОжиданиеBdxReceiveInit

WEAVE_ERROR AwaitBdxReceiveInit(
  ReceiveInitHandler aReceiveInitHandler
)

ОжиданиеBdxSendInit

WEAVE_ERROR AwaitBdxSendInit(
  SendInitHandler aSendInitHandler
)

Бдксноде

 BdxNode(
  void
)

Конструктор по умолчанию, который устанавливает для всех членов значение NULL.

Не пытайтесь ничего сделать с сервером, пока вы хотя бы не вызовете init().

МожетBdxПередачаВыполнить

bool CanBdxTransferRun(
  void
)

Возвращает true, если серверу BDX разрешено начать передачу в это время, в противном случае — false.

Подробности
Возврат
true, если передача BDX разрешена, false, если нет

Инициализировать

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

Переведите все передачи в состояние по умолчанию, готовое к использованию, сохраните WeaveExchangeManager и любые другие необходимые ресурсы Weave и установите параметрallowBdxTransferToRun(true).

Подробности
Параметры
[in] anExchangeMgr
Менеджер обмена, который будет использоваться для этой операции массового перевода.
Возвращаемые значения
WEAVE_NO_ERROR
в случае успеха
WEAVE_ERROR_INCORRECT_STATE
если mExchangeMgr не равен нулю, он уже инициализирован

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
)

Возвращает true, если этот BdxNode уже инициализирован.

Подробности
Возврат
true, если этот объект был инициализирован

НовыйПеренос

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 не подготовлен

НовыйПеренос

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 возвращает ошибку

Публичные статические функции

РучкаReceiveInit

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

РучкаSendInit

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 завершить работу