- added: equals method to allow a comparison between two bus objects
- fixed: hierarchyLevel: code cleanup, declared BASE_LEVEL as a public
constant
- fixed: changed meaning of Decorator::getText() so that a return value
isn't only an add-on - it's a replacement for the label text
- added: L2Address: isHigher(), isLower()
- added: HRMController: eventDetectedPhysicalNeighborNode() has
additional parameter describing the network interface where the node was
detected
- fixed: ComChannel: allow ClusterMember objects to received/process
Bully messages
- added: distributed clustering code
- fixed: renamed ClusterProxy to ClusterMember
- fixed: allow to deactivate the cluster announcements
- added: Route: add(Route) to append a route to another existing route
- fixed: L2Address: shorter toString() outputs
- added: BullyPriority: clone()
- added: class ISignalingMessageHrmBroadcastable, implemented
duplicate() in all derived classes
- added: SignalingMessageHrm: record the source route to ease debugging
of packet routing
- fixed: Elector: include correct coordinator ID in BullyAnnounce
packets
- fixed: ARG: correct isknown()
- fixed: renamed AnnounceCluster to AnnounceCoordinator
- added: new CoordinatorAnnouncement handling/processing, auto. topology
learning
- fixed: Cluster: learn correct coordinator ID if the coordinater
becomes available
- fixed: ClusterMember: code cleanup, sendBroadcast*() uses
ISignalingMessageHrmBroadcastable as packet input, improved toString()
- fixed: ComChannel: sendPacket() uses SignalingMessageHrm as packet
input, record the route of processed HRM-specific signaling packets
- fixed: ComSession: set correct route to peer(avoid trailing L2Address
duplicates), record the route of processed HRM-specific signaling
packets
- fixed: ControlEntity: improved coloring for ARG viewer
- added: HRMController: registerCoordinatorProxy(), getLinkARG()
- added: Route: first simple version of isShorter()