Пример #1
0
 def calculator(self, *args, **kwargs):
     thread = threading.current_thread()
     print("executing in %s" % thread)
     print("computing...")
     yield from netius.sleep(3.0)
     print("finished computing...")
     return sum(args)
Пример #2
0
 def handler(self, future):
     thread = threading.current_thread()
     print("executing in %s" % thread)
     message = "hello world\n"
     timeout = yield from netius.sleep(3.0)
     message += "timeout: %.2f\n" % timeout
     result = yield from self.calculator(2, 2)
     message += "result: %d\n" % result
     future.set_result(message)
Пример #3
0
    def test_sleep(self):
        for value in netius.sleep(1.0):
            yield value
            future = value
        timeout = future.result()

        self.assertEqual(timeout, 1.0)
        self.assertEqual(isinstance(future, netius.Future), True)
        self.assertEqual(future.done(), True)
Пример #4
0
    def test_sleep(self):
        for value in netius.sleep(1.0):
            yield value
            future = value
        timeout = future.result()

        self.assertEqual(timeout, 1.0)
        self.assertEqual(isinstance(future, netius.Future), True)
        self.assertEqual(future.done(), True)
Пример #5
0
 def read_file(self, future, file_path, chunk = 65536, delay = 0):
     count = 0
     file = open(file_path, "rb")
     try:
         while True:
             data = file.read(chunk)
             if not data: break
             count += len(data)
             if delay: yield from netius.sleep(delay)
             yield data
     finally:
         file.close()
     future.set_result(None)
     return count
Пример #6
0
def _compute(x, y):
    print("Compute %s + %s ..." % (x, y))
    yield from netius.sleep(1.0)
    return x + y
Пример #7
0
def compute(future, x, y):
    print("Compute %s + %s ..." % (x, y))
    for value in netius.sleep(1.0): yield value
    future.set_result(x + y)
Пример #8
0
def _compute(x, y):
    print("Compute %s + %s ..." % (x, y))
    yield from netius.sleep(1.0)
    return x + y