conf.sim_pastry_+pmh.cfg Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hycube-simulator Show documentation
Show all versions of hycube-simulator Show documentation
HyCube Simulator is a container running multiple HyCube node instances, providing an interface for performing operations on individual nodes.
configuration = node.main
node.main.MessageTTL = 32
node.main.RoutingTable = PastryRoutingTable
node.main.RoutingTable[PastryRoutingTable].Class = net.hycube.pastry.core.PastryHyCubeRoutingTableImpl
node.main.RoutingTable[PastryRoutingTable].Dimensions = @node.extensions.Pastry.Dimensions
node.main.RoutingTable[PastryRoutingTable].Levels = @node.extensions.Pastry.Levels
node.main.RoutingTable[PastryRoutingTable].LSSize = @node.extensions.Pastry.LSSize
node.main.RoutingTable[PastryRoutingTable].RoutingTableSlotSize = @node.extensions.Pastry.RoutingTableSlotSize
node.main.RoutingTable[PastryRoutingTable].UseSecureRouting = @node.extensions.Pastry.UseSecureRouting
node.main.NextHopSelectors = PastryNextHopSelector
node.main.NextHopSelectors[PastryNextHopSelector].Class = net.hycube.pastry.nexthopselection.PastryNextHopSelector
node.main.NextHopSelectors[PastryNextHopSelector].Dimensions = @node.extensions.Pastry.Dimensions
node.main.NextHopSelectors[PastryNextHopSelector].Levels = @node.extensions.Pastry.Levels
node.main.NextHopSelectors[PastryNextHopSelector].UseRT = @node.extensions.Pastry.UseRT
node.main.NextHopSelectors[PastryNextHopSelector].UseLS = @node.extensions.Pastry.UseLS
node.main.NextHopSelectors[PastryNextHopSelector].PrefixMismatchHeuristicEnabled = @node.extensions.Pastry.PrefixMismatchHeuristicEnabled
node.main.NextHopSelectors[PastryNextHopSelector].PrefixMismatchHeuristicMode = @node.extensions.Pastry.PrefixMismatchHeuristicMode
node.main.NextHopSelectors[PastryNextHopSelector].PrefixMismatchHeuristicFactor = @node.extensions.Pastry.PrefixMismatchHeuristicFactor
node.main.NextHopSelectors[PastryNextHopSelector].PrefixMismatchHeuristicWhenNoNextHop = @node.extensions.Pastry.PrefixMismatchHeuristicWhenNoNextHop
node.main.NextHopSelectors[PastryNextHopSelector].UseLSInFullScanWithoutPMH = @node.extensions.Pastry.UseLSInFullScanWithoutPMH
node.main.NextHopSelectors[PastryNextHopSelector].UseRTInFullScanWithoutPMH = @node.extensions.Pastry.UseRTInFullScanWithoutPMH
node.main.NextHopSelectors[PastryNextHopSelector].UseLSInFullScanWithPMH = @node.extensions.Pastry.UseLSInFullScanWithPMH
node.main.NextHopSelectors[PastryNextHopSelector].UseRTInFullScanWithPMH = @node.extensions.Pastry.UseRTInFullScanWithPMH
node.main.NextHopSelectors[PastryNextHopSelector].UseSecureRouting = @node.extensions.Pastry.UseSecureRouting
node.main.NextHopSelectors[PastryNextHopSelector].SkipRandomNumberOfNodesEnabled = true
node.main.NextHopSelectors[PastryNextHopSelector].SkipRandomNumberOfNodesMean = 0
node.main.NextHopSelectors[PastryNextHopSelector].SkipRandomNumberOfNodesStdDev = 1
node.main.NextHopSelectors[PastryNextHopSelector].SkipRandomNumberOfNodesAbsolute = true
node.main.NextHopSelectors[PastryNextHopSelector].SkipNodesNumMax = 3
node.main.NextHopSelectors[PastryNextHopSelector].SkipNodesNumWhenRandomExceedsMax = 1
node.main.NextHopSelectors[PastryNextHopSelector].ForceSkipNodes = false
node.main.NextHopSelectors[PastryNextHopSelector].SkipNodesIncludeExcactMatch = false
node.main.RoutingManager = PastryRoutingManager
node.main.RoutingManager[PastryRoutingManager].Class = net.hycube.pastry.routing.PastryRoutingManager
node.main.RoutingManager[PastryRoutingManager].NextHopSelectorKey = PastryNextHopSelector
node.main.RoutingManager[PastryRoutingManager].UseSteinhausTransform = false
node.main.RoutingManager[PastryRoutingManager].AllowRegisteredRoutes = @node.main.RoutingManager[HyCubeRoutingManager].AllowRegisteredRoutes
node.main.RoutingManager[PastryRoutingManager].RegisteredRoutesRetentionTime = @node.main.RoutingManager[HyCubeRoutingManager].RegisteredRoutesRetentionTime
node.main.RoutingManager[PastryRoutingManager].AllowAnonymousRoutes = @node.main.RoutingManager[HyCubeRoutingManager].AllowAnonymousRoutes
node.main.RoutingManager[PastryRoutingManager].ConcealTTL = @node.main.RoutingManager[HyCubeRoutingManager].ConcealTTL
node.main.RoutingManager[PastryRoutingManager].DecreaseTTLProbability = @node.main.RoutingManager[HyCubeRoutingManager].DecreaseTTLProbability
node.main.RoutingManager[PastryRoutingManager].IncreaseTTLByRandomNum = @node.main.RoutingManager[HyCubeRoutingManager].IncreaseTTLByRandomNum
node.main.RoutingManager[PastryRoutingManager].IncreaseTTLRandomMean = @node.main.RoutingManager[HyCubeRoutingManager].IncreaseTTLRandomMean
node.main.RoutingManager[PastryRoutingManager].IncreaseTTLRandomStdDev = @node.main.RoutingManager[HyCubeRoutingManager].IncreaseTTLRandomStdDev
node.main.RoutingManager[PastryRoutingManager].IncreaseTTLRandomAbsolute = @node.main.RoutingManager[HyCubeRoutingManager].IncreaseTTLRandomAbsolute
node.main.RoutingManager[PastryRoutingManager].IncreaseTTLRandomModulo = @node.main.RoutingManager[HyCubeRoutingManager].IncreaseTTLRandomModulo
node.main.RoutingManager[PastryRoutingManager].ConcealHopCount = @node.main.RoutingManager[HyCubeRoutingManager].ConcealHopCount
node.main.RoutingManager[PastryRoutingManager].EnsureSteinhausPointAnonymity = false
node.main.JoinManager = PastrySearchJoinManager
#node.main.JoinManager = PastryRouteJoinManager
node.main.JoinManager[PastrySearchJoinManager].Class = net.hycube.pastry.join.searchjoin.PastrySearchJoinManager
node.main.JoinManager[PastrySearchJoinManager].NextHopSelectorKey = PastryNextHopSelector
node.main.JoinManager[PastrySearchJoinManager].JoinCallbackEventKey = JoinCallback
node.main.JoinManager[PastrySearchJoinManager].JoinRequestTimeoutEventKey = JoinRequestTimeout
node.main.JoinManager[PastrySearchJoinManager].JoinK = 16
node.main.JoinManager[PastrySearchJoinManager].JoinAlpha = 8
node.main.JoinManager[PastrySearchJoinManager].JoinBeta = 16
node.main.JoinManager[PastrySearchJoinManager].JoinGamma = 16
node.main.JoinManager[PastrySearchJoinManager].JoinRequestTimeout = 1000
#node.main.JoinManager[PastrySearchJoinManager].SendClosestInInitialJoinReply = true
node.main.JoinManager[PastrySearchJoinManager].SendClosestInInitialJoinReply = false
node.main.JoinManager[PastrySearchJoinManager].IncludeLSInInitialJoinReply = true
node.main.JoinManager[PastrySearchJoinManager].IncludeRTInInitialJoinReply = true
node.main.JoinManager[PastrySearchJoinManager].IncludeSelfInInitialJoinReply = true
node.main.JoinManager[PastrySearchJoinManager].MarkInitialJoinReplySenderAsResponded = true
node.main.JoinManager[PastrySearchJoinManager].RecoveryLSAfterJoin = true
node.main.JoinManager[PastrySearchJoinManager].RecoveryAfterJoin = false
node.main.JoinManager[PastrySearchJoinManager].RecoveryExtensionKey = RecoveryExtension
node.main.JoinManager[PastrySearchJoinManager].DiscoverPublicNetworkAddress = true
node.main.JoinManager[PastryRouteJoinManager].Class = net.hycube.pastry.join.routejoin.PastryRouteJoinManager
node.main.JoinManager[PastryRouteJoinManager].NextHopSelectorKey = PastryNextHopSelector
node.main.JoinManager[PastryRouteJoinManager].PrefixMismatchHeuristicDisabledForJoinMessages = @node.extensions.Pastry.PrefixMismatchHeuristicDisabledForJoinMessages
node.main.JoinManager[PastryRouteJoinManager].JoinCallbackEventKey = JoinCallback
node.main.JoinManager[PastryRouteJoinManager].JoinTimeoutEventKey = JoinTimeout
node.main.JoinManager[PastryRouteJoinManager].WaitAfterFinalJoinReplyTimeoutEventKey = WaitAfterFinalJoinReplyTimeout
node.main.JoinManager[PastryRouteJoinManager].JoinTimeout = 3000
node.main.JoinManager[PastryRouteJoinManager].WaitTimeAfterFinalJoinReply = 500
node.main.JoinManager[PastryRouteJoinManager].IncludeLSInJoinReply = true
node.main.JoinManager[PastryRouteJoinManager].IncludeRTInJoinReply = true
node.main.JoinManager[PastryRouteJoinManager].IncludeSelfInJoinReply = true
node.main.JoinManager[PastryRouteJoinManager].IncludeLSInJoinReplyFinal = true
node.main.JoinManager[PastryRouteJoinManager].IncludeRTInJoinReplyFinal = true
node.main.JoinManager[PastryRouteJoinManager].IncludeSelfInJoinReplyFinal = true
node.main.JoinManager[PastryRouteJoinManager].RecoveryLSAfterJoin = true
node.main.JoinManager[PastryRouteJoinManager].RecoveryAfterJoin = false
node.main.JoinManager[PastryRouteJoinManager].RecoveryExtensionKey = RecoveryExtension
node.main.JoinManager[PastryRouteJoinManager].DiscoverPublicNetworkAddress = true
node.main.JoinManager[HyCubeSearchJoinManager].NextHopSelectorKey = PastryNextHopSelector
node.main.JoinManager[HyCubeRouteJoinManager].NextHopSelectorKey = PastryNextHopSelector
node.main.NotifyProcessor = PastryNotifyProcessor
node.main.NotifyProcessor[PastryNotifyProcessor].Class = net.hycube.pastry.maintenance.PastryNotifyProcessor
node.main.NotifyProcessor[PastryNotifyProcessor].Dimensions = @node.extensions.Pastry.Dimensions
node.main.NotifyProcessor[PastryNotifyProcessor].Levels = @node.extensions.Pastry.Levels
node.main.NotifyProcessor[PastryNotifyProcessor].LSSize = @node.extensions.Pastry.LSSize
node.main.NotifyProcessor[PastryNotifyProcessor].RoutingTableSlotSize = @node.extensions.Pastry.RoutingTableSlotSize
node.main.NotifyProcessor[PastryNotifyProcessor].UseRT = @node.extensions.Pastry.UseRT
node.main.NotifyProcessor[PastryNotifyProcessor].UseLS = @node.extensions.Pastry.UseLS
node.main.NotifyProcessor[PastryNotifyProcessor].UseSecureRouting = @node.extensions.Pastry.UseSecureRouting
node.main.NotifyProcessor[PastryNotifyProcessor].UpdateNetworkAddressWhenDifferent = @node.extensions.Pastry.UpdateRTENetworkAddressWhenDifferentOnNotify
node.main.NotifyProcessor[PastryNotifyProcessor].RTNodeSelector = HyCubeSimpleRTNodeSelector
#node.main.NotifyProcessor[PastryNotifyProcessor].RTNodeSelector = HyCubeLnsRTNodeSelector
#node.main.NotifyProcessor[PastryNotifyProcessor].RTNodeSelector = HyCubePnsRTNodeSelector
#node.main.NotifyProcessor[PastryNotifyProcessor].RTNodeSelector = HyCubeSecureRTNodeSelector
node.main.NotifyProcessor[PastryNotifyProcessor].LSNodeSelector = HyCubeBalancedRingNSNodeSelector
#node.main.NotifyProcessor[PastryNotifyProcessor].LSNodeSelector = HyCubeDistanceNSNodeSelector
node.main.NotifyProcessor[PastryNotifyProcessor].SecureRTNodeSelector = HyCubeSecureRTNodeSelector
node.main.NotifyProcessor[PastryNotifyProcessor].RTNodeSelector[HyCubeLnsRTNodeSelector] = @node.rtnodeselection.RTNodeSelector[HyCubeLnsRTNodeSelector]
node.main.NotifyProcessor[PastryNotifyProcessor].RTNodeSelector[HyCubeSimpleRTNodeSelector] = @node.rtnodeselection.RTNodeSelector[HyCubeSimpleRTNodeSelector]
node.main.NotifyProcessor[PastryNotifyProcessor].RTNodeSelector[HyCubePnsRTNodeSelector] = @node.rtnodeselection.RTNodeSelector[HyCubePnsRTNodeSelector]
node.main.NotifyProcessor[PastryNotifyProcessor].RTNodeSelector[HyCubeSecureRTNodeSelector] = @node.rtnodeselection.RTNodeSelector[HyCubeSecureRTNodeSelector]
node.main.NotifyProcessor[PastryNotifyProcessor].LSNodeSelector[HyCubeBalancedRingNSNodeSelector] = @node.rtnodeselection.NSNodeSelector[HyCubeBalancedRingNSNodeSelector]
node.main.NotifyProcessor[PastryNotifyProcessor].LSNodeSelector[HyCubeDistanceNSNodeSelector] = @node.rtnodeselection.NSNodeSelector[HyCubeDistanceNSNodeSelector]
#for search join:
node.main.ReceivedMessageProcessors[HyCubeReceivedMessageProcessor].ReceivedMessageProcessors = HyCubeReceivedMessageProcessorData, HyCubeReceivedMessageProcessorAck, HyCubeReceivedMessageProcessorPing, HyCubeReceivedMessageProcessorSearchJoin, HyCubeReceivedMessageProcessorRecovery, HyCubeReceivedMessageProcessorNotify, HyCubeReceivedMessageProcessorLeave, StatReceivedMessageProcessor
#for route join:
#node.main.ReceivedMessageProcessors[HyCubeReceivedMessageProcessor].ReceivedMessageProcessors = HyCubeReceivedMessageProcessorData, HyCubeReceivedMessageProcessorAck, HyCubeReceivedMessageProcessorPing, HyCubeReceivedMessageProcessorRouteJoin, HyCubeReceivedMessageProcessorRecovery, HyCubeReceivedMessageProcessorNotify, HyCubeReceivedMessageProcessorLeave, StatReceivedMessageProcessor
node.main.MessageSendProcessors = HyCubeMessageSendProcessor
node.main.MessageSendProcessors[HyCubeMessageSendProcessor].Class = net.hycube.messaging.processing.HyCubeMessageSendProcessor
node.main.MessageSendProcessors[HyCubeMessageSendProcessor].MessageTypes = DATA, PING
node.main.MessageSendProcessors[HyCubeMessageSendProcessor].MessageSendProcessors = HyCubeMessageSendProcessorData, HyCubeMessageSendProcessorPing, StatMessageSendProcessor
node.main.Extensions = HyCubeExtension, PastryExtension, AckExtension, KeepAliveExtension, PnsExtension, RecoveryExtension, MessageStatExtension, NodeClearMemoryExtension
node.main.Extensions[PastryExtension] = @node.extensions.Pastry
node.extensions.Pastry.Class = net.hycube.extensions.PastryExtension
node.extensions.Pastry.Dimensions = 4
node.extensions.Pastry.Levels = 32
node.extensions.Pastry.LSSize = 16
node.extensions.Pastry.RoutingTableSlotSize = 1
node.extensions.Pastry.UseRT = true
node.extensions.Pastry.UseLS = true
node.extensions.Pastry.PrefixMismatchHeuristicEnabled = true
node.extensions.Pastry.PrefixMismatchHeuristicMode = AVG
node.extensions.Pastry.PrefixMismatchHeuristicFactor = 1.5
node.extensions.Pastry.PrefixMismatchHeuristicDisabledForJoinMessages = true
node.extensions.Pastry.PrefixMismatchHeuristicWhenNoNextHop = true
node.extensions.Pastry.UseLSInFullScanWithoutPMH = true
node.extensions.Pastry.UseRTInFullScanWithoutPMH = true
node.extensions.Pastry.UseLSInFullScanWithPMH = true
node.extensions.Pastry.UseRTInFullScanWithPMH = true
node.extensions.Pastry.UseSecureRouting = false
node.extensions.Pastry.UpdateRTENetworkAddressWhenDifferentOnNotify = true
node.main.BackgroundProcesses = HyCubeAwaitingAcksBackgroundProcess, HyCubePingBackgroundProcess, HyCubeAwaitingPongsBackgroundProcess
node.main.BackgroundProcesses[HyCubeAwaitingAcksBackgroundProcess].ScheduleImmediately = false
node.main.BackgroundProcesses[HyCubePingBackgroundProcess].ScheduleImmediately = false
node.main.BackgroundProcesses[HyCubeAwaitingPongsBackgroundProcess].ScheduleImmediately = false
© 2015 - 2025 Weber Informatics LLC | Privacy Policy