Ejemplo n.º 1
0
            m.removeMeshNode(failnode)
            n = MeshNode("joinnode", m)
            m.addMeshNode(n)
            m.connect_duplex(self, n, 1024, 50, 0.30)
        if (data == "joinnode"):
            global success
            success = True
            reactor.crash()

    def lostNode(self, data):
        MeshNode.lostNode(self, data)
        print data + " lost"


n = TestMeshNode("node", m)
m.addMeshNode(n)

failnode = MeshNode("failnode", m)
m.addMeshNode(failnode)

# Connect all nodes to all others. 1024 bytes/s bandwidth, 50ms delay and 0%
# packet loss.. (bandwidth and delay aren't implemented just yet)
m.connect_full(1024, 50, 0.30)

reactor.run()

if not success:
    print "FAILED"
    exit(1)

print "SUCCESS"
  def newNode (self, data):
    MeshNode.newNode (self, data)
    print data + " joined"

  def leftNode (self, data):
    MeshNode.leftNode (self, data)
    print data + " left"

  def push (self):
    reactor.callLater (2, self.push)
    self.pushInput (self.name + " " + str(self.count))
    self.count += 1

class FailMeshNode(TestMeshNode):
  def newNode (self, data):
    TestMeshNode.newNode (self, data)
    reactor.callLater (5, self.fail, "node")

n = TestMeshNode("node", m)
m.addMeshNode(n)

failnode = FailMeshNode("failnode", m)
m.addMeshNode(failnode)

# Connect all nodes to all others. 1024 bytes/s bandwidth, 50ms delay and 0%
# packet loss.. (bandwidth and delay aren't implemented just yet)
m.connect_full(1024, 50, 0.00)

reactor.run()