nl::Weave::Profiles::BDX_Development::BDXTransfer

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

Ta struktura zawiera dane reprezentujące aktywny transfer BDX.

Podsumowanie

Te obiekty są używane przez BdxProtocol do utrzymania stanu protokołu. Zarządza nimi BdxServer, który obsługuje tworzenie i inicjowanie nowych transferów, w tym zarządzanie połączeniami i kontekstami Exchange.

Atrybuty publiczne

mAmInitiator
bool
mAmSender
bool
mAppState
void *
mBlockCounter
uint32_t
Następny numer bloku, który powinien otrzymać podczas wysyłania (BlockQuery lub BlockACK) po oficjalnym rozpoczęciu transferu.
mBytesSent
uint64_t
mExchangeContext
mFileDesignator
pliki/blokady danych powiązane DO ZROBIENIA: usunąć to? A może powinniśmy podpisać umowę na temat tego, jak ten ciąg znaków może wyglądać i jak będzie używany? Chodzi konkretnie o to, czy jest on obsługiwany przez bufor pakietów. Jeśli tak, prawdopodobnie nie powinien on pozostawać w pobliżu przez cały czas, ponieważ zajmuje to dużo miejsca.
mFirstQuery
bool
mHandlers
mIsAccepted
bool
mIsCompletedSuccessfully
bool
mIsInitiated
bool
mIsWideRange
bool
mLength
uint64_t
mMaxBlockSize
uint16_t
mNext)(BDXTransfer &)
mStartOffset
uint64_t
mTransferMode
uint8_t
mVersion
uint8_t

Funkcje publiczne

