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

#include <src/lib/profiles/bulk-data-transfer/Development/BDXMessages.h>

Wiadomość SendInit służy do rozpoczynania wymiany, gdy nadawca jest inicjatorem.

Podsumowanie

Dziedziczenie

Bezpośrednie znane podklasy: nl::Weave::Profiles::BDX_Development::ReceiveInit

Konstruktory i niszczyciele

SendInit(void)

Typy publiczne

MetaDataTLVWriteCallback)(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState) typedef
MetaDataTLVWriteCallback zapewnia sposób, za pomocą którego klient może dostarczyć obiekt SendInit z dowolnymi metadanymi.

Atrybuty publiczne

mAsynchronousModeSupported
bool
Prawda, jeśli obsługujemy tryb asynchroniczny.
mDefiniteLength
bool
Prawda, jeśli pole długości jest obecne.
mFileDesignator
Ciąg tekstowy zawierający wynegocjowane wstępnie informacje.
mLength
uint64_t
Proponowana długość przesyłanych danych, 0 – czas nieokreślony.
mMaxBlockSize
uint16_t
Proponowany maksymalny rozmiar bloku do użycia podczas przenoszenia.
mMetaData
Opcjonalne metadane TLV.
mMetaDataAppState
void *
Opcjonalny stan aplikacji dla metadanych TLV.
mMetaDataWriteCallback
Opcjonalna funkcja zapisu metadanych TLV.
mReceiverDriveSupported
bool
Prawda, jeśli obsługujemy napęd odbiornika.
mSenderDriveSupported
bool
Prawda, jeśli obsługujemy Dysk nadawcy.
mStartOffset
uint64_t
Proponowane przesunięcie czasu rozpoczęcia danych.
mStartOffsetPresent
bool
Prawda, jeśli pole przesunięcia początkowego jest obecne.
mVersion
uint8_t
Wersja protokołu BDX, na którą zdecydowaliśmy się.
mWideRange
bool
Wartość to „prawda”, jeśli przesunięcie i długość to 64 bity.

Funkcje publiczne

init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Zainicjuj „szeroki” SendInit.
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Zainicjuj zasób „nieszeroki” SendInit (32-bitowe przesunięcie czasu rozpoczęcia, długość 32 bity)
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
Zainicjuj „szeroki” SendInit.
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
Zainicjuj zasób „nieszeroki” SendInit (32-bitowe przesunięcie czasu rozpoczęcia, długość 32 bity)
operator==(const SendInit &) const
bool
Porównanie równości między wiadomościami SendInit.
pack(PacketBuffer *aBuffer)
Zapakuj wiadomość inicjującą wysyłanie do bufora PacketBuffer.
packedLength(void)
uint16_t
Zwraca spakowaną długość tej wiadomości inicjowanej wysyłania.

Publiczne funkcje statyczne

parse(PacketBuffer *aBuffer, SendInit & aRequest)
Przeanalizować dane z PacketBuffer do formatu wiadomości SendInit.

Typy publiczne

MetaDataTLVWriteCallback

WEAVE_ERROR(* MetaDataTLVWriteCallback)(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState)

MetaDataTLVWriteCallback zapewnia sposób, za pomocą którego klient może dostarczyć obiekt SendInit z dowolnymi metadanymi.

Klient może udostępniać wstępnie zakodowane TLV (szybciej), kodować na bieżąco (zużywa mniej pamięci), leniwe kodowanie (szybciej podczas uruchamiania) itd. według własnego uznania.

We wszystkich przypadkach zakłada się, że dane wygenerowane przez wywołanie zwrotne są stałe dla danej wartości SendInit, tj. nie zmieniają się bez względu na to, kiedy zostaną wywołane. Dzieje się tak, ponieważ wywołanie zwrotne służy też do obliczania długości dowolnego zapisanego TLV, którego można zażądać w dowolnym momencie.

Szczegóły
Parametry
[in] aBuffer
Bufor miejsca docelowego, w którym można zapisać część parametru TLV
[in] aBufferLength
Długość bufora docelowego (w bajtach)
[in,out] aNumBytesWritten
Liczba bajtów zapisanych w buforze docelowym
[in] aAppState
Stan aplikacji podany przez użytkownika
Zwracane wartości
WEAVE_ERROR
Wystąpił błąd.

