# :::::::::::::::::::::::::::::::::::::::::::::::::::::: # :: Symphony Default Configuration # :::::::::::::::::::::::::::::::::::::::::::::::::::::: # network size SIZE 50 # parameters of periodic execution CYCLES 100 CYCLE SIZE/2 OutputName symphony # parameters of message transfer # delay values here are relative to cycle length, in percentage, # eg 50 means half the cycle length, 200 twice the cycle length, etc. MINDELAY 0 MAXDELAY 0 random.seed 1234567890 network.size SIZE simulation.experiments 1 simulation.endtime 2000#CYCLE*CYCLES simulation.logtime CYCLE ################### transports =========================== protocol.tr UniformRandomTransport { mindelay (CYCLE*MINDELAY)/100 maxdelay (CYCLE*MAXDELAY)/100 } ################### protocols =========================== order.protocol link networkestimator symphony symphonynetworkmanager protocol.link peersim.core.IdleProtocol protocol.symphony example.symphony.SymphonyProtocol { linkable link transport tr shortlink 4 # if commented means: longlink log(n) #longlink 4 routing unidirectional lookahead off } #protocol.networkestimator example.symphony.SimpleNetworkSizeEstimatorProtocol protocol.networkestimator example.symphony.SymphonyEstimationProtocol { symphony symphony # if commented means: s log(n) #s 3 } protocol.symphonynetworkmanager example.symphony.SymphonyNetworkManager { symphony symphony transport tr networkestimator networkestimator attempts 3 nTimeout 5 relinking on relinkingLowerBound 0.5 relinkingUpperBound 2.0 step 4*CYCLE #useless } ################### initialization ====================== order.init netbuild checknet init.netbuild example.symphony.SymphonyNetworkBuilder { symphony symphony createLongLinks true attempts 5 } init.checknet example.symphony.SymphonyNetworkChecker { symphony symphony networkestimator networkestimator } ################ control ============================== order.control sch checknet randomroutetest ringroutetest leavetest dnet estimationtest statistics control.randomroutetest example.symphony.RandomRouteTest { symphony symphony step CYCLE } control.ringroutetest example.symphony.RingRouteTest { symphony symphony startnode 0 step CYCLE } control.sch CDScheduler { protocol symphonynetworkmanager step CYCLE*2 randstart } control.checknet example.symphony.SymphonyNetworkChecker { symphony symphony networkestimator networkestimator step CYCLE } control.dnet peersim.dynamics.DynamicNetwork { add 0 maxsize 50 minsize SIZE/2 step CYCLE*2 init.0 example.symphony.SymphonyNodeInizializer { symphonynetworkmanager symphonynetworkmanager symphony symphony bootstrapnode 0 } } control.leavetest example.symphony.LeaveTest { symphonynetworkmanager symphonynetworkmanager n 1 minsizeOnline SIZE-1 waitTargetSizeToStart 2*SIZE step CYCLE*2 } control.statistics example.symphony.SymphonyStatistics { symphony symphony step (CYCLE*CYCLES)-1 } control.estimationtest example.symphony.test.NetworkEstimationTest { symphony symphony symphonynetworkmanager symphonynetworkmanager step CYCLE*4 }