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

Bu ad alanı, Toplu Veri Aktarımı (BDX) profili için etkin olarak geliştirilmekte olan ve üretimde kullanılmaması gereken tüm arayüzleri içerir.

Özet

Sıralamalar

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

Türler

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

İşlevler

GetBDXAckFlag(ExchangeContext *anEc)
uint16_t
GetBDXAckFlag, exchange bağlamına (Request ack için TCP bağlantısı olmayan) ve WRMP için derleme zamanı desteğine bağlı olarak RequestAck alanı için uygun flag'i döndürür.

Sınıflar

nl::Weave::Profiller:BDX_Geliştirme:BdxNode
nl::Weave::Profiles::BDX_Geliştirme:BlockAck

BlockAck mesajı, bir veri bloğunu onaylamak için kullanılır.

nl::Weave::Profiller:BDX_Geliştirme:BlockAckV1

BlockAckV1 mesajı, bir veri bloğunu onaylamak için kullanılır.

nl::Weave::Profiller:BDX_Geliştirme:BlockEOF

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

nl::Weave::Profiller:BDX_Geliştirme:BlockEOFAck

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

nl::Weave::Profiller:BDX_Geliştirme:BlockEOFAckV1

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

nl::Weave::Profiller:BDX_Geliştirme:BlockEOFV1

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

nl::Weave::Profiles::BDX_Geliştirme::BlockQuery

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

nl::Weave::Profiles::BDX_Geliştirme:BlockQueryV1

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

nl::Weave::Profiller:BDX_Geliştirme:BlockSend

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

nl::Weave::Profiles::BDX_Geliştirme:BlockSendV1

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

