nl::Weave::Profiles::BDX_Development

Bu ad alanı, Toplu Veri Aktarımı (BDX) profili için Weave'de aktif olarak geliştirme aşamasında olan ve üretimde kullanılmaması gereken tüm arayüzleri içerir.

Özet

Sıralamalar

@80 enum
@81 enum
@82 enum
@83 enum

Türdefler

BdxClient typedef
BdxServer typedef
ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode) typedef
void(*
Bu işleyici, hata kodları aracılığıyla kullanıcı tarafından uygulama tarafından tanımlanan kontrol akışına doğrudan döndürülmeyen bir Weave hatasıyla karşılaşıldığında çağrılır.
GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock) typedef
void(*
Get a block of data to be transmitted.
PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock) typedef
void(*
aLength değerine sahip birDataBlock tarafından işaret edilen veri bloğunu işleyin.
ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg) typedef
Daha önce gönderilmiş bir ReceiveInit hedef tarafından kabul edildiğinde geri çağırma çağrılır.
ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg) typedef
uint16_t(*
Bir ReceiveInit mesajı alındığında geri çağırma çağrıldı.
RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport) typedef
void(*
Önceki Init mesajlarından biri hedef tarafından reddedilirse çağrılır.
SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg) typedef
Daha önce gönderilmiş bir SendInit hedef tarafından kabul edildiğinde geri çağırma çağrılır.
SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg) typedef
uint16_t(*
Bir SendInit mesajı alındığında geri çağırma çağrıldı.
XferDoneHandler)(BDXTransfer *aXfer) typedef
void(*
Aktarımın tamamlandığı durumları ele alın.
XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError) typedef
void(*
BDX tarafından alınan veya gönderilen TransferError iletilerini işleyin.

İşlevler

GetBDXAckFlag(ExchangeContext *anEc)
uint16_t
GetBDXAckFlag, exchange bağlamının bağlantısına (TCP için istek ack'i yok) ve WRMP için derleme süresi desteğine göre requestAck alanı için uygun işareti döndürür.

Sınıflar

nl::Weave::Profiles::BDX_Development::BdxNode
nl::Weave::Profiles::BDX_Development::BlockAck

BlockAck mesajı bir veri blokunu onaylamak için kullanılır.

nl::Weave::Profiles::BDX_Development::BlockAckV1

BlockAckV1 mesajı bir veri blokunu onaylamak için kullanılır.

nl::Weave::Profiles::BDX_Development::BlockEOF

BlockEOF mesajı, son veri bloğunu gönderenden alıcıya aktarmak için kullanılır.

nl::Weave::Profiles::BDX_Development::BlockEOFAck

BlockEOFAck mesajı son veri bloğunu onaylamak için kullanılır.

nl::Weave::Profiles::BDX_Development::BlockEOFAckV1

BlockEOFAckV1 mesajı son veri bloğunu onaylamak için kullanılır.

nl::Weave::Profiles::BDX_Development::BlockEOFV1

BlockEOFV1 mesajı, son veri bloğunu gönderenden alıcıya aktarmak için kullanılır.

nl::Weave::Profiles::BDX_Development::BlockQuery

BlockQuery mesajı, bir veri blokunun gönderenden alıcıya aktarılmasını istemek için kullanılır.

nl::Weave::Profiles::BDX_Development::BlockQueryV1

BlockQueryV1 mesajı, bir veri blokunun gönderenden alıcıya aktarılmasını istemek için kullanılır.

nl::Weave::Profiles::BDX_Development::BlockSend

BlockSend mesajı, bir veri bloğunu gönderenden alıcıya aktarmak için kullanılır.

nl::Weave::Profiles::BDX_Development::BlockSendV1

BlockSendV1 mesajı, bir veri bloğunu gönderenden alıcıya aktarmak için kullanılır.

nl::Weave::Profiles::BDX_Development::ReceiveAccept

Alıcı, başlatıcı olduğunda önerilen değişimi kabul etmek için ReceiveAccept mesajı kullanılır.

nl::Weave::Profiles::BDX_Development::ReceiveInit

Alıcı, başlatan olduğunda değişimi başlatmak için ReceiveInit mesajı kullanılır.

nl::Weave::Profiles::BDX_Development::ReceiveReject

ReceiveReject mesajı, gönderen kişi olduğunda önerilen değişimi reddetmek için kullanılır.

nl::Weave::Profiles::BDX_Development::SendAccept

SendAccept mesajı, gönderen kişi olduğunda önerilen değişimi kabul etmek için kullanılır.

nl::Weave::Profiles::BDX_Development::SendInit

Gönderen kişi olduğunda exchange'i başlatmak için SendInit mesajı kullanılır.

nl::Weave::Profiles::BDX_Development::SendReject

SendReject mesajı, gönderen kişi olduğunda önerilen alışverişi reddetmek için kullanılır.

nl::Weave::Profiles::BDX_Development::TransferError

Hata mesajı, hata bildirmek ve bir değişimi iptal etmek için kullanılır.

Yapılar

nl::Weave::Profiles::BDX_Development::BDXHandlers
nl::Weave::Profiles::BDX_Development::BDXTransfer

Bu yapı, etkin bir BDX aktarımını temsil eden veri üyeleri içerir.

Ad alanları

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

Sıralamalar

@80

 @80

@81

 @81

@82

 @82

@83

 @83

Türdefler

BdxClient

BdxNode BdxClient

BdxServer

BdxNode BdxServer

ErrorHandler

void(* ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)

Bu işleyici, hata kodları aracılığıyla kullanıcı tarafından uygulama tarafından tanımlanan kontrol akışına doğrudan döndürülmeyen bir Weave hatasıyla karşılaşıldığında çağrılır.

Yani imzası "geçersiz" dönüş türüne sahip başka bir işleyicide bir hata oluşursa (ör. gelen bir Weave iletisine yanıt olarak veya protokol tarafından gönderilir) bu işleyici, kullanıcının aktarımın kurtarılıp devam edilip edilmeyeceğini veya Shutdown() işlevini çağırması gerekip gerekmediğini belirlemesi için bu işleyici çağrılır. Ayrılmış BDXTransfer çok sayıda aktarım nesnesi başlatılmadan önce bir hata meydana gelebilir (ör. Böyle bir durumda, söz konusu hata Weave tarafından günlüğe kaydedilir ve protokol, ayırdığı gerekli durumların temizlenmesi işlemini gerçekleştirir.

Ayrıntılar
Parametreler
[in] aXfer
Bu aktarımla ilişkili BDXTransfer işaretçisi
[in] anErrorCode
İşlememiz gereken hata kodu

GetBlockHandler

void(* GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)

Get a block of data to be transmitted.

Arayan, arabelleğe alma alanını (referans yoluyla iletilen tampon ve tampon uzunluğu) sağlar. Arayanın (kullanıcı uygulaması) sağlanan arabelleği kullanması GEREKİR, ancak geriye dönük uyumluluk nedeniyle kendi arabelleğini döndürebilir. Arayan kişi, baytların aLength kadarından fazlasını sağlamamalıdır. Dönüşte aLength, arabelleğe okunan gerçek bayt sayısını içerir.

Ayrıntılar
Parametreler
[in] aXfer
Devam eden bu aktarımla ilişkili BDXTransfer
[in,out] aLength
Bu blokta okunan ve depolanan verilerin uzunluğu. İşlev çağrısı, aDataBlock içinde geçirilen arabellek uzunluğunu içerir. Değişken, döndürüldüğünde ise gerçekte okunan verilerin uzunluğunu içerir.
[in,out] aDataBlock
Veri bloğunun işaretçisi. Girişte, çerçeve tarafından sağlanan arabelleği içerir; çağrılan kişi bu alanı arabelleği doldurmak için kullanabilir veya kendi arabelleğe alma alanını sağlayabilir (geriye dönük uyumluluk uygulamaları için). Sağlanan tamponu kullanan uygulamalar herhangi bir hizalama yapmamalıdır.
[out] aLastBlock
Engellemenin BlockEOF olarak gönderilmesi ve aktarım tamamlanması gerekiyorsa doğru, aksi takdirde yanlış değerini alır

PutBlockHandler

void(* PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)

aLength değerine sahip birDataBlock tarafından işaret edilen veri bloğunu işleyin.

Bu durum büyük olasılıkla, dosyanın bir dosyaya yazılmasını ve isLastBlock Doğru değerine ayarlanırsa söz konusu dosyanın kapatılmasını içerir.

Ayrıntılar
Parametreler
[in] aXfer
Devam eden bu aktarımla ilişkili BDXTransfer
[in] aLength
Belirtilen blokta okunan ve depolanan verilerin uzunluğu
[in] aDataBlock
Gerçek veri bloğu
[in] aLastBlock
Engelleme BlockEOF olarak alındıysa ve aktarım tamamlandıysa doğru, aksi takdirde yanlış değerini alır. Doğru ise, programcı muhtemelen tüm dosya tanıtıcılarını sonlandırmalıdır. XferDoneHandler'ın bundan sonra çağrılacağını

ReceiveAcceptHandler

WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)

Daha önce gönderilmiş bir ReceiveInit hedef tarafından kabul edildiğinde geri çağırma çağrılır.

Bu fırsatı, aktarım işlemini başlatırken yapmadıysanız dosyaları açmak veya aktarım için kaynak tahsis etmek isteyebilirsiniz.

Ayrıntılar
Parametreler
[in] aXfer
Bu aktarımla ilişkili BDXTransfer işaretçisi
[in] aReceiveAcceptMsg
İşaretçisi, işlenmekte olan ReceiveAccept mesajının işaretçisi

ReceiveInitHandler

uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)

Bir ReceiveInit mesajı alındığında geri çağırma çağrıldı.

Görevi, Receive (Al) maddesini kabul etmek isteyip istemediğinizi belirlemek ve kabul etmekse protokolün başlatan kişiye bir kabul mesajı göndermesi için aXfer->mIsaccept=true değerini ayarlamaktır. BDXTransfer nesnesi, varsayılan ayarlarla başlatılır. Burası, uygulamaya özel durumları (açık dosya tanıtıcıları vb.) aXfer->mAppState'e eklemek için iyi bir yerdir. Bu noktada, blok işleme gibi gerekli işleyicileri BDXTransfer nesnesine eklemeniz gerekir. kStatus_Success dışında bir hata kodu döndürülürse aktarımın reddedildiği varsayılır ve protokol, kodla bir ret iletisi gönderme işlemini gerçekleştirir.

Ayrıntılar
Parametreler
[in] aXfer
Bu aktarımla ilişkili BDXTransfer işaretçisi
[in] aReceiveInitMsg
İşaretçisi, işlenmekte olan ReceiveInit mesajının işaretçisi

RejectHandler

void(* RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)

Önceki Init mesajlarından biri hedef tarafından reddedilirse çağrılır.

Ayrıntılar
Parametreler
[in] aXfer
Bu aktarımla ilişkili BDXTransfer işaretçisi
[in] aReport
İşlediğimiz StatusReport mesajı reddinin işaretçisi

SendAcceptHandler

WEAVE_ERROR(* SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)

Daha önce gönderilmiş bir SendInit hedef tarafından kabul edildiğinde geri çağırma çağrılır.

Bu fırsatı, aktarım işlemini başlatırken yapmadıysanız dosyaları açmak veya aktarım için kaynak tahsis etmek isteyebilirsiniz.

Ayrıntılar
Parametreler
[in] aXfer
Bu aktarımla ilişkili BDXTransfer işaretçisi
[in] aSendAcceptMsg
İşaretçisi olan SendAccept mesajı işleme alınır

SendInitHandler

uint16_t(* SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)

Bir SendInit mesajı alındığında geri çağırma çağrıldı.

Görevi, SendInit öğesini kabul etmek isteyip istemediğinizi belirlemektir. Kabul ediyorsanız protokolün, kabul edene bir kabul mesajı göndermesi için aXfer->mIsaccept=true değerini ayarlayın. BDXTransfer nesnesi, varsayılan ayarlarla başlatılır. Burası, uygulamaya özel durumları (açık dosya tanıtıcıları vb.) aXfer->mAppState'e eklemek için iyi bir yerdir. Bu noktada, blok işleme gibi gerekli işleyicileri BDXTransfer nesnesine eklemeniz gerekir. WEAVE_NO_ERROR dışında bir hata kodu döndürülürse aktarımın reddedildiği varsayılır ve protokol bu kodla bir ret iletisi gönderme işlemini gerçekleştirir.

Ayrıntılar
Parametreler
[in] aXfer
Bu aktarımla ilişkili BDXTransfer işaretçisi
[in] aSendInitMsg
İşaretçisi, işlediğimiz SendInit mesajının işaretçisi

XferDoneHandler

void(* XferDoneHandler)(BDXTransfer *aXfer)

Aktarımın tamamlandığı durumları ele alın.

Ayrıntılar
Parametreler
[in] aXfer
Bu aktarımla ilişkili BDXTransfer işaretçisi

XferErrorHandler

void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)