Atrybuty publiczne

mAsynchronousModeSupported

bool mAsynchronousModeSupported

Prawda, jeśli obsługujemy tryb asynchroniczny.

mDefiniteLength

bool mDefiniteLength

Prawda, jeśli pole długości jest obecne.

mFileDesignator

ReferencedString mFileDesignator

Ciąg tekstowy zawierający wynegocjowane wstępnie informacje.

mLength

uint64_t mLength

Proponowana długość przesyłanych danych, 0 – czas nieokreślony.

mMaxBlockSize

uint16_t mMaxBlockSize

Proponowany maksymalny rozmiar bloku do użycia podczas przenoszenia.

mMetaData

ReferencedTLVData mMetaData

Opcjonalne metadane TLV.

mMetaDataAppState

void * mMetaDataAppState

Opcjonalny stan aplikacji dla metadanych TLV.

mMetaDataWriteCallback

MetaDataTLVWriteCallback mMetaDataWriteCallback

Opcjonalna funkcja zapisu metadanych TLV.

mReceiverDriveSupported

bool mReceiverDriveSupported

Prawda, jeśli obsługujemy napęd odbiornika.

mSenderDriveSupported

bool mSenderDriveSupported

Prawda, jeśli obsługujemy Dysk nadawcy.

mStartOffset

uint64_t mStartOffset

Proponowane przesunięcie czasu rozpoczęcia danych.

mStartOffsetPresent

bool mStartOffsetPresent

Prawda, jeśli pole przesunięcia początkowego jest obecne.

mVersion

uint8_t mVersion

Wersja protokołu BDX, na którą zdecydowaliśmy się.

mWideRange

bool mWideRange

Wartość to „prawda”, jeśli przesunięcie i długość to 64 bity.

Funkcje publiczne

SendInit

 SendInit(
  void
)

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint64_t aStartOffset,
  uint64_t aLength,
  ReferencedString & aFileDesignator,
  ReferencedTLVData *aMetaData
)

Zainicjuj „szeroki” SendInit.

Szczegóły
Parametry
[in] aVersion
Używana wersja BDX
[in] aSenderDrive
Prawda, jeśli nadawca jedzie
[in] aReceiverDrive
Prawda, jeśli odbiornik jedzie
[in] aAsynchMode
Prawda, jeśli urządzenie obsługuje tryb asynchroniczny
[in] aMaxBlockSize
Propozycja maksymalnego rozmiaru bloku na potrzeby tego transferu
[in] aStartOffset
Odsunięcie rozpoczęcia w pliku, od którego powinniśmy zacząć
[in] aLength
Długość pliku do przeniesienia – wartość 0 oznacza, że ma nieokreśloną długość
[in] aFileDesignator
Ciąg znaków określający dane do przeniesienia
[in] aMetaData
(Opcjonalnie) Dodatkowe dane w formacie TLV
Zwroty
WEAVE_NO_ERROR w przypadku powodzenia

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint32_t aStartOffset,
  uint32_t aLength,
  ReferencedString & aFileDesignator,
  ReferencedTLVData *aMetaData
)

Zainicjuj zasób „nieszeroki” SendInit (32-bitowe przesunięcie czasu rozpoczęcia, długość 32 bity)

Szczegóły
Parametry
[in] aVersion
Używana wersja BDX
[in] aSenderDrive
Prawda, jeśli nadawca jedzie
[in] aReceiverDrive
Prawda, jeśli odbiornik jedzie
[in] aAsynchMode
Prawda, jeśli urządzenie obsługuje tryb asynchroniczny
[in] aMaxBlockSize
Propozycja maksymalnego rozmiaru bloku na potrzeby tego transferu
[in] aStartOffset
Odsunięcie rozpoczęcia w pliku, od którego powinniśmy zacząć
[in] aLength
Długość pliku do przeniesienia – wartość 0 oznacza, że ma nieokreśloną długość
[in] aFileDesignator
Ciąg znaków określający dane do przeniesienia
[in] aMetaData
(Opcjonalnie) Dodatkowe dane w formacie TLV
Zwroty
WEAVE_NO_ERROR w przypadku powodzenia

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint64_t aStartOffset,
  uint64_t aLength,
  ReferencedString & aFileDesignator,
  MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

