func (r *routes) calculateUnicast(establishedAndSymmetric bool) unicastRoutes {
	_, unicast := r.ourself.routes(nil, establishedAndSymmetric)
	return unicast
}
func (r *routes) calculateUnicast(establishedAndSymmetric bool) unicastRoutes {
	_, unicast := r.ourself.routes(nil, establishedAndSymmetric)
	return unicast
}
func ( r * routes ) calculateUnicast ( establishedAndSymmetric bool ) unicastRoutes { _ , unicast := r . ourself . routes ( nil , establishedAndSymmetric ) return unicast }
// Calculate all the routes for the question: if *we* want to send a
// packet to Peer X, what is the next hop?
//
// When we sniff a packet, we determine the destination peer
// ourself. Consequently, we can relay the packet via any
// arbitrary peers - the intermediate peers do not have to have
// any knowledge of the MAC address at all. Thus there's no need
// to exchange knowledge of MAC addresses, nor any constraints on
// the routes that we construct.
Calculate all the routes for the question : if * we * want to send a packet to Peer X what is the next hop? When we sniff a packet we determine the destination peer ourself . Consequently we can relay the packet via any arbitrary peers - the intermediate peers do not have to have any knowledge of the MAC address at all . Thus there s no need to exchange knowledge of MAC addresses nor any constraints on the routes that we construct .