BLOB di Monitoraggio di rete

Network Monitor binary large object (BLOB) è una struttura di dati generica che contiene informazioni sulla configurazione e sulla posizione delle schede di interfaccia di rete. Usare BLOB per rappresentare le schede di interfaccia di rete e per filtrare le voci in un elenco di schede di interfaccia di rete. I BLOB possono anche contenere dati specifici dell'applicazione senza influire sugli altri dati che contengono. L'implementazione BLOB è opaca a tutti i livelli che devono accedere ai BLOB con LE API BLOB.

Struttura BLOB

Un BLOB può essere considerato come un albero gerarchico usato per designare le stringhe. Questo albero ha tre livelli: Proprietario, Categoria e Tag. Owner è una stringa che indica, in generale, chi legge una voce. La categoria è anche una stringa, che definisce un raggruppamento funzionale generale di tag sotto il proprietario. Il tag è il nome effettivo della voce.

Le caratteristiche strutturali dei BLOB includono:

  • Gli helper BLOB all'interno di un processo sono protetti l'uno dall'altro da un mutex incorporato in ogni BLOB.
  • Ogni BLOB ha un numero di versione interno in modo che gli helper possano gestire moduli BLOB presenti e futuri. I conflitti di versione possono verificarsi se si invia un BLOB a un altro computer tramite una chiamata di procedura remota.
  • Il BLOB stesso è un puntatore a un void. Tenere presente che le applicazioni devono allocare BLOB con il modificatore const per evitare di modificare il contenuto.
  • Ognuno dei designatori, nonché i relativi valori, sono stringhe. Tenere presente che le stringhe restituite dalle funzioni GetString sono effettivamente puntatori nel BLOB e non devono essere modificate. Per questo motivo, queste stringhe devono essere specificate come const char**pX* per impedire alle applicazioni di modificarle accidentalmente.

In generale, tutti i parametri con l'indicatore const incoraggiano il chiamante a evitare di modificare i valori anziché impedire alle funzioni helper di modificarli. In realtà, le funzioni helper cambiano in genere tali valori.