Zainicjuj „szeroki” SendInit.

Szczegóły
Parametry
[in] aVersion
Używana wersja BDX
[in] aSenderDrive
Prawda, jeśli nadawca jedzie
[in] aReceiverDrive
Prawda, jeśli odbiornik jedzie
[in] aAsynchMode
Prawda, jeśli urządzenie obsługuje tryb asynchroniczny
[in] aMaxBlockSize
Propozycja maksymalnego rozmiaru bloku na potrzeby tego transferu
[in] aStartOffset
Odsunięcie rozpoczęcia w pliku, od którego powinniśmy zacząć
[in] aLength
Długość pliku do przeniesienia – wartość 0 oznacza, że ma nieokreśloną długość
[in] aFileDesignator
Ciąg znaków określający dane do przeniesienia
[in] aMetaDataWriteCallback
(opcjonalnie) funkcja zapisu dodatkowych danych w formacie TLV;
[in] aMetaDataAppState
Opcjonalny kontekst przekazywany do funkcji aMetaDataWriteCallback
Zwroty
WEAVE_NO_ERROR w przypadku powodzenia

init

WEAVE_ERROR init(
  uint8_t aVersion,
  bool aSenderDrive,
  bool aReceiverDrive,
  bool aAsynchMode,
  uint16_t aMaxBlockSize,
  uint32_t aStartOffset,
  uint32_t aLength,
  ReferencedString & aFileDesignator,
  MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

Zainicjuj zasób „nieszeroki” SendInit (32-bitowe przesunięcie czasu rozpoczęcia, długość 32 bity)

Szczegóły
Parametry
[in] aVersion
Używana wersja BDX
[in] aSenderDrive
Prawda, jeśli nadawca jedzie
[in] aReceiverDrive
Prawda, jeśli odbiornik jedzie
[in] aAsynchMode
Prawda, jeśli urządzenie obsługuje tryb asynchroniczny
[in] aMaxBlockSize
Propozycja maksymalnego rozmiaru bloku na potrzeby tego transferu
[in] aStartOffset
Odsunięcie rozpoczęcia w pliku, od którego powinniśmy zacząć
[in] aLength
Długość pliku do przeniesienia – wartość 0 oznacza, że ma nieokreśloną długość
[in] aFileDesignator
Ciąg znaków określający dane do przeniesienia
[in] aMetaDataWriteCallback
(opcjonalnie) funkcja zapisu dodatkowych danych w formacie TLV;
[in] aMetaDataAppState
(opcjonalnie) Kontekst, który ma zostać przekazany z powrotem do funkcji wywołania zwrotnego
Zwroty
WEAVE_NO_ERROR w przypadku powodzenia

operator==

bool operator==(
  const SendInit &
) const 

Porównanie równości między wiadomościami SendInit.

Szczegóły
Parametry
[in] another
Kolejna wiadomość SendInit do porównania z tą wiadomością
Zwroty
Prawda, że mają wszystkie te same pola.

paczka

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

Zapakuj wiadomość inicjującą wysyłanie do bufora PacketBuffer.

Szczegóły
Parametry
[out] aBuffer
Pakiet PacketBuffer do pakowania wiadomości SendInit
Zwracane wartości
WEAVE_NO_ERROR
Jeśli się uda
WEAVE_ERROR_BUFFER_TOO_SMALL
Jeśli bufor jest za mały

packedLength

uint16_t packedLength(
  void
)

Zwraca spakowaną długość tej wiadomości inicjowanej wysyłania.

Szczegóły
Zwroty
długość zapakowanej wiadomości

Publiczne funkcje statyczne

analizowa

WEAVE_ERROR parse(
  PacketBuffer *aBuffer,
  SendInit & aRequest
)

Przeanalizować dane z PacketBuffer do formatu wiadomości SendInit.

Szczegóły
Parametry
[in] aBuffer
Wskaźnik do obiektu PacketBuffer zawierającego dane, które chcemy przeanalizować
[out] aRequest
Wskaźnik do obiektu SendInit, w którym mają być przechowywane wyniki.
Zwracane wartości
WEAVE_NO_ERROR
Jeśli się uda
WEAVE_ERROR_BUFFER_TOO_SMALL
Jeśli bufor jest za mały