Aller au contenu principal

Transmissions

Les données transitent entre traitements au moyen de connexions. Les connexions ne peuvent relier que des entrées et sorties de même type, ce type incluant le type de données et le type de transmission. Il existe en Mélodium deux types de transmissions : les flux Stream et blocs Block.

Flux

Une transmission en flux est susceptible d'envoyer autant de valeurs que nécessaire pour que les traitements concernés puissent effectuer leurs opérations.

treatment my_treatment()
input foo: Stream<byte>
output bar: Stream<string>
{
/*
Ce traitement peut recevoir autant d'octets que nécessaire pour travailler,
et envoyer des chaînes de caractères lorsqu'elles sont prêtes.
*/
}

Bloc

Une transmission de bloc envoie au plus une unique valeur du type donné. Ce type de transmission est notamment utilisé pour constater un résultat ou transmettre des déclencheurs.

treatment my_treatment()
input foo: Block<string>
output bar: Block<u32>
{
/*
Ce traitement reçoit une unique chaîne de caractère pour travailler,
et émet une unique valeur de nombre entier en résultat.
*/
}