Esecuzione di una sequenza di scambio dati.
Sintassi |
bool data_exchange_sequence(const bcc::message @cmd, bcc::message @asw, const bytearray @out_data, bytearray @in_data) bool data_exchange_sequence(const bcc::message @cmd, bcc::message @asw, const bytearray @out_data, bytearray @in_data, bcc::connector::update_state_cb @&in cb) |
---|---|
cmd |
Riferimento a messaggio di comando |
asw |
Riferimento a messaggio di risposta |
out_data |
Riferimento ad array di byte sorgente (dati in uscita) |
in_data |
Riferimento ad array di byte destinazione (dati in ingresso). |
cb |
Funzione di callback per aggiornamento stato operazione |
Risultato |
Rende true se comando con successo, false altrimenti |
Note |
Il contenuto di in_data viene modificato solo in caso di esito positivo: il contenuto precedente viene sostituito dai dati in ingresso. Per ulteriori informazioni, consultare le specifiche di protocollo BCC/31. L'operazione è bloccante e può impiegare molto tempo, in proporzione al quantitativo di dati da trasferire. |
Esempio di utilizzo:
bcc::message cmd, asw; bytearray in_data, out_data;
/* Preparazione cmd e dati in uscita */
/*! Esecuzione scambio dati */ if (client.data_exchange_sequence(cmd, asw, out_data, in_data)) { /* Elaborazione dati in entrata */ } |