Example #1
0
def main():
    args = ARGS.parse_args()
    if args.iocp:
        from tulip.windows_events import ProactorEventLoop
        loop = ProactorEventLoop()
        set_event_loop(loop)
    else:
        loop = get_event_loop()
    loop.run_until_complete(start(loop, args.host, args.port))
    loop.close()
Example #2
0
    def run(self, host='127.0.0.1', port=8000, call_soon=None):
        if sys.platform == 'win32':
            from tulip.windows_events import ProactorEventLoop
            loop = ProactorEventLoop()
            tulip.set_event_loop(loop)
        else:
            loop = tulip.get_event_loop()

        self.loop = loop

        task = loop.start_serving(lambda: HttpServer(debug=True, app=self),
                                  host, port)
        socks = loop.run_until_complete(task)

        if call_soon:
            loop.call_soon(call_soon)

        print('Serving on', socks[0].getsockname())
        try:
            loop.run_forever()
        except KeyboardInterrupt:
            loop.close()
Example #3
0
def main():
    args = ARGS.parse_args()
    if args.iocp:
        from tulip.windows_events import ProactorEventLoop
        loop = ProactorEventLoop()
        set_event_loop(loop)
    else:
        loop = get_event_loop()
    loop.run_until_complete(start(loop, args.host, args.port))
    loop.close()
Example #4
0
    def run(self, host='127.0.0.1', port=8000, call_soon=None):
        if sys.platform == 'win32':
            from tulip.windows_events import ProactorEventLoop
            loop = ProactorEventLoop()
            tulip.set_event_loop(loop)
        else:
            loop = tulip.get_event_loop()

        self.loop = loop

        task = loop.start_serving(
            lambda: HttpServer(debug=True, app=self), host, port)
        socks = loop.run_until_complete(task)

        if call_soon:
            loop.call_soon(call_soon)

        print('Serving on', socks[0].getsockname())
        try:
            loop.run_forever()
        except KeyboardInterrupt:
            loop.close()
Example #5
0
        else:
            print('>>>', cmd.decode('ascii').rstrip())
            stdin.write(cmd)

        # get and print lines from stdout, stderr
        timeout = None
        while registered:
            done, pending = yield from tulip.wait(
                registered, timeout=timeout, return_when=tulip.FIRST_COMPLETED)
            if not done:
                break
            for f in done:
                stream = registered.pop(f)
                res = f.result()
                print(name[stream], res.decode('ascii').rstrip())
                if res != b'':
                    registered[tulip.Task(stream.readline())] = stream
            timeout = 0.0

    stdout_transport.close()
    stderr_transport.close()

if __name__ == '__main__':
    if sys.platform == 'win32':
        loop = ProactorEventLoop()
        tulip.set_event_loop(loop)
    else:
        loop = tulip.get_event_loop()
    loop.run_until_complete(main(loop))
    loop.close()
Example #6
0
            print('>>>', cmd.decode('ascii').rstrip())
            stdin.write(cmd)

        # get and print lines from stdout, stderr
        timeout = None
        while registered:
            done, pending = yield from tulip.wait(
                registered, timeout=timeout, return_when=tulip.FIRST_COMPLETED)
            if not done:
                break
            for f in done:
                stream = registered.pop(f)
                res = f.result()
                print(name[stream], res.decode('ascii').rstrip())
                if res != b'':
                    registered[tulip.Task(stream.readline())] = stream
            timeout = 0.0

    stdout_transport.close()
    stderr_transport.close()


if __name__ == '__main__':
    if sys.platform == 'win32':
        loop = ProactorEventLoop()
        tulip.set_event_loop(loop)
    else:
        loop = tulip.get_event_loop()
    loop.run_until_complete(main(loop))
    loop.close()