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

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

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

Podsumowanie

Dziedziczenie

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

Konstruktorzy i niszczyciele

SendInit(void)

Typy publiczne

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

Atrybuty publiczne

mAsynchronousModeSupported
bool
Prawda, jeśli możemy obsługiwać tryb asynchroniczny.
mDefiniteLength
bool
Prawda, jeśli pole długości jest obecne.
mFileDesignator
Ciąg tekstowy zawierający wstępnie wynegocjowane informacje.
mLength
uint64_t
Proponowana długość przesyłanych danych, 0 dla nieokreślonego czasu.
mMaxBlockSize
uint16_t
Proponowany maksymalny rozmiar bloku do przeniesienia.
mMetaData
Opcjonalne metadane TLV.
mMetaDataAppState
void *
Opcjonalny stan aplikacji na potrzeby metadanych TLV.
mMetaDataWriteCallback
Opcjonalna funkcja zapisu metadanych TLV.
mReceiverDriveSupported
bool
Wartość to prawda, jeśli możemy obsługiwać dysk odbiornika.
mSenderDriveSupported
bool
Prawda, jeśli możemy obsługiwać Dysk nadawcy.
mStartOffset
uint64_t
Proponowane przesunięcie początkowe danych.
mStartOffsetPresent
bool
Prawda, jeśli pole przesunięcia początkowego jest obecne.
mVersion
uint8_t
Wybrana przez nas wersja protokołu BDX.
mWideRange
bool
Prawda, jeśli przesunięcie i długość są 64-bitowe.

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 „wide” SendInit.
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
Inicjowanie „nieszerokokątnego” SendInit (32-bitowe przesunięcie początkowe, długość 32 bitów)
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 „wide” 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)
Inicjowanie „nieszerokokątnego” SendInit (32-bitowe przesunięcie początkowe, długość 32 bitów)
operator==(const SendInit &) const
bool
Porównanie równości między wiadomościami SendInit.
pack(PacketBuffer *aBuffer)
Zapakuj wysyłanie wiadomości inicjowanej do bufora pakietów.
packedLength(void)
uint16_t
Zwraca spakowaną długość tej wiadomości inicjowania wysyłania.

Publiczne funkcje statyczne

parse(PacketBuffer *aBuffer, SendInit & aRequest)
Analizuj dane z PacketBuffer na format wiadomości SendInit.

Typy publiczne

MetaDataTLVWriteCallback

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

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

Klient może dostarczyć wstępnie zakodowany TLV (szybciej), kodować w czasie rzeczywistym (zajmuje mniej pamięci), leniwe kodowanie (szybciej przy uruchamianiu) itp. według własnego uznania.

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

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

Atrybuty publiczne

mAsynchronousModeSupported

bool mAsynchronousModeSupported

Prawda, jeśli możemy obsługiwać tryb asynchroniczny.

mDefiniteLength

bool mDefiniteLength

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

mFileDesignator

ReferencedString mFileDesignator

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

mLength

uint64_t mLength

Proponowana długość przesyłanych danych, 0 dla nieokreślonego czasu.

mMaxBlockSize

uint16_t mMaxBlockSize

Proponowany maksymalny rozmiar bloku do przeniesienia.

mMetaData

ReferencedTLVData mMetaData

Opcjonalne metadane TLV.

mMetaDataAppState

void * mMetaDataAppState

Opcjonalny stan aplikacji na potrzeby metadanych TLV.

mMetaDataWriteCallback

MetaDataTLVWriteCallback mMetaDataWriteCallback

Opcjonalna funkcja zapisu metadanych TLV.

mReceiverDriveSupported

bool mReceiverDriveSupported

Wartość to prawda, jeśli możemy obsługiwać dysk odbiornika.

mSenderDriveSupported

bool mSenderDriveSupported

Prawda, jeśli możemy obsługiwać Dysk nadawcy.

mStartOffset

uint64_t mStartOffset

Proponowane przesunięcie początkowe danych.

mStartOffsetPresent

bool mStartOffsetPresent

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

mVersion

uint8_t mVersion

Wybrana przez nas wersja protokołu BDX.

mWideRange

bool mWideRange

Prawda, jeśli przesunięcie i długość są 64-bitowe.

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 „wide” SendInit.

Szczegóły
Parametry
[in] aVersion
Używana przez nas wersja BDX
[in] aSenderDrive
Prawda, jeśli nadawca jedzie
[in] aReceiverDrive
Prawda, jeśli odbiorca jedzie
[in] aAsynchMode
Prawda, jeśli urządzenie obsługuje tryb asynchroniczny
[in] aMaxBlockSize
Propozycja maksymalnego rozmiaru bloku dla tego przeniesienia
[in] aStartOffset
Opóźnienie rozpoczęcia w pliku, od którego powinniśmy zacząć
[in] aLength
Długość pliku do przesłania – 0 oznacza, że ma on nieokreśloną długość.
[in] aFileDesignator
ciąg znaków określający dane do przesłania;
[in] aMetaData
(opcjonalnie) Dodatkowe dane w formacie TLV
Zwroty
Jeśli operacja się udała, to WEAVE_NO_ERROR.

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
)

