Esempio n. 1
0
def dog():
    meow = fibra.Tube("meow")
    woof = fibra.Tube("woof")

    while True:
        yield woof.push("woof")
        m = yield meow.pop(wait=True)
Esempio n. 2
0
def echo():
    input = fibra.Tube("log_service")
    yield 2
    while True:
        try:
            msg = yield input.pop(wait=True)
        except fibra.EmptyTube:
            print('no message')
            yield 1
        else:
            print(msg)
Esempio n. 3
0
def main():
    """
    >>> main()
    Received: this string is pushed to a waiting task
    Received from Named Tube: this string is pushed into a named tube.

    """
    t = fibra.Tube()
    schedule = fibra.schedule()
    schedule.install(task_a(t))
    schedule.install(task_b(t))
    schedule.install(task_c())
    schedule.install(task_d())
    schedule.run()
Esempio n. 4
0
def send():
    output = fibra.Tube("log_service")
    yield output.push("hello!", wait=False)
    print('pushed')
Esempio n. 5
0
def cat():
    meow = fibra.Tube("meow")
    woof = fibra.Tube("woof")
    for i in range(1000):
        m = yield woof.pop()
        yield meow.push("meow")
Esempio n. 6
0
def task_d():
    tube = fibra.Tube("Named Tube")
    x = yield tube.pop()
    print("Received from Named Tube:", x)
Esempio n. 7
0
def task_c():
    tube = fibra.Tube("Named Tube")
    yield tube.push('this string is pushed into a named tube.')
Esempio n. 8
0
 def __init__(self, transport):
     self.running = True
     self.protocol = Protocol(transport)
     self.outbox = fibra.Tube()
     schedule.install(self.start())
Esempio n. 9
0
 def __init__(self, name, circle):
     self.name = name
     self.circle = circle
     circle.append(self)
     self.messageQueue = fibra.Tube()
     scheduler.install(self.messageLoop())
Esempio n. 10
0
def main():
    t = fibra.Tube()
    schedule = fibra.schedule()
    schedule.install(a(t))
    schedule.install(b(t))
    schedule.run()