nl::Weave::Profiles::BDX_Geliştirme::ReceiveAccept (

ReceiveAccept mesajı, alıcı başlatan olduğunda önerilen bir exchange'i kabul etmek için kullanılır.

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

ReceiveInit mesajı, alıcı başlatıcı olduğunda bir exchange başlatmak için kullanılır.

nl::Weave::Profiles::BDX_Development::ReceiveReddet

ReceiveReddet mesajı, önerilen başlatıcıyı gönderen gönderen olduğunda reddetmek için kullanılır.

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

SendAccept mesajı, gönderen başlatıcı olduğunda önerilen bir exchange'i kabul etmek için kullanılır.

nl::Weave::Profiller::BDX_Geliştirme::SendInit

SendInit mesajı, gönderen başlatıcı olduğunda bir exchange'i başlatmak için kullanılır.

nl::Weave::Profiles::BDX_Development::SendRef

SendReddet mesajı, gönderen başlatıcı olduğunda önerilen bir exchange'i reddetmek için kullanılır.

nl::Weave::Profiles::BDX_Geliştirme:TransferError

Hata mesajı, bir hatayı bildirmek ve exchange'i iptal etmek için kullanılır.

Struct

nl::Weave::Profiller:BDX_Geliştirme:BDXHandlers
nl::Weave::Profiller::BDX_Geliştirme:BDXTransfer

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

Ad alanları

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

Sıralamalar

@80

 @80

@81

 @81

@82

 @82

@83

 @83

Türler

Bdxİstemci

BdxNode BdxClient

BdxSunucu

BdxNode BdxServer

ErrorHandler

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

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

Yani, imzası dönüş türü geçersiz olan (ör. gelen bir Weave mesajına yanıt olarak veya protokol tarafından gönderilmiş) başka bir işleyicide bir hata oluşursa kullanıcının aktarımın kurtarılıp devam edip edemeyeceğini veya Shutdown() çağrısını yapıp yapmayacağını belirleyebilmesi için bu işleyici çağrılacaktır. Bir hatanın BDXTransfer çok fazla başlatılmadan önce ortaya çıkabileceğini (ör. zaten çok fazla nesne atanmış olması) unutmayın. Böyle bir durumda, söz konusu hata Weave tarafından kaydedilir ve protokol, topladığı gerekli durumları ortadan kaldırır.

Ayrıntılar
Parametreler
[in] aXfer
Bu aktarımla ilişkilendirilmiş BDXTransfer özelliği
[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ı (arabelleğe alınan arabelleği ve uzunluğunu (referans ile iletilen)) sağlar. Davetli (kullanıcı uygulaması) sağlanan arabelleği KULLANMALIDIR, ancak geriye dönük uyumluluk nedenleriyle kendi arabelleği döndürebilir. Arayan, baytların aLength değerinden fazlasını sağlamamalıdır. İade sırasında aLength, arabelleğe okunan gerçek bayt sayısını içerir.

Ayrıntılar
Parametreler
[in] aXfer
Bu devam eden aktarımla ilişkili BDXTransfer
[in,out] aLength
Bu blokta okunan ve depolanan verilerin uzunluğu. İşlev çağrısında, aDataBlock içinde iletilen arabelleğin uzunluğu yer alır. Döndürülen değer, değişkenin okuduğu 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. Arayan, arabelleği doldurmak için bu alanı kullanabilir veya kendi arabelleğe alma alanını sağlayabilir (geriye dönük uyumluluk uygulamaları için). Sağlanan arabelleği kullanan uygulamalar herhangi bir eşleşme kabul etmemelidir.
[out] aLastBlock
Engellemenin BlockEOF olarak gönderilmesi ve aktarımın tamamlanması gerekiyorsa doğru, aksi takdirde yanlış

PutBlockHandler etkinliği

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

AlengthBlock uzunluğuna (aLength) işaret eden veri bloğunu işleyin.

Büyük olasılıkla bu, bir dosyaya yazılması ve isLastBlock öğesi doğruysa söz konusu dosyanın kapatılması anlamına gelir.

Ayrıntılar
Parametreler
[in] aXfer
Bu devam eden 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, bir BlockEOF olarak alındıysa ve aktarım tamamlandıysa yanlış, aksi takdirde yanlış değerini alır. Bu özellik doğruysa, programcı büyük olasılıkla tüm dosya tutma işlemlerini tamamlamalıdır. Bunun ardından, XferBittiHandler öğesinin bundan sonra çağrılacağını unutmayın.

AcceptAcceptHandler değeri

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

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

Bu fırsatı, taşıma işlemini başlatırken dosyaları açmak veya aktarım için kaynak ayırmak istiyorsanız kullanabilirsiniz.

Ayrıntılar
Parametreler
[in] aXfer
Bu aktarımla ilişkilendirilmiş BDXTransfer özelliği
[in] aReceiveAcceptMsg
İşlediğimiz GetAccept mesajının üzerine gelin

ReceiveInitHandler (Handler)

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

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

Görevi, Alma işlemini kabul etmek isteyip istemediğinizi belirlemektir. Uygunsa, protokolün başlatıcıya bir kabul mesajı göndermesi için aXfer->mIsAccept=true değerini ayarlayın. BDXTransfer nesnesi varsayılan ayarlara başlatılır. Bu, uygulamaya özel herhangi bir durumu (açık dosya tanıtıcıları vb.) aXfer->mAppState'e eklemek için iyi bir yerdir. Bu noktada BDXTransfer nesnesine engelleme işleme gibi gerekli işleyicileri de eklemeniz gerekir. kStatus_Success dışında bir hata kodu döndürülürse aktarımın reddedildiği varsayılır ve protokol, kodu içeren bir ret iletisi göndermeyi ele alır.

Ayrıntılar
Parametreler
[in] aXfer
Bu aktarımla ilişkilendirilmiş BDXTransfer özelliği
[in] aReceiveInitMsg
İşlediğimiz ReceiveInit mesajının üzerine gelin

Reddetme İşleyici

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

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

Ayrıntılar
Parametreler
[in] aXfer
Bu aktarımla ilişkilendirilmiş BDXTransfer özelliği
[in] aReport
İşlediğimiz Durum Raporu mesajının reddedilmesine işaret eden rapor

SendAcceptHandler değerini gönder

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

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

Bu fırsatı, taşıma işlemini başlatırken dosyaları açmak veya aktarım için kaynak ayırmak istiyorsanız kullanabilirsiniz.

Ayrıntılar
Parametreler
[in] aXfer
Bu aktarımla ilişkilendirilmiş BDXTransfer özelliği
[in] aSendAcceptMsg
İşlediğimiz SendAccept mesajının üzerine gelin

GönderInitHandler

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

SendInit mesajı alınırken geri çağırma çağrıldı.

Bu bağlantının işi, SendInit'i kabul etmek isteyip istemediğinizi belirlemektir. Bu durumda, protokolün başlatıcıya bir kabul mesajı göndermesi için aXfer->mIsAccept=true değerini ayarlayın. BDXTransfer nesnesi varsayılan ayarlara başlatılır. Bu, uygulamaya özel herhangi bir durumu (açık dosya tanıtıcıları vb.) aXfer->mAppState'e eklemek için iyi bir yerdir. Bu noktada BDXTransfer nesnesine engelleme işleme gibi gerekli işleyicileri de 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, kodla bir ret mesajı göndermeyi yönetir.

Ayrıntılar
Parametreler
[in] aXfer
Bu aktarımla ilişkilendirilmiş BDXTransfer özelliği
[in] aSendInitMsg
İşlediğimiz SendInit mesajının üzerine gelin

XferBittiHandler

void(* XferDoneHandler)(BDXTransfer *aXfer)

Aktarımın tamamlandığı durumları yönetin.

Ayrıntılar
Parametreler
[in] aXfer
Bu aktarımla ilişkilendirilmiş BDXTransfer özelliği

XferErrorHandler

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

BDX tarafından alınan veya gönderilen TransferError mesajlarını yönetin.

Not: BDX aktarımının kurtarılabilir olduğu varsayılır (muhtemelen geçici olarak ör. PacketBuffers dışı) ve bu nedenle, Shutdown() işlevini çağırma seçeneği uygulama programcısına ve tanımladıkları geri çağırmalara bırakılır. Yapılacaklar: Bunu doğrulayın ve BDX dokümanındaki dille mutabakat yapın. "[A TransferError] Taraflardan herhangi biri, herhangi bir zamanda toplu veri aktarımını erken sona erdirmek için gönderilebilir."

Ayrıntılar
Parametreler
[in] aXfer
Bu aktarımla ilişkilendirilmiş BDXTransfer özelliği
[in] aXferError
İşlediğimiz StatusReport mesajı hatasının üzerine gelin

İşlevler

GetBDXAckFlag

uint16_t GetBDXAckFlag(
  ExchangeContext *anEc
)

GetBDXAckFlag, exchange bağlamına (Request ack için TCP bağlantısı olmayan) ve WRMP için derleme zamanı desteğine bağlı olarak RequestAck alanı için uygun flag'i döndürür.

Ayrıntılar
Parametreler
[in] anEc
Şuna göre işareti almamız gereken exchange bağlamı:
İadeler
0 veya kSendFlag_RequestAck