23.04.2015 Views

Grupo ARCO - Universidad de Castilla-La Mancha

Grupo ARCO - Universidad de Castilla-La Mancha

Grupo ARCO - Universidad de Castilla-La Mancha

SHOW MORE
SHOW LESS

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).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!