Esempio n. 1
0
 def body():
     cond = bluelet.Condition()
     handle1 = func1(cond)
     handle2 = func2(cond)
     yield bluelet.spawn(handle1, daemon=False)
     yield bluelet.spawn(handle2, daemon=False)
     yield bluelet.join(handle2)
Esempio n. 2
0
 def body():
     sem = bluelet.Semaphore(0)
     handle1 = func1(sem)
     handle2 = func2(sem)
     yield bluelet.spawn(handle1, daemon=False)
     yield bluelet.spawn(handle2, daemon=False)
     yield bluelet.join(handle2)
Esempio n. 3
0
 def body():
     sig = bluelet.Signal()
     handle1 = func1(sig)
     handle2 = func2(sig)
     yield bluelet.spawn(handle1, daemon=False)
     yield bluelet.spawn(handle2, daemon=False)
     yield bluelet.join(handle2)
Esempio n. 4
0
 def body():
     lock = bluelet.Lock()
     handle1 = func1(lock)
     handle2 = func2(lock)
     yield bluelet.spawn(handle1)
     yield bluelet.spawn(handle2)
     yield bluelet.sleep(1)
     yield bluelet.kill(handle1)
     yield bluelet.sleep(1)
     yield bluelet.join(handle2)
Esempio n. 5
0
def channel(port=4915):
    # Create a pair of connected sockets.
    connections = [None, None]
    listener = bluelet.Listener('127.0.0.1', port)

    def listen():
        connections[0] = yield listener.accept()  # Avoiding nonlocal.
    listen_thread = listen()
    yield bluelet.spawn(listen_thread)

    connections[1] = yield bluelet.connect('127.0.0.1', port)

    yield bluelet.join(listen_thread)

    # Wrap sockets in Endpoints.
    sentinel = uuid.uuid4().bytes  # Somewhat hacky...
    yield bluelet.end((Endpoint(connections[0], sentinel),
                       Endpoint(connections[1], sentinel)))
Esempio n. 6
0
def channel(port=4915):
    # Create a pair of connected sockets.
    connections = [None, None]
    listener = bluelet.Listener('127.0.0.1', port)

    def listen():
        connections[0] = yield listener.accept()  # Avoiding nonlocal.
    listen_thread = listen()
    yield bluelet.spawn(listen_thread)

    connections[1] = yield bluelet.connect('127.0.0.1', port)

    yield bluelet.join(listen_thread)

    # Wrap sockets in Endpoints.
    sentinel = uuid.uuid4().bytes  # Somewhat hacky...
    yield bluelet.end((Endpoint(connections[0], sentinel),
                       Endpoint(connections[1], sentinel)))