Al momento de implementa el ejercicio 4.6.7 me surge la siguiente duda: como establecer los costos de llegar hasta los vecino.
En principio pense que cada nodo los asignara arbitrariamente, el tema con esto es que me parece que el problema planteado es para que los cosotos a->b y b->a sean los mismos.
Una opción sería ver como "negociar" un costo único en cada caso, podría ser generarlos en cada nodo y comunicarlos a los vecinos y que quede el que le informe primero, pero esto implicaría ordenar de alguna manera este proceso, por ejemplo con saturación, y garantizar que terminó antes de comenzar a intercambiar los vectoresno se si este no se convierte en un problema mayor que el planteado a resolver cuando el algoritmo se plantea que arranca conociendo los costos de ir a los vecinos.
Son las opciones que se me ocurreiron no se si se me está escapando algo más sencillo.
Yo use la propiedad delay time de los links para setearle el costo.
El problema es que en el código no le encontre la vuelta para obtener este costo, así que lo resolví agregando el tiempo de envío (getTime()) en cada paquete de vector-distancia.
Al recibirlo en el otro nodo hago la diferencía con el tiempo recibido y ese es el costo del link.
En realidad, no me termina de convencer la solución, ya que no necesariamente el costo es el tiempo retardo en link, podría ser el costo en $ que me sale enviar un paquete por ese link o cualquier otra cosa.
pero eso va a ir variando entre cada envío de mensaje en un mismo link, por ejemplo entre iteraciones, si va cambiando el algoritmo podría no terminar nunca, yo asumía que los costos para el cálculo están fijos