DispatchErrorHandler(WEAVE_ERROR anErrorCode)
void
Jeśli moduł obsługi błędów został skonfigurowany, wywołaj go.
DispatchGetBlockHandler(uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
void
Jeśli moduł obsługi get block jest ustawiony, wywołaj go.
DispatchPutBlockHandler(uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
void
Jeśli moduł obsługi put block został ustawiony, wywołaj go.
DispatchReceiveAccept(ReceiveAccept *aReceiveAcceptMsg)
Dyspozytorzy po prostu sprawdzają, czy moduł obsługi został skonfigurowany, a potem go wywołują, jeśli tak jest.
DispatchRejectHandler(StatusReport *aReport)
void
Jeśli moduł obsługi odrzucenia został ustawiony, wywołaj go.
DispatchSendAccept(SendAccept *aSendAcceptMsg)
Jeśli moduł obsługi wysyłania akceptacji wiadomości został ustawiony, wywołaj go.
DispatchXferDoneHandler(void)
void
Jeśli moduł obsługi ukończenia przenoszenia został ustawiony, wywołaj go.
DispatchXferErrorHandler(StatusReport *aXferError)
void
Jeśli moduł obsługi błędów transferu został ustawiony, wywołaj go.
GetDefaultFlags(bool aExpectResponse)
uint16_t
Ta funkcja zwraca domyślne flagi, które mają być wysyłane wraz z wiadomością.
IsAsync(void)
bool
 Returns true if this transfer is asynchronous, false otherwise.
IsDriver(void)
bool
 Returns true if this entity (node) is the driver for this transfer, false otherwise.
Reset(void)
void
 Sets all pointers to NULL, resets counters, etc.
SetHandlers(BDXHandlers aHandlers)
void
Ta funkcja ustawia moduły obsługi tego obiektu BDXTransfer.
Shutdown(void)
void
 Shuts down the current transfer, including closing any open ExchangeContext.

Atrybuty publiczne

mAmInitiator

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mAmInitiator

mAmSender

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mAmSender

mAppState

void * nl::Weave::Profiles::BDX_Development::BDXTransfer::mAppState

mBlockCounter

uint32_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mBlockCounter

Następny numer bloku, który powinien otrzymać podczas wysyłania (BlockQuery lub BlockACK) po oficjalnym rozpoczęciu transferu.

Jest to następny BlockSend lub ostatni wysłany przez nas BlockQuery (po oficjalnym rozpoczęciu przenoszenia i pierwszym wysłanym zapytaniu).

mBytesSent

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mBytesSent

mExchangeContext

ExchangeContext * nl::Weave::Profiles::BDX_Development::BDXTransfer::mExchangeContext

mFileDesignator

ReferencedString nl::Weave::Profiles::BDX_Development::BDXTransfer::mFileDesignator

pliki/blokady danych powiązane DO ZROBIENIA: usunąć to? A może powinniśmy podpisać umowę na temat tego, jak ten ciąg znaków może wyglądać i jak będzie używany? Chodzi konkretnie o to, czy jest on obsługiwany przez bufor pakietów. Jeśli tak, prawdopodobnie nie powinien on pozostawać w pobliżu przez cały czas, ponieważ zajmuje to dużo miejsca.

mFirstQuery

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mFirstQuery

mHandlers

BDXHandlers nl::Weave::Profiles::BDX_Development::BDXTransfer::mHandlers

mIsAccepted

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsAccepted

mIsCompletedSuccessfully

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsCompletedSuccessfully

mIsInitiated

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsInitiated

mIsWideRange

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsWideRange

mLength

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mLength

mMaxBlockSize

uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mMaxBlockSize

mNext

WEAVE_ERROR(* nl::Weave::Profiles::BDX_Development::BDXTransfer::mNext)(BDXTransfer &)

mStartOffset

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mStartOffset

mTransferMode

uint8_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mTransferMode

mVersion

uint8_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mVersion

Funkcje publiczne

DispatchErrorHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchErrorHandler(
  WEAVE_ERROR anErrorCode
)

Jeśli moduł obsługi błędów został skonfigurowany, wywołaj go.

Jeśli zasada nie jest skonfigurowana, wyłącz też przenoszenie jako działanie domyślne.

Szczegóły
Parametry
[in] anErrorCode
Kod błędu do przetworzenia

DispatchGetBlockHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler(
  uint64_t *aLength,
  uint8_t **aDataBlock,
  bool *aLastBlock
)

Jeśli moduł obsługi get block jest ustawiony, wywołaj go.

Szczegóły
Parametry
[in] aLength
Długość bloku
[in] aDataBlock
Wskaźnik do bloku danych
[in] aLastBlock
Prawda, jeśli jest to ostatni blok w transferze

DispatchPutBlockHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchPutBlockHandler(
  uint64_t aLength,
  uint8_t *aDataBlock,
  bool aLastBlock
)

Jeśli moduł obsługi put block został ustawiony, wywołaj go.

Szczegóły
Parametry
[in] aLength
Długość bloku
[in] aDataBlock
Wskaźnik do bloku danych
[in] aLastBlock
Prawda, jeśli jest to ostatni blok w transferze

DispatchReceiveAccept

WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchReceiveAccept(
  ReceiveAccept *aReceiveAcceptMsg
)

Dyspozytorzy po prostu sprawdzają, czy moduł obsługi został skonfigurowany, a potem go wywołują, jeśli tak jest.

Jeśli moduł obsługi odbierania akceptacji został ustawiony, wywołaj go.

Używaj ich jako publicznego interfejsu do wywoływania wywołań zwrotnych. Aplikacje zewnętrzne nie powinny mieć do niego bezpośredniego dostępu. W przyszłości może się zdarzyć, że w przyszłości BDXTransfer będzie wykorzystywał obiekt delegata, a nie osobne wskaźniki dla każdego z wywołań zwrotnych.

Szczegóły
Parametry
[in] aReceiveAcceptMsg
Zostanie przetworzony komunikat ReceiveAccept
Zwroty
wartość błędu

DispatchRejectHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchRejectHandler(
  StatusReport *aReport
)

Jeśli moduł obsługi odrzucenia został ustawiony, wywołaj go.

Jeśli zasada nie jest skonfigurowana, wyłącz też przenoszenie jako działanie domyślne.

Szczegóły
Parametry
[in] aReport
Komunikat StatusReport do przetworzenia

DispatchSendAccept

WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept(
  SendAccept *aSendAcceptMsg
)

Jeśli moduł obsługi wysyłania akceptacji wiadomości został ustawiony, wywołaj go.

Szczegóły
Parametry
[in] aSendAcceptMsg
Wiadomość SendAccept musi być przetworzona
Zwroty
wartość błędu

DispatchXferDoneHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler(
  void
)

Jeśli moduł obsługi ukończenia przenoszenia został ustawiony, wywołaj go.

Jeśli zasada nie jest skonfigurowana, wyłącz też przenoszenie jako działanie domyślne.

DispatchXferErrorHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferErrorHandler(
  StatusReport *aXferError
)

Jeśli moduł obsługi błędów transferu został ustawiony, wywołaj go.

Jeśli zasada nie jest skonfigurowana, wyłącz też przenoszenie jako działanie domyślne.

Szczegóły
Parametry
[in] aXferError
Raport o stanie błędu do przetworzenia

GetDefaultFlags

uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::GetDefaultFlags(
  bool aExpectResponse
)

Ta funkcja zwraca domyślne flagi, które mają być wysyłane wraz z wiadomością.

Szczegóły
Parametry
[in] aExpectResponse
Jeśli spodziewamy się odpowiedzi na tę wiadomość
Zwroty
Flagi do wysłania

IsAsync

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsAsync(
  void
)

 Returns true if this transfer is asynchronous, false otherwise.

Szczegóły
Zwroty
prawda, jeśli przesyłanie jest asynchroniczne.

IsDriver

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsDriver(
  void
)

 Returns true if this entity (node) is the driver for this transfer, false otherwise.

Szczegóły
Zwroty
Prawda, że ten podmiot jest napędzającym ten transfer

Resetuj

void nl::Weave::Profiles::BDX_Development::BDXTransfer::Reset(
  void
)

 Sets all pointers to NULL, resets counters, etc.

Wywoływane po wyłączeniu.

SetHandlers

void nl::Weave::Profiles::BDX_Development::BDXTransfer::SetHandlers(
  BDXHandlers aHandlers
)

Ta funkcja ustawia moduły obsługi tego obiektu BDXTransfer.

Zawsze używaj tej metody, zamiast próbować ustawiać je ręcznie, ponieważ podstawowa implementacja sposobu przechowywania wskaźników funkcji modułu obsługi nie jest częścią publicznego interfejsu API.

Szczegóły
Parametry
[in] aHandlers
Struktura modułów obsługi wywołań zwrotnych, które mają zostać wywołane

Wyłączono

void nl::Weave::Profiles::BDX_Development::BDXTransfer::Shutdown(
  void
)

 Shuts down the current transfer, including closing any open ExchangeContext.

Skorzystaj z tej okazji, aby zwolnić wszystkie zasoby powiązane z tym transferem i logiką aplikacji.