metodo per convalidare la sanità mentale dei valori dipendenti dall'ordine ricevuti in modo asincrono

1

Ho una serie di dispositivi hardware con cui mi sto connettendo per creare percorsi. Ho qualche controllo di integrità per assicurarmi che i potenziali percorsi siano validi e facciano ciò che è inteso, ma per farlo correttamente ho bisogno di sapere quale dispositivo è la fonte del percorso e altre informazioni da quel soruce.

Una volta che tutto è stato impostato, posso dedurre la fonte seguendo il percorso all'indietro. Tuttavia, quando avvio per la prima volta e deduco lo stato, e quando invio una richiesta in parallelo a più dispositivi, posso ottenere connessioni fuori servizio; in modo che non possa rintracciare le mie connessioni alla fonte perché so che le connessioni A e C escono, ma non sono ancora a conoscenza di B quindi non posso più risalire a C. Ciò significa che è difficile eseguire il controllo degli errori quando aggiungo la connessione.

La mia domanda è: come faccio a controllare la sanità mentale? Ho tre opzioni, nessuna delle quali mi piace del tutto

1) fiducia faccio il mio lavoro nel modo giusto e non vengono fatte cattive richieste

2) prova a memorizzare la sorgente con ogni connessione quando viene creata, così posso saltare direttamente alla fonte per il controllo della logica senza tracciare il percorso all'indietro. Questo può essere fatto in teoria, ma temo che ora mi debba fidare che quando la mia logica di pathway dice che qualcosa è la fonte è giusta e che la sorgente non cambierà mai, così come la logica per inferire la fonte quando arrivano le connessioni dall'hardware e in generale sembra potenzialmente inelegante da mantenere.

3) prova a fare il controllo di integrità appena ho un percorso completo (quando aggiungo la BI ora controlla che B e C siano entrambi buoni), il problema qui è che lanciare un'eccezione nel dispositivo B per segnalare un problema con la connessione fatto sul dispositivo C sembra ... confuso.

4) crea connessioni senza convalidare la loro sanità mentale, ma chiedi a qualcun altro di eseguire un controllo di integrità dopo che tutti i percorsi sono stati collegati (o immediatamente prima)?

    
posta dsollen 21.05.2014 - 21:22
fonte

1 risposta

0

Utilizzare un'intestazione personalizzata per enumerare e calcolare il numero di connessioni ricevute rispetto al numero di connessioni previste. Ad esempio:

UDP (User Data Protocol) on the other hand is a much simpler technique for delivering data packets. It just adds a header to the data and sends them to its destination, regardless whether that node exists or expects data. UDP does not guarantee that packets arrive, nor does it ensure they arrive in the order they were sent. If packets are transmitted between two networks using different paths they can arrive in a wrong order. It's the application that has to take care of that. However, for applications needing fast transfer without overhead for data that is still usable even if single packets are missing or not in order, UDP is the protocol in choice. Most voice and video streaming applications therefore use UDP.

RFC 7016 descrive una tale implementazione:

Independent flow sequencing allows a sender to prioritize the transmission or retransmission of the messages of one flow over those of other flows in a session, allocating capacity from the transmission budget according to priority. RTMFP is designed for flows to be the basic unit of prioritization. In any flow, fragment sequence numbers are unique and monotonically increasing; that is, the fragment sequence numbers for any message MUST be greater than the fragment sequence numbers of all messages previously queued in that flow. Receipt of fragments out of sequence number order within a flow creates discontiguous gaps at the receiver, causing it to send an acknowledgement for every packet and also causing the size of the encoded acknowledgements to grow. Therefore, for any flow, the sender SHOULD send lower sequence numbers first.

Riferimenti

risposta data 14.08.2018 - 07:22
fonte

Leggi altre domande sui tag