nl::Weave::Profiles::BDX_Development::BdxProtocol

Riepilogo

Funzioni

HandleConnectionClosed(ExchangeContext *anEc, WeaveConnection *aCon, WEAVE_ERROR aConErr)
void
Gestore per quando la connessione viene chiusa.
HandleKeyError(ExchangeContext *anEc, WEAVE_ERROR aKeyErr)
void
Il gestore dei casi in cui la chiave utilizzata per criptare e autenticare i messaggi Weave non è più utilizzabile.
HandleResponse(ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
Gestore principale dei messaggi in arrivo sullo scambio BDX.
HandleResponseNotAccepted(BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleResponseReceive(BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleResponseTimeout(ExchangeContext *anEc)
void
Gestore per il tempo di timeout in attesa di una risposta.
HandleResponseTransmit(BDXTransfer & aXfer, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
HandleSendError(ExchangeContext *anEc, WEAVE_ERROR aSendErr, void *aMsgCtxt)
void
Il gestore dei casi in cui il messaggio WRMP che abbiamo inviato non è stato confermato.
InitBdxReceive(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, ReferencedTLVData *aMetaData)
InitBdxSend(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, ReferencedTLVData *aMetaData)
InitBdxSend(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, SendInit::MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
SendBadBlockCounterStatusReport(BDXTransfer & aXfer)
SendBlockAckV1(BDXTransfer & aXfer)
Questa funzione invia un messaggio BlockAckV1 per il BDXTransfer specificato.
SendBlockEOFAckV1(BDXTransfer & aXfer)
Questa funzione invia un messaggio BlockEOFAckV1 per il BDXTransfer specificato.
SendBlockQuery(BDXTransfer & aXfer)
SendBlockQueryV1(BDXTransfer & aXfer)
Questa funzione invia un messaggio BlockQueryV1 per il BDXTransfer specificato.
SendNextBlock(BDXTransfer & aXfer)
SendNextBlockV1(BDXTransfer & aXfer)
Questa funzione invia il successivo BlockSendV1 recuperato chiamando il GetBlockHandler di BDXTransfer.
SendStatusReport(ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void
Invia un messaggio di report di stato con l'ID profilo, il codice di stato e il contesto di Exchange associati.
SendTransferError(ExchangeContext *anEc, uint32_t aProfileId, uint16_t aStatusCode)
void

Funzioni

HandleConnectionClosed

void HandleConnectionClosed(
  ExchangeContext *anEc,
  WeaveConnection *aCon,
  WEAVE_ERROR aConErr
)

Gestore per quando la connessione viene chiusa.

Chiama il gestore degli errori del trasferimento associato e arresta il trasferimento.

Dettagli
Parametri
[in] anEc
Contesto di Exchange che ha rilevato una connessione chiusa Possiamo trovare il BDXTransfer associato da questo
[in] aCon
La connessione Weave, non utilizzata nella funzione effettiva
[in] aConErr
Errore associato alla chiusura della connessione

HandleKeyError

void HandleKeyError(
  ExchangeContext *anEc,
  WEAVE_ERROR aKeyErr
)

Il gestore dei casi in cui la chiave utilizzata per criptare e autenticare i messaggi Weave non è più utilizzabile.

Dettagli
Parametri
[in] anEc
Contesto di Exchange che ha rilevato un errore chiave. Possiamo trovare il BDXTransfer associato da questo
[in] aKeyErr
Errore associato al fatto che la chiave non è più utilizzabile

HandleResponse

void HandleResponse(
  ExchangeContext *anEc,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aWeaveMsgInfo,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

Gestore principale dei messaggi in arrivo sullo scambio BDX.

Agisce essenzialmente da router per estrarre le informazioni e i dati dell'intestazione BDX appropriati, inviando il gestore appropriato per agire su questo oggetto.

Dettagli
Parametri
[in] anEc
Il contesto della piattaforma di scambio pubblicitario in caso di necessità
[in] aPktInfo
Non è utilizzata, ma deve corrispondere al prototipo della funzione
[in] aWeaveMsgInfo
Informazioni sul messaggio Weave per il messaggio
[in] aProfileId
ID del profilo con cui viene definito il messaggio.
[in] aMessageType
Il tipo di messaggio del profilo
[in] aPacketBuffer
Il messaggio pacchettizzato

HandleResponseNotAccepted

WEAVE_ERROR HandleResponseNotAccepted(
  BDXTransfer & aXfer,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

HandleResponseReceive

WEAVE_ERROR HandleResponseReceive(
  BDXTransfer & aXfer,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

HandleResponseTimeout

void HandleResponseTimeout(
  ExchangeContext *anEc
)

Gestore per il tempo di timeout in attesa di una risposta.

Chiude il trasferimento scaduto e la chiamata al gestore degli errori del trasferimento.

Dettagli
Parametri
[in] anEc
Contesto di Exchange da cui possiamo trovare BDXTransfer

HandleResponseTransmit

WEAVE_ERROR HandleResponseTransmit(
  BDXTransfer & aXfer,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

HandleSendError

void HandleSendError(
  ExchangeContext *anEc,
  WEAVE_ERROR aSendErr,
  void *aMsgCtxt
)

Il gestore dei casi in cui il messaggio WRMP che abbiamo inviato non è stato confermato.

Dettagli
Parametri
[in] anEc
Contesto di Exchange con un messaggio non confermato. Possiamo trovare il BDXTransfer associato da questo
[in] aSendErr
Errore associato all'errore di invio del messaggio
[in] aMsgCtxt
Un contesto di messaggio arbitrario che è stato associato al messaggio non confermato.

InitBdxReceive

WEAVE_ERROR InitBdxReceive(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

InitBdxSend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

InitBdxSend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  SendInit::MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

SendBadBlockCounterStatusReport

WEAVE_ERROR SendBadBlockCounterStatusReport(
  BDXTransfer & aXfer
)

SendBlockAckV1

WEAVE_ERROR SendBlockAckV1(
  BDXTransfer & aXfer
)

Questa funzione invia un messaggio BlockAckV1 per il BDXTransfer specificato.

Il numero di blocco confermato è uguale a aXfer.mBlockCounter - 1 in quanto questa funzione può essere richiamata solo dopo che lo stato di trasferimento è passato al contatore successivo.

Dettagli
Parametri
[in] aXfer
Il BDXTransfer per cui stiamo inviando un BlockAck.
Valori restituiti
WEAVE_NO_ERROR
Se l'invio del messaggio è riuscito.
WEAVE_ERROR_NO_MEMORY
Se nessun PacketBuffer disponibile è disponibile.

SendBlockEOFAckV1

WEAVE_ERROR SendBlockEOFAckV1(
  BDXTransfer & aXfer
)

Questa funzione invia un messaggio BlockEOFAckV1 per il BDXTransfer specificato.

Il numero di blocco confermato corrisponde a aXfer.mBlockCounter.

Dettagli
Parametri
[in] aXfer
Il BDXTransfer per cui stiamo inviando un BlockEOFAck.
Valori restituiti
WEAVE_NO_ERROR
Se l'invio del messaggio è riuscito.
WEAVE_ERROR_NO_MEMORY
Se nessun PacketBuffer disponibile è disponibile.

SendBlockQuery

WEAVE_ERROR SendBlockQuery(
  BDXTransfer & aXfer
)

SendBlockQueryV1

WEAVE_ERROR SendBlockQueryV1(
  BDXTransfer & aXfer
)

Questa funzione invia un messaggio BlockQueryV1 per il BDXTransfer specificato.

Il numero di blocco richiesto è uguale a aXfer.mBlockCounter.

Dettagli
Parametri
[in] aXfer
Il BDXTransfer per cui stiamo inviando una query BlockQuery.
Valori restituiti
WEAVE_NO_ERROR
Se l'invio del messaggio è riuscito.
WEAVE_ERROR_NO_MEMORY
Se nessun PacketBuffer disponibile è disponibile.

SendNextBlock

WEAVE_ERROR SendNextBlock(
  BDXTransfer & aXfer
)

SendNextBlockV1

WEAVE_ERROR SendNextBlockV1(
  BDXTransfer & aXfer
)

Questa funzione invia il successivo BlockSendV1 recuperato chiamando il GetBlockHandler di BDXTransfer.

Dettagli
Parametri
[in] aXfer
Il BDXTransfer a cui GetBlockHandler è chiamato per ricevere il blocco successivo prima di inviarlo utilizzando l'elemento ExchangeContext associato
Valori restituiti
WEAVE_ERROR_INCORRECT_STATE
Se GetBlockHandler è NULL

SendStatusReport

void SendStatusReport(
  ExchangeContext *anEc,
  uint32_t aProfileId,
  uint16_t aStatusCode
)

Invia un messaggio di report di stato con l'ID profilo, il codice di stato e il contesto di Exchange associati.

Dettagli
Parametri
[in] anEc
Il contesto della piattaforma di scambio pubblicitario a cui dobbiamo inviare il messaggio relativo al report di stato
[in] aProfileId
ID profilo
[in] aStatusCode
Codice associato all'errore di trasferimento

SendTransferError

void SendTransferError(
  ExchangeContext *anEc,
  uint32_t aProfileId,
  uint16_t aStatusCode
)