Inicjowanie „nieszerokokątnego” SendInit (32-bitowe przesunięcie początkowe, długość 32 bitów)

Szczegóły
Parametry
[in] aVersion
Używana przez nas wersja BDX
[in] aSenderDrive
Prawda, jeśli nadawca jedzie
[in] aReceiverDrive
Prawda, jeśli odbiorca jedzie
[in] aAsynchMode
Prawda, jeśli urządzenie obsługuje tryb asynchroniczny
[in] aMaxBlockSize
Propozycja maksymalnego rozmiaru bloku dla tego przeniesienia
[in] aStartOffset
Opóźnienie rozpoczęcia w pliku, od którego powinniśmy zacząć
[in] aLength
Długość pliku do przesłania – 0 oznacza, że ma on nieokreśloną długość.
[in] aFileDesignator
ciąg znaków określający dane do przesłania;
[in] aMetaData
(opcjonalnie) Dodatkowe dane w formacie TLV
Zwroty
Jeśli operacja się udała, to WEAVE_NO_ERROR.

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 „wide” SendInit.

Szczegóły
Parametry
[in] aVersion
Używana przez nas wersja BDX
[in] aSenderDrive
Prawda, jeśli nadawca jedzie
[in] aReceiverDrive
Prawda, jeśli odbiorca jedzie
[in] aAsynchMode
Prawda, jeśli urządzenie obsługuje tryb asynchroniczny
[in] aMaxBlockSize
Propozycja maksymalnego rozmiaru bloku dla tego przeniesienia
[in] aStartOffset
Opóźnienie rozpoczęcia w pliku, od którego powinniśmy zacząć
[in] aLength
Długość pliku do przesłania – 0 oznacza, że ma on nieokreśloną długość.
[in] aFileDesignator
ciąg znaków określający dane do przesłania;
[in] aMetaDataWriteCallback
(opcjonalnie) Funkcja zapisywania dodatkowych danych w formacie TLV
[in] aMetaDataAppState
Opcjonalny kontekst przekazywany do wywołania aMetaDataWriteCallback
Zwroty
Jeśli operacja się udała, to WEAVE_NO_ERROR.

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
)

Inicjowanie „nieszerokokątnego” SendInit (32-bitowe przesunięcie początkowe, długość 32 bitów)

Szczegóły
Parametry
[in] aVersion
Używana przez nas wersja BDX
[in] aSenderDrive
Prawda, jeśli nadawca jedzie
[in] aReceiverDrive
Prawda, jeśli odbiorca jedzie
[in] aAsynchMode
Prawda, jeśli urządzenie obsługuje tryb asynchroniczny
[in] aMaxBlockSize
Propozycja maksymalnego rozmiaru bloku dla tego przeniesienia
[in] aStartOffset
Opóźnienie rozpoczęcia w pliku, od którego powinniśmy zacząć
[in] aLength
Długość pliku do przesłania – 0 oznacza, że ma on nieokreśloną długość.
[in] aFileDesignator
ciąg znaków określający dane do przesłania;
[in] aMetaDataWriteCallback
(opcjonalnie) Funkcja zapisywania dodatkowych danych w formacie TLV
[in] aMetaDataAppState
(opcjonalnie) Kontekst do przekazania z powrotem do funkcji wywołania zwrotnego
Zwroty
Jeśli operacja się udała, to WEAVE_NO_ERROR.

operator==

bool operator==(
  const SendInit &
) const 

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

Szczegóły
Parametry
[in] another
Kolejna wiadomość SendInit, z którą należy porównać tę
Zwroty
prawda, jeśli mają one te same pola.

paczka

WEAVE_ERROR pack(
  PacketBuffer *aBuffer
)

Zapakuj wysyłanie wiadomości inicjowanej do bufora pakietów.

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

packedLength

uint16_t packedLength(
  void
)

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

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

Publiczne funkcje statyczne

parse

WEAVE_ERROR parse(
  PacketBuffer *aBuffer,
  SendInit & aRequest
)

Analizuj dane z PacketBuffer na format wiadomości SendInit.

Szczegóły
Parametry
[in] aBuffer
Wskaźnik do bufora pakietów zawierającego dane, które chcesz przeanalizować
[out] aRequest
Wskaźnik do obiektu SendInit, w którym mamy zapisać wyniki
Zwracane wartości
WEAVE_NO_ERROR
Jeśli operacja się udała
WEAVE_ERROR_BUFFER_TOO_SMALL
Jeśli bufor jest za mały