5 Moduli

Somad supporta moduli. Possono essere caricati runtime senza bisogno di ricompilazioni, stop, riavvi e cose di questo tipo. In questo capito spiegherò in una prima parte come somad vede e comunica con i moduli e in una seconda sezione come scrivere moduli.

I moduli sono delle librerie scritte separatamente dalla suite soma e che ognuno può produrre in base alle sue esigenze aggiungendo funzionalità aggiuntive. Io ho scritto un modulo solo chiamato somadiff.so che permette di mandare in differita una trasmissione mandata via web da una radio.

Non è questa la sede per parlare di somadiff, reperibile anch'esso dal sito internet per progetto soma, ma è utile capire come creare un palinsesto in modo che somad utilizzi il modulo:

Palinsesto {
Description = ``trasmissione tipo''

Type = module

Module = somadiff.so

Start=1000

Stop =2110
}
Questo è tutto quello che serve scrivere.

Quando saranno le 1000 somad sceglierà questo palinsesto, caricherà il modulo somadiff.so e darà il controllo a questa libreria. Per tutto il tempo monitorerà cosa somadiff fa finché alle 2110 concluderà questo palinsesto e passerà al successivo.

Somadiff in particolare non è solo un modulo ma è un duplice programma: un server di download, e un modulo per somad. Il server scaricherà tutte le trasmissioni che attraverso uno specifico client si aggiungono al database; il modulo renderà disponibili a somad queste registrazioni basandosi sulla descrizione.

Per compilare un modulo, e ancora di più per scriverlo, bisogna guardarsi il file soma.h, file installato assieme ai programmi della suite soma.



Subsections
2004-06-16