C# (CSharp) Tag Пространство имен

Пространства имен

Tag.Neuron

Классы

Имя Описание
CompleteTag
LightTag Classe rappresentante una versione alleggerita del Tag completo. La rappresentazione dei dati viene effettuata su un array di 128 byte e le stringhe vengono codificate in ASCII. Questa versione alleggerita serve come chiave primaria negli scambi protocollari di Kademlia. Il tag leggero contiene informazioni sul titolo, l'artista e l'album ed è finalizzta al calcolo dell'affinità semantica ad una ricerca.

La struttura del Tag è composta da un header di 3 byte, ognuno dei quali contenente la lunghezza del campo associato, e da un body di 125 byte che memorizza il contenuto; l'ordine in cui i campi vengono rappresentati è [titolo, artista, album] ossia vanno dal più importante (il titolo) al meno importante (l'album) durante la ricerca. Per memorizzare i dati del Tag Completo si usa la funzione Persistence.Tag.LightTag.SetTagData che utilizza opportune regole per il troncamento dei campi inseriti. Per dare precedenza al titolo si assicura il massimo spazio possibile a tale campo; agli altri due campi vengono riservati al massimo 20 + 10 = 30 byte (se risultano più piccoli gli verrà riservato meno spazio). Se il titolo è più lungo dei caratteri disponibile verrà troncato. Il campo artista viene immagazzinato utilizzando tutto lo spazio disponibile tranne i 10 byte riservati all'album. Se non è possibile contenere tutta la stringa nei byte disponibili viene eseguito un troncamento. Infine l'album occuperà ciò che rimane dell'array di byte.