nl::Weave::Profiles::BDX_Development::BdxProtocol

Özet

İşlevler

HandleConnectionClosed(ExchangeContext *anEc, WeaveConnection *aCon, WEAVE_ERROR aConErr)
void
Bağlantının kendisi kapatıldığında kullanılan işleyici.
HandleKeyError(ExchangeContext *anEc, WEAVE_ERROR aKeyErr)
void
Weave mesajlarını şifrelemek ve doğrulamak için kullanılan anahtar artık kullanılamaz hâle geldiğinde kullanılan işleyici.
HandleResponse(ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
BDX exchange'ine gelen iletilerin ana işleyicisi.
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 beklerken zaman aşımına uğradığımız durumlar için 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ı onaylanmadığında kullanılan 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'in GetBlockHandler işlevini çağırarak alınan bir sonraki BlockSendV1'i 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

HandleConnectionClosed

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

Bağlantının kendisi kapatıldığında kullanılan işleyici.

İlişkili aktarımın hata işleyicisini çağırır ve aktarımı kapatır.

Ayrıntılar
Parametreler
[in] anEc
Kapalı bir bağlantı algılayan exchange bağlamı Bu dizinde ilişkili BDXTransfer öğesini bulabiliriz.
[in] aCon
Weave bağlantısı, gerçek işlevde kullanılmayan
[in] aConErr
Bağlantının kapatılmasıyla ilgili hata

HandleKeyError

void HandleKeyError(
  ExchangeContext *anEc,
  WEAVE_ERROR aKeyErr
)

Weave mesajlarını şifrelemek ve doğrulamak için kullanılan anahtar artık kullanılamaz hâle geldiğinde kullanılan işleyici.

Ayrıntılar
Parametreler
[in] anEc
Önemli bir hata algılayan Exchange bağlamı. Burada, ilişkili BDXTransfer öğesini bulabiliriz.
[in] aKeyErr
Anahtarın artık kullanılabilir olmamasıyla ilişkili hata

HandleResponse

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

BDX exchange'ine gelen iletilerin ana işleyicisi.

Temelde, uygun BDX başlık bilgilerini ve verilerini almak için bir yönlendirici işlevi görür ve bu nesne üzerinde işlem yapması için uygun işleyiciyi gönderir.

Ayrıntılar
Parametreler
[in] anEc
İhtiyaç duyulması halinde kullanabileceğiniz takas içeriği
[in] aPktInfo
Kullanılmamış, ancak işlev prototipiyle eşleşmesi gerekiyor
[in] aWeaveMsgInfo
Mesajın Mesaj Bilgilerini Örgütme
[in] aProfileId
Mesajın tanımlandığı profilin kimliği
[in] aMessageType
Söz konusu profilin mesaj türü
[in] aPacketBuffer
Paketlenen iletinin kendisi

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
)

Yanıt beklerken zaman aşımına uğradığımız durumlar için işleyici.

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

Ayrıntılar
Parametreler
[in] anEc
BDXTransfer'i bulabileceğimiz Exchange bağlamı

HandleResponseTransmit

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

HandleSendError

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

Gönderdiğimiz WRMP mesajı onaylanmadığında kullanılan işleyici.

Ayrıntılar
Parametreler
[in] anEc
Onaylanmamış ileti içeren exchange bağlamı BDXTransfer öğesini buradan bulabiliriz.
[in] aSendErr
İleti gönderme hatasıyla ilişkili hata
[in] aMsgCtxt
Onaylanmayan mesajla ilişkilendirilmiş rastgele bir mesaj bağlamı.

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
)

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

Onaylanan blok numarası, aXfer.mBlockCounter - 1'e eşittir çünkü bu işlev yalnızca aktarım durumundan bir sonraki sayaca ilerledikten sonra çağrılabilir.

Ayrıntılar
Parametreler
[in] aXfer
BlockAck gönderdiğimiz BDXTransfer'dir.
Değerleri Döndür
WEAVE_NO_ERROR
İletiyi gönderme işlemi başarılı olur.
WEAVE_ERROR_NO_MEMORY
BundleBuffers yoksa.

SendBlockEOFAckV1

WEAVE_ERROR SendBlockEOFAckV1(
  BDXTransfer & aXfer
)

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

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

Ayrıntılar
Parametreler
[in] aXfer
BlockEOFAck gönderdiğimiz BDXTransfer.
Değerleri Döndür
WEAVE_NO_ERROR
İletiyi gönderme işlemi başarılı olur.
WEAVE_ERROR_NO_MEMORY
BundleBuffers yoksa.

SendBlockQuery

WEAVE_ERROR SendBlockQuery(
  BDXTransfer & aXfer
)

SendBlockQueryV1

WEAVE_ERROR SendBlockQueryV1(
  BDXTransfer & aXfer
)

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

İstenen blok numarası, aXfer.mBlockCounter değerine eşit.

Ayrıntılar
Parametreler
[in] aXfer
BlockQuery gönderdiğimiz BDXTransfer'dir.
Değerleri Döndür
WEAVE_NO_ERROR
İletiyi gönderme işlemi başarılı olur.
WEAVE_ERROR_NO_MEMORY
BundleBuffers yoksa.

SendNextBlock

WEAVE_ERROR SendNextBlock(
  BDXTransfer & aXfer
)

SendNextBlockV1

WEAVE_ERROR SendNextBlockV1(
  BDXTransfer & aXfer
)

Bu işlev BDXTransfer'in GetBlockHandler işlevini çağırarak alınan bir sonraki BlockSendV1'i gönderir.

Ayrıntılar
Parametreler
[in] aXfer
GetBlockHandler çağrısının yapıldığı BDXTransfer, ilişkili ExchangeContext kullanılarak göndermeden önce sonraki bloğu almak için kullanılır
Değerleri Döndür
WEAVE_ERROR_INCORRECT_STATE
GetBlockHandler NULL ise

SendStatusReport

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

İlişkili profil kimliği, durum kodu ve exchange bağlamı ile birlikte 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

SendTransferError

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