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

Özet

İşlevler

HandleConnectionClosed(ExchangeContext *anEc, WeaveConnection *aCon, WEAVE_ERROR aConErr)
void
Bağlantının kendisinin kapatıldığı durumlar için kullanılan 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ılamaması durumunda işleyici.
HandleResponse(ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
BDX exchange'ine gelen mesajların 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 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ığı durumlar için 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 çağrılmasıyla alınan 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ıyla birlikte 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 kendisinin kapatıldığı durumlar için 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
Exchange bağlamı kapalı bir bağlantı algıladı. İlişkili BDXTransfer bilgisini buradan bulabiliriz.
[in] aCon
Gerçek işlevde kullanılmayan Weave bağlantısı
[in] aConErr
Bağlantının kapatılmasıyla ilişkili hata

HandleKeyError

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ılamaması durumunda işleyici.

Ayrıntılar
Parametreler
[in] anEc
Exchange bağlamı anahtar hatası algıladı. İlişkili BDXTransfer bilgisini buradan bulabiliriz.
[in] aKeyErr
Anahtarla ilişkili hata artık kullanılamaz

HandleResponse

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

BDX exchange'ine gelen mesajların ana işleyicisi.

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

Ayrıntılar
Parametreler
[in] anEc
İhtiyaç duymamız durumunda exchange bağlamı
[in] aPktInfo
Kullanılmamış, ancak işlev prototipiyle eşleşmesi gerekiyor
[in] aWeaveMsgInfo
İleti için Weave Mesaj Bilgileri
[in] aProfileId
Mesajın tanımlandığı profilin kimliği
[in] aMessageType
Söz konusu profilin mesaj türü
[in] aPacketBuffer
Paketlenmiş 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 işleyici.

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

Ayrıntılar
Parametreler
[in] anEc
BDXTransfer'i bulabildiğ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ının onaylanmadığı durumlar için işleyici.

Ayrıntılar
Parametreler
[in] anEc
Onaylanmayan bir mesaj içeren exchange bağlamı İlişkilendirilen BDXTransfer buradan
[in] aSendErr
İleti gönderme hatasıyla ilişkili hata
[in] aMsgCtxt
Onaylanmayan mesajla ilişkilendirilen rastgele 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 değerine eşittir çünkü bu işlev yalnızca aktarım durumu bir sonraki sayaca geçtikten sonra çağrılabilir.

Ayrıntılar
Parametreler
[in] aXfer
BDXTransfer için gönderdiğimiz BlockAck.
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.

Onaylanan blok numarası şuna eşittir: aXfer.mBlockCounter.

Ayrıntılar
Parametreler
[in] aXfer
BlockEOFAck 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.

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şittir.

Ayrıntılar
Parametreler
[in] aXfer
BlockQuery 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

WEAVE_ERROR SendNextBlock(
  BDXTransfer & aXfer
)

SendNextBlockV1

WEAVE_ERROR SendNextBlockV1(
  BDXTransfer & aXfer
)

Bu işlev, BDXTransfer'in GetBlockHandler çağrılmasıyla alınan sonraki BlockSendV1'i gönderir.

Ayrıntılar
Parametreler
[in] aXfer
Sonraki bloğu almak için ilişkili ExchangeContext'i kullanan GetBlockHandler tarafından çağrılan BDXTransfer
Döndürülen Değerler
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ıyla 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
)