package Ġio . nod le . d tn . cla Ċ Ċ import Ġio . nod le . d tn . bp v 7 . Bundle Ċ import Ġio . nod le . d tn . interfaces . I Con ver gence Layer Sender Ċ import Ġio . nod le . d tn . interfaces . I Router Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġjava . net . URI Ċ Ċ class ĠStatic Routing Table Ġ: ĠI Router Ġ{ ĊĠĠĠ Ġval Ġlog Ġ= ĠLoggerFactory . getLogger (" Routing Table ") ĊĊĠĠĠ Ġ// Ġmain Ġrouting Ġtable ĊĠĠĠ Ġvar Ġstatic Routes Ġ: ĠMutable Map < URI , ĠI Con ver gence Layer Sender > Ġ= ĠHashMap () ĊĠĠĠ Ġvar Ġdefault Ġ: ĠI Con ver gence Layer Sender ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠsetDefault Route ( cla : ĠI Con ver gence Layer Sender ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġdefault Ġ= Ġcla ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġfind Route Ġreturns Ġthe Ġconvergence Ġlayer Ġto Ġuse Ġfor Ġa Ġgiven Ġd tn Ġendpoint Ġid . ĊĠĠĠĠ Ġ* Ġit Ġreturns Ġthe Ġfirst Ġconvergence Ġlayer Ġthat Ġmatches Ġthe Ġdestination Ġe id Ġof Ġthe Ġbundle ĊĠĠĠĠ Ġ* Ġor Ġnull Ġif Ġno Ġsuch Ġendpoint Ġwere Ġfound . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġbundle Ġthe Ġbundle Ġto Ġforwards ĊĠĠĠĠ Ġ* Ġ@ return Ġa Ġconvergence Ġlayer Ġor Ġnull ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġfind Route ( bundle Ġ: ĠBundle ) Ġ: ĠI Con ver gence Layer Sender ? Ġ{ ĊĠĠĠĠĠĠĠ Ġfor (( k , Ġv ) Ġin Ġstatic Routes ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( k Ġ== Ġbundle . primary Block . destination ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . debug (" route Ġ${ v . get Peer Endpoint Id ()} Ġfound Ġfor Ġbundle Ġ${ bundle . hashCode () }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġv ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġdefault ĊĠĠĠ Ġ} Ċ }