nl::Weave::Profiller:BDX_Geliştirme:BdxProtocol

Özet

İşlevler

HandleConnectionClosed(ExchangeContext *anEc, WeaveConnection *aCon, WEAVE_ERROR aConErr)
void
Bağlantının kapalı olduğu durumlarda işleyici.
HandleKeyError(ExchangeContext *anEc, WEAVE_ERROR aKeyErr)
void
Weave mesajlarını şifrelemek ve kimliğini doğrulamak için kullanılan anahtarın artık kullanılamayacağı işleyici.
HandleResponse(ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
BDX exchange'ine gelen iletiler için ana işleyici.
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
Yanıt bekleyen bir zaman aşımı süresi olduğunda kullanılan işleyici.
HandleResponseTransmit(BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleSendError(ExchangeContext *anEc, WEAVE_ERROR aSendErr, void *aMsgCtxt)
void
Gönderdiğimiz WRMP mesajının onaylanmadığı işleyici.
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)
Bu işlev, belirtilen BDXTransfer için bir BlockAckV1 mesajı gönderir.
SendBlockEOFAckV1(BDXTransfer & aXfer)
Bu işlev, belirtilen BDXTransfer için bir BlockEOFAckV1 mesajı gönderir.
SendBlockQuery(BDXTransfer & aXfer)
SendBlockQueryV1(BDXTransfer & aXfer)
Bu işlev, belirtilen BDXTransfer için bir BlockQueryV1 mesajı gönderir.
SendNextBlock(BDXTransfer & aXfer)
SendNextBlockV1(BDXTransfer & aXfer)
Bu işlev, BDXTransfer's GetBlockHandler çağrısı yapılarak alınan bir sonraki BlockSendV1 değerini gönderir.
SendStatusReport(ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void
İlişkili profil kimliği, durum kodu ve exchange bağlamını içeren bir durum raporu mesajı gönderir.
SendTransferError(ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void

İşlevler

Herkese Açık Bağlantı kapalı

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

Bağlantının kapalı olduğu durumlarda işleyici.

İlişkili aktarımın hata işleyicisini arar ve aktarımı kapatır.

Ayrıntılar
Parametreler
[in] anEc
Kapalı bir bağlantı algılayan exchange bağlamı,
[in] aCon
Dokuma bağlantısı, gerçek işlevinde kullanılmaz
[in] aConErr
Bağlantının kapatılmasıyla ilgili hata

Herkese Açık Anahtar Hatası

void HandleKeyError(
  ExchangeContext *anEc,
  WEAVE_ERROR aKeyErr
)

Weave mesajlarını şifrelemek ve kimliğini doğrulamak için kullanılan anahtarın artık kullanılamayacağı işleyici.

Ayrıntılar
Parametreler
[in] anEc
Anahtar hatası tespit eden Exchange bağlamı: İlişkilendirilen BDXTransfer öğesini
[in] aKeyErr
Anahtarla ilişkili hata artık kullanılamıyor

Herkese Açık Yanıt

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

BDX exchange'ine gelen iletiler için ana işleyici.

Esas olarak, uygun BDX başlık bilgilerini ve verilerini almak için bir yönlendirici işlevi görür ve bu nesneye etki etmek için uygun işleyiciyi gönderir.

Ayrıntılar
Parametreler
[in] anEc
Gerektiğinde exchange bağlamı
[in] aPktInfo
Kullanılmadı, ancak işlev prototipiyle eşleşmesi gerekiyor
[in] aWeaveMsgInfo
İleti için İleti Bilgisi'ni düzenle
[in] aProfileId
İletinin tanımlandığı profilin kimliği
[in] aMessageType
Bu profilin mesaj türü
[in] aPacketBuffer
Paket mesajın kendisi

HandleResponseNotKabul Edilmedi

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

Herkese Açık Yanıt Alma

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

HandleResponseTimeout

void HandleResponseTimeout(
  ExchangeContext *anEc
)

Yanıt bekleyen bir zaman aşımı süresi olduğunda kullanılan işleyici.

Zaman aşımına uğramış aktarımı kapatır ve aktarımın hata işleyicisini çağırır.

Ayrıntılar
Parametreler
[in] anEc
BDXTransfer öğesini bulabileceğiniz exchange bağlamı

Herkese Açık Yanıtlama

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

HandleSendHata

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

Gönderdiğimiz WRMP mesajının onaylanmadığı işleyici.

Ayrıntılar
Parametreler
[in] anEc
Onaylanmamış bir mesajın yer aldığı exchange bağlamını görebilirsiniz. İlişkilendirilmiş BDXTransfer öğesini
[in] aSendErr
İleti gönderme hatasıyla ilişkili hata
[in] aMsgCtxt
Onaylanmamış mesaj ile ilişkili rastgele bir mesaj bağlamı.

InitBdxGet

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

İnitBdxSend

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

İnitBdxSend

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

SendBadBlockCounterStatus Raporu

WEAVE_ERROR SendBadBlockCounterStatusReport(
  BDXTransfer & aXfer
)

SendBlockAckV1

WEAVE_ERROR SendBlockAckV1(
  BDXTransfer & aXfer
)

Bu işlev, belirtilen BDXTransfer için bir BlockAckV1 mesajı gönderir.

Bu işlev yalnızca, aktarım durumunda sonraki sayaça kadar çağrılabileceğinden, onaylanan blok numarası aXfer.mBlockCounter - 1'e eşittir.

Ayrıntılar
Parametreler
[in] aXfer
BlockAck için gönderdiğimiz BDXTransfer.
Döndürülen Değerler
WEAVE_NO_ERROR
Mesajı başarıyla gönderdiysek.
WEAVE_ERROR_NO_MEMORY
Kullanılabilir PacketBuffers yoksa.

SendBlockEOFAckV1

WEAVE_ERROR SendBlockEOFAckV1(
  BDXTransfer & aXfer
)

Bu işlev, belirtilen BDXTransfer için bir BlockEOFAckV1 mesajı gönderir.

Onaylanmış blok numarası aXfer.mBlockCounter değerine eşittir.

Ayrıntılar
Parametreler
[in] aXfer
BlockEOFAck için BDXTransfer gönderiyoruz.
Döndürülen Değerler
WEAVE_NO_ERROR
Mesajı başarıyla gönderdiysek.
WEAVE_ERROR_NO_MEMORY
Kullanılabilir PacketBuffers yoksa.

SendBlockQuery

WEAVE_ERROR SendBlockQuery(
  BDXTransfer & aXfer
)

SendBlockQueryV1 Gönderme

WEAVE_ERROR SendBlockQueryV1(
  BDXTransfer & aXfer
)

Bu işlev, belirtilen BDXTransfer için bir BlockQueryV1 mesajı gönderir.

İstenen engelleme sayısı aXfer.mBlockCounter değerine eşit.

Ayrıntılar
Parametreler
[in] aXfer
BlockQuery için gönderdiğimiz BDXTransfer.
Döndürülen Değerler
WEAVE_NO_ERROR
Mesajı başarıyla gönderdiysek.
WEAVE_ERROR_NO_MEMORY
Kullanılabilir PacketBuffers yoksa.

SendNextBlock (Sonrakini Engelle)

WEAVE_ERROR SendNextBlock(
  BDXTransfer & aXfer
)

SendNextBlockV1 (Gönderi Engelle)

WEAVE_ERROR SendNextBlockV1(
  BDXTransfer & aXfer
)

Bu işlev, BDXTransfer's GetBlockHandler çağrısı yapılarak alınan bir sonraki BlockSendV1 değerini gönderir.

Ayrıntılar
Parametreler
[in] aXfer
İlişkilendirilmiş ExchangeContext'ü kullanarak bir sonraki bloku almak için GetBlockHandler çağrısında bulunan BDXTransfer
Döndürülen Değerler
WEAVE_ERROR_INCORRECT_STATE
GetBlockHandler değeri NULL ise

SendStatus Raporu

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

İlişkili profil kimliği, durum kodu ve exchange bağlamını içeren bir durum raporu mesajı gönderir.

Ayrıntılar
Parametreler
[in] anEc
Durum raporu mesajını göndermemiz gereken exchange bağlamı
[in] aProfileId
Profil Kimliği
[in] aStatusCode
Aktarım hatasıyla ilişkili kod

SendTransferHatası

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