nl:: بافت:: پروفایل ها:: BDX_Development:: پروتکل Bdx

خلاصه

کارکرد

HandleConnectionClosed ( ExchangeContext *anEc, WeaveConnection *aCon, WEAVE_ERROR aConErr)
void
هندلر برای زمانی که خود اتصال بسته است.
HandleKeyError ( ExchangeContext *anEc, WEAVE_ERROR aKeyErr)
void
کنترل کننده زمانی که کلید مورد استفاده برای رمزگذاری و احراز هویت پیام های Weave دیگر قابل استفاده نیست.
HandleResponse ( ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
کنترل کننده اصلی پیام هایی که به صرافی BDX می رسند.
HandleResponseNotAccepted ( BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleResponseReceive ( BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleResponseTimeout ( ExchangeContext *anEc)
void
کنترل کننده برای زمانی که ما در انتظار پاسخ هستیم.
HandleResponseTransmit ( BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleSendError ( ExchangeContext *anEc, WEAVE_ERROR aSendErr, void *aMsgCtxt)
void
کنترل کننده زمانی که پیام WRMP ارسال شده تایید نشد.
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)
SendBadBlockCounterStatusReport ( BDXTransfer & aXfer)
SendBlockAckV1 ( BDXTransfer & aXfer)
این تابع یک پیام BlockAckV1 برای BDXTransfer داده شده ارسال می کند.
SendBlockEOFAckV1 ( BDXTransfer & aXfer)
این تابع یک پیام BlockEOFAckV1 برای BDXTransfer داده شده ارسال می کند.
SendBlockQuery ( BDXTransfer & aXfer)
SendBlockQueryV1 ( BDXTransfer & aXfer)
این تابع یک پیام BlockQueryV1 برای BDXTransfer داده شده ارسال می کند.
SendNextBlock ( BDXTransfer & aXfer)
SendNextBlockV1 ( BDXTransfer & aXfer)
این تابع ، BlockSendV1 بعدی را ارسال می کند که با فراخوانی GetBlockHandler BDXTransfer بازیابی شده است.
SendStatusReport ( ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void
یک پیام گزارش وضعیت با شناسه نمایه مرتبط، کد وضعیت، و زمینه تبادل ارسال می کند.
SendTransferError ( ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void

کارکرد

HandleConnectionClosed

void HandleConnectionClosed(
  ExchangeContext *anEc,
  WeaveConnection *aCon,
  WEAVE_ERROR aConErr
)

هندلر برای زمانی که خود اتصال بسته است.

کنترل کننده خطای انتقال مرتبط را فراخوانی می کند و انتقال را خاموش می کند.

جزئیات
مولفه های
[in] anEc
زمینه تبادلی که یک اتصال بسته را شناسایی کرده است ما می‌توانیم BDXTransfer مرتبط را از این پیدا کنیم
[in] aCon
اتصال Weave، در عملکرد واقعی استفاده نشده است
[in] aConErr
خطای مرتبط با بسته شدن اتصال

HandleKeyError

void HandleKeyError(
  ExchangeContext *anEc,
  WEAVE_ERROR aKeyErr
)

کنترل کننده زمانی که کلید مورد استفاده برای رمزگذاری و احراز هویت پیام های Weave دیگر قابل استفاده نیست.

جزئیات
مولفه های
[in] anEc
زمینه تبادلی که یک خطای کلیدی را شناسایی کرده است، می‌توانیم BDXTransfer مرتبط را از این پیدا کنیم
[in] aKeyErr
خطای مرتبط با غیرقابل استفاده بودن کلید

HandleResponse

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

کنترل کننده اصلی پیام هایی که به صرافی BDX می رسند.

اساساً به عنوان یک روتر برای استخراج اطلاعات و داده های هدر BDX مناسب عمل می کند و کنترل کننده مناسب را برای عمل بر روی این شی اعزام می کند.

جزئیات
مولفه های
[in] anEc
زمینه تبادل در صورت نیاز به آن
[in] aPktInfo
استفاده نشده، اما باید با نمونه اولیه تابع مطابقت داشته باشد
[in] aWeaveMsgInfo
اطلاعات پیام را برای پیام ببافید
[in] aProfileId
شناسه نمایه ای که پیام تحت آن تعریف شده است
[in] aMessageType
نوع پیام آن نمایه
[in] aPacketBuffer
خود پیام بسته بندی شده

HandleResponseNotAccepted

WEAVE_ERROR HandleResponseNotAccepted(
  BDXTransfer & aXfer,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

HandleResponseReceive

WEAVE_ERROR HandleResponseReceive(
  BDXTransfer & aXfer,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

HandleResponseTimeout

void HandleResponseTimeout(
  ExchangeContext *anEc
)

کنترل کننده برای زمانی که ما در انتظار پاسخ هستیم.

انتقالی که زمان آن تمام شده را خاموش می کند و کنترل کننده خطای آن انتقال را فراخوانی می کند.

جزئیات
مولفه های
[in] anEc
زمینه تبادل که می توانیم BDXTransfer را از آن پیدا کنیم

HandleResponseTransmit

WEAVE_ERROR HandleResponseTransmit(
  BDXTransfer & aXfer,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

HandleSendError

void HandleSendError(
  ExchangeContext *anEc,
  WEAVE_ERROR aSendErr,
  void *aMsgCtxt
)

کنترل کننده زمانی که پیام WRMP ارسال شده تایید نشد.

جزئیات
مولفه های
[in] anEc
زمینه مبادله ای که یک پیام تایید نشده داشت، می توانیم BDXTransfer مرتبط را از این پیدا کنیم
[in] aSendErr
خطای مرتبط با خطای ارسال پیام
[in] aMsgCtxt
یک زمینه پیام دلخواه که با پیام تایید نشده مرتبط بود.

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
)

SendBadBlockCounterStatusReport

WEAVE_ERROR SendBadBlockCounterStatusReport(
  BDXTransfer & aXfer
)

SendBlockAckV1

WEAVE_ERROR SendBlockAckV1(
  BDXTransfer & aXfer
)

این تابع یک پیام BlockAckV1 برای BDXTransfer داده شده ارسال می کند.

شماره بلوک تایید شده برابر است با aXfer.mBlockCounter - 1 زیرا این تابع فقط پس از انتقال وضعیت انتقال به شمارنده بعدی فراخوانی می شود.

جزئیات
مولفه های
[in] aXfer
BDXTransfer که برای آن BlockAck ارسال می کنیم.
ارزش های بازگشتی
WEAVE_NO_ERROR
اگر پیام را با موفقیت ارسال کردیم.
WEAVE_ERROR_NO_MEMORY
اگر PacketBuffer های موجود نیست.

SendBlockEOFAckV1

WEAVE_ERROR SendBlockEOFAckV1(
  BDXTransfer & aXfer
)

این تابع یک پیام BlockEOFAckV1 برای BDXTransfer داده شده ارسال می کند.

شماره بلوک تایید شده برابر با aXfer.mBlockCounter است.

جزئیات
مولفه های
[in] aXfer
BDXTransfer که برای آن یک BlockEOFAck ارسال می کنیم.
ارزش های بازگشتی
WEAVE_NO_ERROR
اگر پیام را با موفقیت ارسال کردیم.
WEAVE_ERROR_NO_MEMORY
اگر PacketBuffer های موجود نیست.

SendBlockQuery

WEAVE_ERROR SendBlockQuery(
  BDXTransfer & aXfer
)

SendBlockQueryV1

WEAVE_ERROR SendBlockQueryV1(
  BDXTransfer & aXfer
)

این تابع یک پیام BlockQueryV1 برای BDXTransfer داده شده ارسال می کند.

شماره بلوک درخواستی برابر با aXfer.mBlockCounter است.

جزئیات
مولفه های
[in] aXfer
BDXTransfer که برای آن BlockQuery ارسال می کنیم.
ارزش های بازگشتی
WEAVE_NO_ERROR
اگر پیام را با موفقیت ارسال کردیم.
WEAVE_ERROR_NO_MEMORY
اگر PacketBuffer های موجود نیست.

SendNextBlock

WEAVE_ERROR SendNextBlock(
  BDXTransfer & aXfer
)

SendNextBlockV1

WEAVE_ERROR SendNextBlockV1(
  BDXTransfer & aXfer
)

این تابع ، BlockSendV1 بعدی را ارسال می کند که با فراخوانی GetBlockHandler BDXTransfer بازیابی شده است.

جزئیات
مولفه های
[in] aXfer
BDXTransfer که GetBlockHandler آن فراخوانی می شود تا بلوک بعدی را قبل از ارسال با استفاده از ExchangeContext مرتبط دریافت کند.
ارزش های بازگشتی
WEAVE_ERROR_INCORRECT_STATE
اگر GetBlockHandler NULL باشد

SendStatusReport

void SendStatusReport(
  ExchangeContext *anEc,
  uint32_t aProfileId,
  uint16_t aStatusCode
)

یک پیام گزارش وضعیت با شناسه نمایه مرتبط، کد وضعیت، و زمینه تبادل ارسال می کند.

جزئیات
مولفه های
[in] anEc
زمینه تبادل که در آن باید پیام گزارش وضعیت را ارسال کنیم
[in] aProfileId
شناسه پروفایل
[in] aStatusCode
کد مرتبط با خطای انتقال

SendTransferError

void SendTransferError(
  ExchangeContext *anEc,
  uint32_t aProfileId,
  uint16_t aStatusCode
)