Grupo ARCO - Universidad de Castilla-La Mancha
Grupo ARCO - Universidad de Castilla-La Mancha
Grupo ARCO - Universidad de Castilla-La Mancha
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
2. ANTECEDENTES 14<br />
struct LocEvent<br />
{<br />
string provi<strong>de</strong>r;<br />
string msid;<br />
long time;<br />
};<br />
#pragma keylist LocEvent provi<strong>de</strong>r<br />
struct KeyLessLocEvent {<br />
string provi<strong>de</strong>r;<br />
string msid;<br />
long time;<br />
};<br />
#pragma keylist LocEvent<br />
Listado 2.3: Tipos <strong>de</strong> canal con clave y sin clave<br />
Si se escribe en el canal KeyLessLocEvent se modifica el valor que tenía, ya que es la<br />
misma instancia (singleton). En el otro caso, si se escribe en LocEvent se modifica el valor<br />
<strong>de</strong> una específica instancia <strong>de</strong>l canal, <strong>de</strong>pendiendo <strong>de</strong>l valor <strong>de</strong> la clave.<br />
El código 2.4 escribe dos muestras para la misma instancia (figura 2.7). <strong>La</strong>s dos muestras<br />
están en la misma cola <strong>de</strong> lectura.<br />
dds::Topic leTopic(‘‘KeyLessLocEventTopic’’);<br />
dds:DataWriter dw(leTopic);<br />
KeyLessLocEvent le = {’WIFI’, ’1001254589’, 2};<br />
dw.write(le);<br />
le = {’RFID’, ’1001254589’, 2};<br />
dw.write(le);<br />
Listado 2.4: Escritura en un canal<br />
Figura 2.7: Una única cola <strong>de</strong> lectura asociada a un canal sin clave especificada<br />
Si se escribe las mismas muestras para LocEvent el resultado es diferente. El código sería<br />
igual pero las muestras están en dos colas diferentes (figure 2.8).