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

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

Ta struktura zawiera użytkowników danych reprezentujących aktywny transfer BDX.

Podsumowanie

Te obiekty są używane przez BdxProtocol do zachowania stanu protokołu. Są one zarządzane przez serwer BdxServer, który obsługuje tworzenie i inicjowanie nowych transferów, w tym zarządzanie połączeniami i ExchangeContexts.

Atrybuty publiczne

mAmInitiator
bool
mAmSender
bool
mAppState
void *
mBlockCounter
uint32_t
Następny numer bloku spodziewamy się otrzymać podczas wysyłania (po oficjalnym rozpoczęciu przenoszenia) żądania BlockQuery lub BlockACK.
mBytesSent
uint64_t
mExchangeContext
mFileDesignator
plik/blokowanie powiązanych użytkowników danych DO ZROBIENIA: usunąć to? czy powinno wystarczyć zawarcie umowy dotyczącej tego, jak może wyglądać ten ciąg znaków i w jaki sposób będzie używany? Czy jest wspierany przez pakiet PacketBuffer? Jeśli tak, to chyba nie powinno tak być przez cały czas, bo zajmuje to całe życie.
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ł ustawiony, wywołaj go.
DispatchGetBlockHandler(uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
void
Jeśli został ustawiony moduł obsługi get block, wywołaj go.
DispatchPutBlockHandler(uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
void
Jeśli został ustawiony moduł obsługi bloku put, wywołaj go.
DispatchReceiveAccept(ReceiveAccept *aReceiveAcceptMsg)
Dyspozytorzy po prostu sprawdzają, czy został ustawiony moduł obsługi, a jeśli tak, wywołują go.
DispatchRejectHandler(StatusReport *aReport)
void
Jeśli moduł obsługi odrzucania został ustawiony, wywołaj go.
DispatchSendAccept(SendAccept *aSendAcceptMsg)
Jeśli moduł obsługi wysyłania i przyjmowania wiadomości został ustawiony, wywołaj go.
DispatchXferDoneHandler(void)
void
Jeśli został ustawiony moduł obsługi zakończenia transferu, wywołaj go.
DispatchXferErrorHandler(StatusReport *aXferError)
void
Jeśli został ustawiony moduł obsługi błędów transferu, wywołaj go.
GetDefaultFlags(bool aExpectResponse)
uint16_t
Ta funkcja zwraca domyślne flagi wysyłane 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 spodziewamy się otrzymać podczas wysyłania (po oficjalnym rozpoczęciu przenoszenia) żądania BlockQuery lub BlockACK.

Po otrzymaniu wiadomości mamy do czynienia z następnym elementem BlockSend lub najnowszym zapytaniem BlockQuery, które wysłaliśmy (po oficjalnym rozpoczęciu przenoszenia i wysłaniu pierwszego zapytania).

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

plik/blokowanie powiązanych użytkowników danych DO ZROBIENIA: usunąć to? czy powinno wystarczyć zawarcie umowy dotyczącej tego, jak może wyglądać ten ciąg znaków i w jaki sposób będzie używany? Czy jest wspierany przez pakiet PacketBuffer? Jeśli tak, to chyba nie powinno tak być przez cały czas, bo zajmuje to całe życie.

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ł ustawiony, wywołaj go.

Jeśli zasada nie jest skonfigurowana, domyślnie wyłącz również przenoszenie.

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 został ustawiony moduł obsługi get block, 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 został ustawiony moduł obsługi bloku put, 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 został ustawiony moduł obsługi, a jeśli tak, wywołują go.

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

Dlatego też należy ich używać jako publicznego interfejsu do wywoływania wywołań zwrotnych, którego nigdy nie należy stykać bezpośrednio z aplikacjami zewnętrznymi. Może się zdarzyć, że w przyszłej wersji funkcji BDXTransfer będzie używany obiekt przekazany, zamiast przechowywania osobnych wskaźników do poszczególnych wywołań zwrotnych.

Szczegóły
Parametry
[in] aReceiveAcceptMsg
Komunikat ReceiveAccept musi zostać przetworzony.
Zwroty
wartość błędu

DispatchRejectHandler

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

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

Jeśli zasada nie jest skonfigurowana, domyślnie wyłącz również przenoszenie.

Szczegóły
Parametry
[in] aReport
Komunikat o raporcie stanu do przetworzenia

DispatchSendAccept

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

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

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

DispatchXferDoneHandler

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

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

Jeśli zasada nie jest skonfigurowana, domyślnie wyłącz również przenoszenie.

DispatchXferErrorHandler

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

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

Jeśli zasada nie jest skonfigurowana, domyślnie wyłącz również przenoszenie.

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 wysyłane 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
true, jeśli transfer jest asynchroniczny.

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 element jest sterownikiem tego transferu

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 ustawiać ją ręcznie, ponieważ bazowa 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

Wyłączono

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

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

Wykorzystaj tę okazję, aby zwolnić wszystkie zasoby związane z tym transferem i Twoją logiką aplikacji.