[MWy] Chimera - doručení různým klientům

PanacekCZ at seznam.cz PanacekCZ at seznam.cz
Wed Apr 23 15:41:04 CEST 2014


Dobrý den,
předpokládal jsem, že v případě neměnné sítě jsou zprávy s určitým klíčem automaticky doručovány jednoznačně určenému klientovi - tímto způsobem je např. vybrán správce kanálu. Narazil jsem ovšem na to, že někdy je zpráva v případě dvou klientů doručena tomu klientovi, který ji odeslal.

Nechal jsem vypisovat všechny zprávy doručené klientovi:

@@ -74,6 +74,8 @@
  */
 static void upcall_deliver(Key *k, Message *m)
 {
+	printf("Deliver %s to %s\n", m->payload, get_key_string(k));
+
 	/* Determine the message type */
 	if (m->type == MSG_CHAT) {
 		/* Ignore messages for other clients, delivered here because such

Klienty spustím:

./chat 5000 A
./chat -j localhost:5000 6000 B

Vstup/Výstup klienta A:

** Welcome to Chimera Chat (zkráceno...)**
Deliver ae4f281df5a5d0ff3cad6371f76d5c29b6d953ec:u-pl18.ms.mff.cuni.cz:6000 to ae4f281df5a5d0ff3cad6371f76d5c29b6d953ec
Node ae4f281df5a5d0ff3cad6371f76d5c29b6d953ec (u-pl18.ms.mff.cuni.cz:6000) joined neighbor set
msg C c
Sending private message to C: c
Routing message type 21 (A: c) to 32096c2e0eff33d844ee6d675407ace18289357d via u-pl18.ms.mff.cuni.cz:6000
Deliver A: c to 32096c2e0eff33d844ee6d675407ace18289357d

Vstup/Výstup klienta B:

Node 6dcd4ce23d88e2ee9568ba546c007c63d9131c1b (u-pl18.ms.mff.cuni.cz:5000) joined neighbor set
** Welcome to Chimera Chat (zkráceno...)**
Routing message type 21 (A: c) to 32096c2e0eff33d844ee6d675407ace18289357d via u-pl18.ms.mff.cuni.cz:5000
msg C c
Sending private message to C: c
Deliver B: c to 32096c2e0eff33d844ee6d675407ace18289357d

Podobný postup jsem zkoušel v 32-bitovém režimu (u-pl18 at 32), kde to fungovalo dle očekávání.
Jedná se o chybu v Chimera?

						Vlastimil Dort




More information about the NSWI080 mailing list