nl:: Weave:: Profiles:: BDX_Development
Ta przestrzeń nazw obejmuje wszystkie interfejsy Weave w profilu BDX, które są obecnie w fazie rozwoju i nie powinny być używane w środowisku produkcyjnym.
Podsumowanie
Wyliczenia |
|
---|---|
@80
|
enum | typ wyliczeniowy |
@81
|
enum | typ wyliczeniowy |
@82
|
enum | typ wyliczeniowy |
@83
|
enum | typ wyliczeniowy |
Definiuje typ |
|
---|---|
BdxClient
|
typedef |
BdxServer
|
typedef |
ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
|
typedefvoid(*
Ten moduł obsługi jest wywoływany za każdym razem, gdy wystąpi błąd Weave, którego nie można zwrócić bezpośrednio za pomocą kodów błędów do zdefiniowanego przez użytkownika procesu sterowania. |
GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
|
typedefvoid(*
Get a block of data to be transmitted. |
PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
|
typedefvoid(*
Obsługa bloku danych wskazywanego przez element aDataBlock o długości aLength. |
ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
|
typedef Wywołanie zwrotne jest wywoływane, gdy wysłane wcześniej dane ReceiveInit zostaną zaakceptowane przez miejsce docelowe. |
ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
|
typedefuint16_t(*
Wywołanie zwrotne jest wywoływane w przypadku otrzymania komunikatu ReceiveInit. |
RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
|
typedefvoid(*
Wywoływana, jeśli jedna z poprzednich wiadomości Init została odrzucona przez miejsce docelowe. |
SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
|
typedef Wywołanie zwrotne jest wywoływane, gdy poprzednio wysłany sygnał SendInit został zaakceptowany przez miejsce docelowe. |
SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
|
typedefuint16_t(*
Wywołanie zwrotne jest wywoływane w przypadku otrzymania wiadomości SendInit. |
XferDoneHandler)(BDXTransfer *aXfer)
|
typedefvoid(*
Zajmij się zgłoszeniami, w których przypadku przenoszenie zostało zakończone. |
XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
|
typedefvoid(*
Obsługuj wiadomości z komunikatem TransferError odebrane lub wysłane przez BDX. |
Funkcje |
|
---|---|
GetBDXAckFlag(ExchangeContext *anEc)
|
uint16_t
GetBDXAckFlag zwraca odpowiednią flagę dla pola RequestAck w zależności od połączenia w ramach giełdy (brak potwierdzenia żądania w przypadku TCP) oraz na podstawie obsługi czasu kompilacji przez WRMP.
|
Zajęcia |
|
---|---|
nl:: |
|
nl:: |
Komunikat BlockAck służy do potwierdzenia bloku danych. |
nl:: |
Komunikat BlockAckV1 służy do potwierdzenia bloku danych. |
nl:: |
Wiadomość BlockEOF służy do przesłania ostatniego bloku danych od nadawcy do odbiorcy. |
nl:: |
Komunikat BlockEOFAck służy do potwierdzenia ostatniego bloku danych. |
nl:: |
Komunikat BlockEOFAckV1 służy do potwierdzenia ostatniego bloku danych. |
nl:: |
Wiadomość BlockEOFV1 służy do przesłania ostatniego bloku danych od nadawcy do odbiorcy. |
nl:: |
Komunikat BlockQuery służy do żądania, by wysłać blok danych od nadawcy do odbiorcy. |
nl:: |
Komunikat BlockQueryV1 służy do żądania, aby blok danych został przesłany od nadawcy do odbiorcy. |
nl:: |
Wiadomość BlockSend służy do przenoszenia bloku danych od nadawcy do odbiorcy. |
nl:: |
Wiadomość BlockSendV1 służy do przenoszenia bloku danych od nadawcy do odbiorcy. |
nl:: |
Komunikat ReceiveAccept służy do zaakceptowania proponowanej wymiany, gdy inicjatorem jest odbiorca. |
nl:: |
Komunikat ReceiveInit służy do rozpoczynania wymiany, gdy inicjatorem jest odbiorca. |
nl:: |
Wiadomość ReceiveReject służy do odrzucenia proponowanej wymiany, gdy inicjator jest inicjatorem. |
nl:: |
Wiadomość SendAccept służy do zaakceptowania proponowanej wymiany, gdy nadawca jest inicjatorem. |
nl:: |
Wiadomość SendInit służy do rozpoczynania wymiany, gdy nadawca jest inicjatorem. |
nl:: |
Wiadomość SendReject służy do odrzucenia proponowanej wymiany, gdy inicjator jest inicjatorem. |
nl:: |
Komunikat o błędzie służy do zgłoszenia błędu i przerwania wymiany. |
Struktura |
|
---|---|
nl:: |
|
nl:: |
Ta struktura zawiera użytkowników danych reprezentujących aktywny transfer BDX. |
Przestrzenie nazw |
|
---|---|
nl:: |
Wyliczenia
@80
@80
@81
@81
@82
@82
@83
@83
Definiuje typ
BdxClient
BdxNode BdxClient
BdxServer
BdxNode BdxServer
ErrorHandler
void(* ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
Ten moduł obsługi jest wywoływany za każdym razem, gdy wystąpi błąd Weave, którego nie można zwrócić bezpośrednio za pomocą kodów błędów do zdefiniowanego przez użytkownika procesu sterowania.
Oznacza to, że jeśli wystąpi błąd w innym module obsługi, którego podpis ma zwrot typu „void” (np. w odpowiedzi na przychodzącą wiadomość Weave, czy nawet wysłany przez protokół), ten moduł obsługi zostanie wywołany, aby użytkownik mógł określić, czy transfer można przywrócić i kontynuować, czy powinien wywołać funkcję Disabledown(). Przed zainicjowaniem funkcji BDXTransfer może wystąpić błąd (np. zbyt wiele przydzielonych obiektów transferu). W takim przypadku taki błąd zostanie zarejestrowany przez Weave, a protokół będzie usuwał przydzielony niezbędny stan.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
GetBlockHandler
void(* GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
Get a block of data to be transmitted.
Element wywołujący podaje miejsce buforowania (bufor i długość bufora przekazywane przez odwołanie). Wywołana (aplikacja użytkownika) POWINNA używać podanego bufora, ale ze względu na zgodność wsteczną może zwrócić własny bufor. Odbiorca nie może podać więcej niż aLength
bajtów. Zwrócony ciąg aLength
zawiera rzeczywistą liczbę bajtów odczytanych do bufora.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
PutBlockHandler
void(* PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
Obsługa bloku danych wskazywanego przez element aDataBlock o długości aLength.
Prawdopodobnie spowoduje to zapisanie go w pliku i zamknięcie tego pliku, jeśli zasada isLastBlock ma wartość true (prawda).
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
ReceiveAcceptHandler
WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
Wywołanie zwrotne jest wywoływane, gdy wysłane wcześniej dane ReceiveInit zostaną zaakceptowane przez miejsce docelowe.
Możesz skorzystać z tej możliwości, aby otworzyć pliki lub przydzielić zasoby do przeniesienia, jeśli nie zostało to zrobione podczas jego inicjowania.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
ReceiveInitHandler
uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
Wywołanie zwrotne jest wywoływane w przypadku otrzymania komunikatu ReceiveInit.
Jego zadaniem jest określenie, czy chcesz zaakceptować odbieranie, a jeśli tak, ustaw parametr aXfer->mIsAccepted=true, tak aby protokół wysyłał wiadomość o zaakceptowaniu do inicjatora. Obiekt BDXTransfer inicjuje działanie z użyciem ustawień domyślnych. W tym miejscu możesz dołączyć dowolny stan aplikacji (otwarte uchwyty plików itp.) do aXfer->mAppState. Dołącz też niezbędne moduły obsługi, np. do obiektu BDXTransfer. Jeśli zostanie zwrócony kod błędu inny niż kStatus_Success, przyjmuje się, że przesyłanie zostało odrzucone, a protokół obsługuje wysyłanie wiadomości o odrzuceniu z kodem.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
RejectHandler
void(* RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
Wywoływana, jeśli jedna z poprzednich wiadomości Init została odrzucona przez miejsce docelowe.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
SendAcceptHandler
WEAVE_ERROR(* SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
Wywołanie zwrotne jest wywoływane, gdy poprzednio wysłany sygnał SendInit został zaakceptowany przez miejsce docelowe.
Możesz skorzystać z tej możliwości, aby otworzyć pliki lub przydzielić zasoby do przeniesienia, jeśli nie zostało to zrobione podczas jego inicjowania.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
SendInitHandler
uint16_t(* SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
Wywołanie zwrotne jest wywoływane w przypadku otrzymania wiadomości SendInit.
Jego zadaniem jest określenie, czy chcesz zaakceptować SendInit, a jeśli tak, ustaw parametr aXfer->mIsAccepted=true, tak aby protokół wysyłał komunikat o zaakceptowaniu do inicjatora. Obiekt BDXTransfer inicjuje działanie z użyciem ustawień domyślnych. W tym miejscu możesz dołączyć dowolny stan aplikacji (otwarte uchwyty plików itp.) do aXfer->mAppState. Dołącz też niezbędne moduły obsługi, np. do obiektu BDXTransfer. Jeśli zostanie zwrócony kod błędu inny niż WEAVE_NO_ERROR, przyjmuje się, że przesyłanie zostało odrzucone, a protokół obsługuje wysyłanie wiadomości o odrzuceniu z tym kodem.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
XferDoneHandler
void(* XferDoneHandler)(BDXTransfer *aXfer)
Zajmij się zgłoszeniami, w których przypadku przenoszenie zostało zakończone.
Szczegóły | |||
---|---|---|---|
Parametry |
|
XferErrorHandler
void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
Obsługuj wiadomości z komunikatem TransferError odebrane lub wysłane przez BDX.
Uwaga: zakłada się, że transfer BDX da się odzyskać (prawdopodobnie tymczasowo, np. z bufora PacketBuffers), więc możliwość wywołania funkcji Disabledown() pozostawia programiście aplikacji i zdefiniowanym przez niego wywołaniem zwrotnym. DO ZROBIENIA: zweryfikuj to i uzgodnij je z sformułowaniem w dokumencie BDX, w którym stwierdza się: „[Błąd transferu] Może zostać wysłany w dowolnym momencie przez dowolną ze stron, aby przedwcześnie zakończenia zbiorczego przesyłania danych.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Funkcje
GetBDXAckFlag
uint16_t GetBDXAckFlag( ExchangeContext *anEc )
GetBDXAckFlag zwraca odpowiednią flagę dla pola RequestAck w zależności od połączenia w ramach giełdy (brak potwierdzenia żądania w przypadku TCP) oraz na podstawie obsługi czasu kompilacji przez WRMP.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
0 lub kSendFlag_RequestAck
|