diff --git a/src/de/tud/kom/p2psim/api/linklayer/mac/PhyType.java b/src/de/tud/kom/p2psim/api/linklayer/mac/PhyType.java index 4c1b92bbcfed158158595d8dea6317c28dd8158d..540965873b54c75e3e48c7ed15f38905a7ba42c6 100644 --- a/src/de/tud/kom/p2psim/api/linklayer/mac/PhyType.java +++ b/src/de/tud/kom/p2psim/api/linklayer/mac/PhyType.java @@ -38,8 +38,9 @@ import de.tudarmstadt.maki.simonstrator.api.component.network.NetworkComponent.N * @author Bjoern Richerzhagen * @version 1.0, 25.02.2012 * - * @changes: - * Louis Neumann - setting LORA to "unlimited" bandwith + * @author Julian Zobel + * added LoRa PHY + * */ public enum PhyType { @@ -95,7 +96,7 @@ public enum PhyType { * Assuming the following defaults: zero link-layer packet loss, 0.3 kbit/s BW, * 500us latency, 1kByte MTU */ - LORA(NetInterfaceName.LORA, 0, 1 * Rate.Gbit_s, + LORA(NetInterfaceName.LORA, 0, 300 * Rate.bit_s, 500 * Time.MICROSECOND, 1024, true); diff --git a/src/de/tud/kom/p2psim/api/topology/TopologyComponent.java b/src/de/tud/kom/p2psim/api/topology/TopologyComponent.java index 58ef8753c2552faac31106fd278213fbb4cd20a5..2628023ede5ae9b14137da019b4166737f0c4122 100644 --- a/src/de/tud/kom/p2psim/api/topology/TopologyComponent.java +++ b/src/de/tud/kom/p2psim/api/topology/TopologyComponent.java @@ -42,8 +42,9 @@ public interface TopologyComponent extends SimHostComponent, * Binder-class. * * @return - * use Binder.getComponent(Topology.class) instead! - */ + * @deprecated use Binder.getComponent(Topology.class) instead! + */ + @Deprecated public Topology getTopology(); } diff --git a/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/SocialGroupMovementModel.java b/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/SocialGroupMovementModel.java index 6db72d7f8d7484a4a02edf227248bcc348e5eb3d..fa7a52581a8088d8795bc759d7f238d48c341854 100644 --- a/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/SocialGroupMovementModel.java +++ b/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/SocialGroupMovementModel.java @@ -188,6 +188,9 @@ public class SocialGroupMovementModel extends ModularMovementModel { } + // TODO Move each group + + Event.scheduleWithDelay(timeBetweenMoveOperation, this, null, EVENT_MOVE); } @@ -243,7 +246,20 @@ public class SocialGroupMovementModel extends ModularMovementModel { Monitor.getOrNull(ISocialGroupMovementAnalyzer.class).onGroupMovesToAttractionPoint(group); } - doLocalMovement(host, destination); + doLocalMovement(host, destination); + + PositionVector leaderPos = host.getRealPosition(); + LinkedHashSet groupMembers = groupContainer.getGroupMembers(host); + groupMembers.remove(host); // remove leader + + for (SimLocationActuator groupMember : groupMembers) { + // Assign small offset to the host depending on the leaders position. + PositionVector offset = new PositionVector(rand.nextDouble() * LEADER_GROUP_DISTANCE, rand.nextDouble() * LEADER_GROUP_DISTANCE); + PositionVector newPos = leaderPos.plus(offset); + + // Update location of host, which will be around the leaders location. + groupMember.updateCurrentLocation(newPos); + } } else { // inform analyzer of waiting group @@ -252,10 +268,6 @@ public class SocialGroupMovementModel extends ModularMovementModel { } } } - else { - // while other nodes just follow the group leader - followLeader(host); - } } } diff --git a/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/groups/SocialMovementGroup.java b/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/groups/SocialMovementGroup.java index 6171ca8147e87439c794c92d7069416fa58601b6..16cfdabd14c4f89424501172ec22586ec3c1cc40 100644 --- a/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/groups/SocialMovementGroup.java +++ b/src/de/tud/kom/p2psim/impl/topology/movement/modularosm/groups/SocialMovementGroup.java @@ -170,7 +170,7 @@ public class SocialMovementGroup { } public LinkedHashSet getMembers() { - return members; + return new LinkedHashSet(members); } public void setMembers(LinkedHashSet participants) {