From 747f17331f9ce534366291fed7abc9fe95c9973f Mon Sep 17 00:00:00 2001
From: Jarrod Pas <j.pas@usask.ca>
Date: Mon, 31 Jul 2017 18:36:38 -0600
Subject: [PATCH] Renames links to neighbours

---
 pydtn/node.py              | 12 +++++-------
 pydtn/routers/bubble.py    |  2 +-
 pydtn/routers/community.py |  8 ++++----
 pydtn/routers/direct.py    |  2 +-
 pydtn/routers/epidemic.py  |  2 +-
 pydtn/routers/flooding.py  |  2 +-
 pydtn/routers/hcbf.py      |  2 +-
 7 files changed, 14 insertions(+), 16 deletions(-)

diff --git a/pydtn/node.py b/pydtn/node.py
index 3914897..1d8b3be 100644
--- a/pydtn/node.py
+++ b/pydtn/node.py
@@ -143,15 +143,13 @@ class Node(TickProcess):
         return self.network[self][other]['state']
 
     @property
-    def links(self):
+    def neighbours(self):
         '''
-        Returns a list of connected links.
+        Returns the set of nodes that are within transmission range.
         '''
-        return {
-            met: data
-            for met, data in self.network[self].items()
-            if self.connected_to(met)
-        }
+        return frozenset([
+            met for met in self.network[self] if self.connected_to(met)
+        ])
 
     def __repr__(self):
         return 'Node(id={})'.format(self.id)
diff --git a/pydtn/routers/bubble.py b/pydtn/routers/bubble.py
index 66d573c..2d6422e 100644
--- a/pydtn/routers/bubble.py
+++ b/pydtn/routers/bubble.py
@@ -2,7 +2,7 @@ from .community import CommunityRouter
 
 class BubbleRouter(CommunityRouter):
     def __call__(self, packet):
-        if packet.destination in self.node.links:
+        if packet.destination in self.node.neighbours:
             return packet.destination, 'direct', True
 
         if self.local_community:
diff --git a/pydtn/routers/community.py b/pydtn/routers/community.py
index 2431ac4..3ec5d9f 100644
--- a/pydtn/routers/community.py
+++ b/pydtn/routers/community.py
@@ -8,15 +8,15 @@ class CommunityRouter(Router):
 
     @property
     def local_community(self):
-        links = self.node.links
+        neighbours = self.node.neighbours
         community = self.node.community
-        return [met for met in links if met in community]
+        return [met for met in neighbours if met in community]
 
     @property
     def not_local_community(self):
-        links = self.node.links
+        neighbours = self.node.neighbours
         community = self.node.community
-        return [met for met in links if met not in community]
+        return [met for met in neighbours if met not in community]
 
     @staticmethod
     def best(nodes, key):
diff --git a/pydtn/routers/direct.py b/pydtn/routers/direct.py
index 6d7e9ef..6b4ed89 100644
--- a/pydtn/routers/direct.py
+++ b/pydtn/routers/direct.py
@@ -2,7 +2,7 @@ from .base import Router
 
 class DirectRouter(Router):
     def __call__(self, packet):
-        if packet.destination in self.node.links:
+        if packet.destination in self.node.neighbours:
             return packet.destination, 'direct', True
         return None, None, False
 
diff --git a/pydtn/routers/epidemic.py b/pydtn/routers/epidemic.py
index bf913a7..89855c0 100644
--- a/pydtn/routers/epidemic.py
+++ b/pydtn/routers/epidemic.py
@@ -13,7 +13,7 @@ class EpidemicRouter(Router):
         # get list of currently encountered nodes that do not have the packet
         targets = [
             met
-            for met in self.node.links
+            for met in self.node.neighbours
             if met not in self.sent[packet]
         ]
 
diff --git a/pydtn/routers/flooding.py b/pydtn/routers/flooding.py
index 5ddf6ce..7191247 100644
--- a/pydtn/routers/flooding.py
+++ b/pydtn/routers/flooding.py
@@ -2,5 +2,5 @@ from .base import Router
 
 class FloodingRouter(Router):
     def __call__(self, packet):
-        return self.node.links, 'flood', False
+        return self.node.neighbours, 'flood', False
 
diff --git a/pydtn/routers/hcbf.py b/pydtn/routers/hcbf.py
index 23971e2..2d08cad 100644
--- a/pydtn/routers/hcbf.py
+++ b/pydtn/routers/hcbf.py
@@ -5,7 +5,7 @@ class HCBFRouter(CommunityRouter):
         me = self.node
         dest = packet.destination
 
-        if dest in me.links:
+        if dest in me.neighbours:
             return dest, 'direct', True
 
         if me.community is not dest.community and self.not_local_community:
-- 
GitLab