nl::Weave::Profiles::BDX_Development

Bu ad alanı, aktif olarak geliştirilme aşamasında olan ve üretimde kullanılmaması gereken Toplu Veri Aktarımı (BDX) profiline ait Weave içindeki tüm arayüzleri içerir.

Özet

Numaralandırmalar

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

Typedef'ler

BdxClient typedef
BdxServer typedef
ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode) typedef
void(*
Bu işleyici, hata kodları aracılığıyla kullanıcı tarafından tanımlanan kontrol akışına doğrudan döndürülemeyecek bir Weave hatasıyla karşılaştığı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 uzunluğundaki aDataBlock ile gösterilen 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 yapılır.
ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg) typedef
uint16_t(*
Bir ReceiveInit mesajı alındığında geri çağırma yapılır.
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 yapılır.
SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg) typedef
uint16_t(*
SendInit mesajı alındığında geri çağırma yapılır.
XferDoneHandler)(BDXTransfer *aXfer) typedef
void(*
Aktarımın tamamlandığı destek yazışmalarını yönetme.
XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError) typedef
void(*
BDX tarafından alınan veya gönderilen TransferError mesajlarını işleme.

İşlevler

GetBDXAckFlag(ExchangeContext *anEc)
uint16_t
GetBDXAckFlag, exchange bağlamının bağlantısına (TCP için istek onayı yok) ve WRMP için derleme süresi desteğine bağlı olarak 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 blokunu 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 bloğunun gönderenden alıcıya aktarılmasını istemek için kullanılır.

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

BlockQueryV1 mesajı, bir veri bloğunun 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şlatan olduğunda önerilen exchange'i kabul etmek için ReceiveAccept mesajı kullanılır.

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

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

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

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

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

SendAccept mesajı, görüşmeyi başlatan kişi olduğunda önerilen exchange'i kabul etmek için kullanılır.

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

SendInit mesajı, göndereni başlatan olduğunda bir exchange başlatmak için kullanılır.

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

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

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

Hata mesajı, hata bildirmek ve bir exchange'i 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 üyelerini içerir.

Ad alanları

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

Numaralandırmalar

@80

 @80

@81

 @81

@82

 @82

@83

 @83

Typedef'ler

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 tanımlanan kontrol akışına doğrudan döndürülemeyecek bir Weave hatasıyla karşılaştığında çağrılır.

Diğer bir deyişle, imzası void döndüren (ör. gelen bir Weave iletisine yanıt olarak veya hatta protokol tarafından gönderilen) başka bir işleyicide bir hata oluşursa kullanıcının aktarımın kurtarılıp devam ettirilemeyeceğini ve devam edip edemeyeceğini ya da Shutdown() çağrısını mı çağıracağını belirleyebilmesi için bu işleyici çağrılır. BDXTransfer başlatılmadan önce bir hatanın oluşabileceğini unutmayın (ör. zaten çok fazla tahsis edilmiş aktarım nesnesi). Böyle bir durumda, söz konusu hata Weave tarafından günlüğe kaydedilir ve protokol, kendisine ayrılmış gerekli durumların temizlenmesi işlemini gerçekleştirir.

Ayrıntılar
Parametreler
[in] aXfer
Bu aktarımla ilişkili BDXTransfer'in 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 arabellek ve arabellek uzunluğu) sağlar. Arayan (kullanıcı uygulaması) sağlanan arabelleği KULLANMALIDIR, ancak geriye dönük uyumluluk nedeniyle kendi arabelleğini döndürebilir. Arayan, aLength bayttan fazlasını sağlamamalıdır. Döndürülen 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 ile iletilen arabelleğin uzunluğunu içerir. Döndürülen değişken, 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 tamponu içerir. çağrılan kişi, arabelleği doldurmak için bu alanı kullanabilir veya kendi arabelleğe alma alanını (geriye dönük uyumluluk uygulamaları için) sağlayabilir. Sağlanan tamponu kullanan uygulamalar herhangi bir hizalamayı kabul etmemelidir.
[out] aLastBlock
Engellemenin BlockEOF olarak gönderilmesi gerekiyorsa ve aktarım tamamlandıysa doğru, aksi takdirde yanlış değerini alır

PutBlockHandler

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

aLength uzunluğundaki aDataBlock ile gösterilen veri bloğunu işleyin.

Muhtemelen dosyanın bir dosyaya yazılması ve isLastBlock doğru değerine ayarlanırsa söz konusu dosya kapatılacaktır.

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. True (doğru) ise, programcı muhtemelen tüm dosya tanıtıcılarını tamamlamalıdır. Bu işlemden sonra XferDoneHandler'ın ç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 yapılır.

Aktarım işlemini başlatırken siz yapmadıysanız bu fırsatı kullanarak dosyaları açabilir veya aktarım için kaynak tahsis edebilirsiniz.

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

ReceiveInitHandler

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

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

İşlemin işi, Receive (Alım) seçeneğini kabul etmek isteyip istemediğinizi belirlemek ve kabul ediliyorsa protokolün başlatan kişiye bir kabul mesajı göndermesi için aXfer->mIsaccepted=true değerini ayarlamaktır. BDXTransfer nesnesi varsayılan ayarlara göre başlatılır. Bu, aXfer->mAppState'e herhangi bir uygulamaya özel durumu (açık dosya tanıtıcıları vb.) eklemek için iyi bir yerdir. Ayrıca, BDXTransfer nesnesine işlenmesini engeller. kStatus_Success dışında bir hata kodu döndürülürse aktarımın reddedildiği varsayılır ve protokol kodla birlikte bir ret mesajı gönderir.

Ayrıntılar
Parametreler
[in] aXfer
Bu aktarımla ilişkili BDXTransfer'in işaretçisi
[in] aReceiveInitMsg
İşlediğimiz 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'in işaretçisi
[in] aReport
İşlediğimiz Durum Raporu 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 yapılır.

Aktarım işlemini başlatırken siz yapmadıysanız bu fırsatı kullanarak dosyaları açabilir veya aktarım için kaynak tahsis edebilirsiniz.

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

SendInitHandler

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

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

Sunucunun işi, SendInit'i kabul etmek isteyip istemediğinizi belirlemek ve kabul edilirse protokolün başlatan kişiye bir kabul mesajı göndermesi için aXfer->mIsaccepted=true değerini ayarlamaktır. BDXTransfer nesnesi varsayılan ayarlara göre başlatılır. Bu, aXfer->mAppState'e, uygulamaya özel herhangi bir durumu (açık dosya tanıtıcıları vb.) eklemek için iyi bir yerdir. Ayrıca, BDXTransfer nesnesine işlenmesini engeller. WEAVE_NO_ERROR 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 mesajı göndermeyi işler.

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

XferDoneHandler

void(* XferDoneHandler)(BDXTransfer *aXfer)

Aktarımın tamamlandığı destek yazışmalarını yönetme.

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

XferErrorHandler

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

BDX tarafından alınan veya gönderilen TransferError mesajlarını işleme.

Not: BDX aktarımının kurtarılabileceği (muhtemelen geçici bir durum (ör.şu anda PacketBuffers'ın dışında) olduğu varsayılır. Bu nedenle, Shutdown() işlevini çağırma seçeneği uygulama programcısına ve tanımladığı geri çağırmalara bırakılır. YAPILACAKLAR: Bunu doğrulayın ve BDX belgesindeki dille aynısını yapın. Söz konusu dil şudur: "[A TransferError] Taraflardan biri tarafından herhangi bir zamanda toplu veri aktarımını sonlandırabiliriz."

Ayrıntılar
Parametreler
[in] aXfer
Bu aktarımla ilişkili BDXTransfer'in işaretçisi
[in] aXferError
İşlediğimiz Durum Raporu 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 onayı yok) ve WRMP için derleme süresi desteğine bağlı olarak RequestAck alanı için uygun işareti döndürür.

Ayrıntılar
Parametreler
[in] anEc
İşareti almamız gereken exchange bağlamı
İadeler
0 veya kSendFlag_RequestAck