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)?