nl:: Weave:: Profiles:: BDX_Development
Ta przestrzeń nazw obejmuje wszystkie interfejsy Weave na potrzeby profilu BDX, które są w trakcie opracowywania i nie powinny być używane do celów produkcyjnych.
Podsumowanie
Wyliczenia |
|
---|---|
@80
|
enum | typ wyliczeniowy |
@81
|
enum | typ wyliczeniowy |
@82
|
enum | typ wyliczeniowy |
@83
|
enum | typ wyliczeniowy |
Definicje typów |
|
---|---|
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łędu do przepływu sterowania zdefiniowanego przez użytkownika. |
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 długości. |
ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
|
typedef Wywołanie zwrotne jest wywoływane po zaakceptowaniu wysłanej wcześniej przez serwer wartości ReceiveInit przez miejsce docelowe. |
ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
|
typedefuint16_t(*
Wywołanie zwrotne jest wywoływane po otrzymaniu 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 wcześniej wysłana wartość SendInit została zaakceptowana przez miejsce docelowe. |
SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
|
typedefuint16_t(*
Wywołanie zwrotne jest wywoływane po otrzymaniu wiadomości SendInit. |
XferDoneHandler)(BDXTransfer *aXfer)
|
typedefvoid(*
Obsługa przypadków, w których przenoszenie zostało zakończone. |
XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
|
typedefvoid(*
Obsługa komunikatów TransferError otrzymanych lub wysłanych przez BDX. |
Funkcje |
|
---|---|
GetBDXAckFlag(ExchangeContext *anEc)
|
uint16_t
GetBDXAckFlag zwraca odpowiednią flagę pola RequestAck w zależności od połączenia kontekstu giełdy (bez potwierdzenia żądania dla TCP) i na podstawie obsługi czasu kompilowania 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:: |
Komunikat BlockEOF służy do przenoszenia 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:: |
Komunikat BlockEOFV1 służy do przesyłania ostatniego bloku danych od nadawcy do odbiorcy. |
nl:: |
Komunikat BlockQuery służy do żądania przesłania bloku danych od nadawcy do odbiorcy. |
nl:: |
Komunikat BlockQueryV1 służy do żądania przesłania bloku danych od nadawcy do odbiorcy. |
nl:: |
Wiadomość BlockSend służy do przenoszenia bloku danych od nadawcy do odbiorcy. |
nl:: |
Komunikat BlockSendV1 służy do przenoszenia bloku danych od nadawcy do odbiorcy. |
nl:: |
Komunikat ReceiveAccept służy do akceptowania proponowanej wymiany, gdy odbiorca jest inicjatorem. |
nl:: |
Komunikat ReceiveInit służy do rozpoczęcia wymiany, gdy odbiorca jest inicjatorem. |
nl:: |
Wiadomość ReceiveReject służy do odrzucania proponowanej wymiany, jeśli jej nadawca jest inicjatorem. |
nl:: |
Wiadomość SendAccept służy do akceptowania proponowanej wymiany, gdy nadawca jest inicjatorem. |
nl:: |
Wiadomość SendInit służy do rozpoczęcia wymiany, gdy nadawca jest inicjatorem. |
nl:: |
Wiadomość SendReject służy do odrzucania proponowanej wymiany, gdy nadawca jest inicjatorem. |
nl:: |
Komunikat o błędzie służy do zgłaszania błędów i przerwania wymiany. |
Konstrukcja |
|
---|---|
nl:: |
|
nl:: |
Ta struktura zawiera dane reprezentujące aktywny transfer BDX. |
Przestrzenie nazw |
|
---|---|
nl:: |
Wyliczenia
@80
@80
@81
@81
@82
@82
@83
@83
Definicje typów
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łędu do przepływu sterowania zdefiniowanego przez użytkownika.
Oznacza to, że jeśli błąd wystąpi w innym module obsługi, którego podpis jest nieważny (np. w odpowiedzi na przychodzącą wiadomość Weave lub nawet przysłaną przez protokół), ten moduł zostanie wywołany, aby użytkownik mógł określić, czy transfer może zostać przywrócony i kontynuowany, czy też powinien wywołać funkcję Shutdown(). Pamiętaj, że błąd może wystąpić przed zainicjowaniem zbyt wielu przydzielonych obiektów BDXTransfer (np. W takim przypadku wspomniany błąd będzie rejestrowany przez Weave, a protokół zajmie się oczyszczaniem w przypadku przydzielonego przez niego stanu.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
GetBlockHandler
void(* GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
Get a block of data to be transmitted.
Wywołujący zapewnia przestrzeń do buforowania (bufor i długość bufora, przekazane przez odwołanie). Wywoływana (aplikacja użytkownika) POWINNA używać udostępnionego bufora, ale ze względu na zgodność wsteczną może zwracać własny bufor. Wywołujący nie może podać więcej niż aLength
bajtów. Po zwróceniu aLength
zawiera faktyczną 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 długości.
Prawdopodobnie będzie to wymagać zapisania go w pliku i zamknięcia, jeśli parametr isLastBlock ma wartość prawda.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
ReceiveAcceptHandler
WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
Wywołanie zwrotne jest wywoływane po zaakceptowaniu wysłanej wcześniej przez serwer wartości ReceiveInit przez miejsce docelowe.
Skorzystaj z tej możliwości, aby otworzyć pliki lub przydzielić zasoby na potrzeby transferu, jeśli nie zostało to zrobione podczas inicjowania transferu.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
ReceiveInitHandler
uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
Wywołanie zwrotne jest wywoływane po otrzymaniu komunikatu ReceiveInit.
Jego zadaniem jest określenie, czy chcesz akceptować odbieranie, a jeśli tak, ustaw aXfer->mIsAccepted=true, tak aby protokół wysyłał wiadomość do inicjatora. Obiekt BDXTransfer zostanie zainicjowany do ustawień domyślnych. W tym miejscu możesz dołączyć dowolny stan specyficzny dla aplikacji (otwarte uchwyty plików itp.) do aXfer->mAppState. W tym momencie musisz też dołączyć potrzebne moduły obsługi, na przykład blok, do obiektu BDXTransfer. W przypadku zwrócenia kodu błędu innego niż kStatus_TRUE przyjmuje się, że transfer został odrzucony, 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 wcześniej wysłana wartość SendInit została zaakceptowana przez miejsce docelowe.
Skorzystaj z tej możliwości, aby otworzyć pliki lub przydzielić zasoby na potrzeby transferu, jeśli nie zostało to zrobione podczas inicjowania transferu.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
SendInitHandler
uint16_t(* SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
Wywołanie zwrotne jest wywoływane po otrzymaniu wiadomości SendInit.
Jego zadaniem jest określenie, czy chcesz zaakceptować parametr SendInit. Jeśli tak, ustaw wartość aXfer->mIsAccepted=true, tak aby protokół wysłał do inicjatora wiadomość o zaakceptowaniu. Obiekt BDXTransfer zostanie zainicjowany do ustawień domyślnych. W tym miejscu możesz dołączyć dowolny stan specyficzny dla aplikacji (otwarte uchwyty plików itp.) do aXfer->mAppState. W tym momencie musisz też dołączyć potrzebne moduły obsługi, na przykład blok, do obiektu BDXTransfer. W przypadku zwrócenia kodu błędu innego niż WEAVE_NO_ERROR przyjmuje się, że transfer został odrzucony, a protokół obsługuje wysyłanie z kodem komunikatu o odrzuceniu.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
XferDoneHandler
void(* XferDoneHandler)(BDXTransfer *aXfer)
Obsługa przypadków, w których przenoszenie zostało zakończone.
Szczegóły | |||
---|---|---|---|
Parametry |
|
XferErrorHandler
void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
Obsługa komunikatów TransferError otrzymanych lub wysłanych przez BDX.
Uwaga: zakłada się, że transfer BDX można przywrócić (prawdopodobnie tymczasowo, na przykład z Buforów pakietów), więc opcja wywołania funkcji Shutdown() jest pozostawiana programistom aplikacji i zdefiniowanym przez niego wywołaniach zwrotnych. DO ZROBIENIA: sprawdź to i uzgodnij z tekstem w dokumencie BDX, który brzmi: „[A TransferError] Może zostać wysłany w dowolnym momencie przez dowolną ze stron, aby przedwcześnie zakończyć przesyłanie danych”.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Funkcje
GetBDXAckFlag
uint16_t GetBDXAckFlag( ExchangeContext *anEc )
GetBDXAckFlag zwraca odpowiednią flagę pola RequestAck w zależności od połączenia kontekstu giełdy (bez potwierdzenia żądania dla TCP) i na podstawie obsługi czasu kompilowania WRMP.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
0 lub kSendFlag_RequestAck
|