Example #1
0
def main():
    set_context()
    host = create_host('http://127.0.0.1:1679')

    remote = host.lookup_url('http://127.0.0.1:1277', Host)
    print remote

    p1 = host.lookup_url('http://127.0.0.1:1277/1', Echo)
    p2 = remote.lookup('1')

    print 'p1 =', id(p1)
    print 'p2 =', id(p2)

    print p1 == p2
    print p1 != p2
    print p1 is p2

    s = set()
    s.add(p1)
    s.add(p2)
    print len(s)

    print p1
    print repr(p1)

    shutdown()
Example #2
0
def main():
    set_context()
    host = create_host("http://127.0.0.1:12666")

    remote = host.lookup_url("http://127.0.0.1:12777", Host)
    print(remote)

    p1 = host.lookup_url("http://127.0.0.1:12777/1", Echo)
    p2 = remote.lookup('1')

    print("p1 =", id(p1))
    print("p2 =", id(p2))

    print(p1 == p2)
    print(p1 != p2)
    print(p1 is p2)

    s = set()
    s.add(p1)
    s.add(p2)
    print(len(s))

    print(p1)
    print(repr(p1))

    shutdown()
Example #3
0
    def test_peer(self):

        number_peers = 5
        number_chunks = 9
        protocol = "push-pull"

        tracker = self.h.spawn('tracker', Tracker)
        tracker.init_tracker()

        self.peers = list()
        sleep(2)

        assistant = self.h.spawn('assistant', Assistant)
        assistant.init_assistant(number_peers, number_chunks, protocol)

        for i in range(number_peers):
            self.peers.append(self.h.spawn('peer' + str(i), Peer))
            self.peers[i].init_peer("hash1", number_chunks, protocol)

        sleep(2)
        self.peers[0].set_data({0: "A", 1: "S", 2: "D", 3: "F"})
        self.peers[0].pull()
        self.peers[1].push(0, "A")
        self.peers[1].push_data()
        self.peers[0].pull_data(0, self.peers[1])

        shutdown()
Example #4
0
def splitFile(name_f, ip_slaves, num_mappers):
    """
    Split the file wich will be read later.
    :param name_f: name of the file.
    :param ip_slaves: ip of the Server files.
    :param num_mappers: number of mappers.
    """
    try:
        os.system("wget http://%s:8000/%s" %
                  (ip_slaves, name_f))  #We download the file from server
        num_lines_map = int(
            commands.getoutput("wc -l " + name_f + " | cut -d ' ' -f 1")) / (
                num_mappers)  #split -l <num_lines> <name_f>
        os.system("split -l " + str(num_lines_map + 1) + " " + name_f)
        os.system("rm " + name_f)
        os.system("mv ./x* ../examples")
    except IOError:
        print "\n\tERROR. Ha habido un problema al leer el fichero."
        shutdown()
Example #5
0
    def test_tracker(self):
        try:
            set_context()
        except:
            pass

        try:
            host = create_host()
        except:
            pass

        # Spawn tracker and peers
        tracker = host.spawn('tracker', Tracker)
        p1 = host.spawn('peer1', Peer)
        p2 = host.spawn('peer2', Peer)
        p3 = host.spawn('peer3', Peer)
        # Attach tracker to peers
        p1.attach_tracker(tracker)
        p2.attach_tracker(tracker)
        p3.attach_tracker(tracker)

        # Start intervals
        tracker.init_start()

        p1.announce_me()
        sleep(0.5)
        self.assertEqual(['peer1'], tracker.get_peers("file", True))

        p2.announce_me()
        sleep(0.5)
        self.assertEqual(set(['peer1', 'peer2']),
                         set(tracker.get_peers("file", True)))

        p3.announce_me()
        sleep(0.5)
        self.assertEqual(set(['peer1', 'peer2', 'peer3']),
                         set(tracker.get_peers("file", True)))

        self.assertEqual([], tracker.get_peers("file1"))

        shutdown()
Example #6
0
def main():
    set_context()
    host = create_host()
    p1 = host.spawn('1', Echo)
    p2 = host.lookup('1')

    print 'p1 =', id(p1)
    print 'p2 =', id(p2)

    print p1 == p2
    print p1 != p2
    print p1 is p2

    s = set()
    s.add(p1)
    s.add(p2)
    print len(s)

    print p1
    print repr(p1)

    shutdown()
Example #7
0
                print(i, e)

    def remote_server(self, web_server):
        self.server = web_server

    def download(self):
        self.server.get_file('a1.txt', timeout=10)
        print("download finished")


if __name__ == '__main__':
    set_context('green_thread')
    # set_context()

    host = create_host()

    f1 = host.spawn('file1', File)
    web = host.spawn('web1', Web)
    sleep(1)
    web.remote_server(f1)
    load = host.spawn('wl1', Workload)
    load.remote_server(web)
    load2 = host.spawn('wl2', Workload)
    load2.remote_server(web)

    load.launch()
    load2.download()

    sleep(7)
    shutdown()
Example #8
0
from pyactor.context import set_context, create_host, sleep, shutdown


class Echo(object):
    _tell = ['echo', 'bye']
    _ask = ['say_something']

    def echo(self, msg):
        print msg

    def bye(self):
        print 'bye'

    def say_something(self):
        return 'something'


if __name__ == "__main__":
    set_context()
    h = create_host()
    e1 = h.spawn('echo1', Echo)

    e = h.lookup('echo1')
    print e.say_something()

    ee = h.lookup_url('local://local:6666/echo1', Echo)
    print ee.say_something()

    sleep(1)
    shutdown()
Example #9
0
 def tearDown(self):
     shutdown()
Example #10
0
 def tearDown(self):
     # This is executed after each test. Doesn't matter if the test failed
     # or was successful.
     shutdown()
     self.out.clear()
     sys.stdout = self.stdo
Example #11
0
 def off(self):
     shutdown()
Example #12
0
 def tearDown(self):
     shutdown()
     self.out.clear()