BDX tarafından alınan veya gönderilen TransferError iletilerini işleyin.

Not: BDX aktarımının potansiyel olarak kurtarılabilir olduğu (muhtemelen şu anda PacketBuffers'ın dışında) varsayılır. Bu nedenle, Shutdown() çağrısı yapma seçeneği uygulama programcısına ve tanımladığı geri çağırmalara bırakılır. YAPILACAKLAR: Bunu doğrulayın ve BDX dokümanındaki dille mutabık kılın. "[A TransferError] Taraflardan herhangi biri toplu veri aktarımını zamanından önce bitirmek için herhangi bir zamanda gönderilebilir."

Ayrıntılar
Parametreler
[in] aXfer
Bu aktarımla ilişkili BDXTransfer işaretçisi
[in] aXferError
İşlediğimiz StatusReport mesaj hatasının işaretçisi

İşlevler

GetBDXAckFlag

uint16_t GetBDXAckFlag(
  ExchangeContext *anEc
)

GetBDXAckFlag, exchange bağlamının bağlantısına (TCP için istek ack'i yok) ve WRMP için derleme süresi desteğine göre requestAck alanı için uygun işareti döndürür.

Ayrıntılar
Parametreler
[in] anEc
İşaretlememiz gereken takas bağlamı
İadeler
0 veya kSendFlag_RequestAck