OLD | NEW |
| (Empty) |
1 #!/usr/bin/env python | |
2 # Copyright 2015 The Chromium Authors. All rights reserved. | |
3 # Use of this source code is governed by a BSD-style license that can be | |
4 # found in the LICENSE file. | |
5 | |
6 """The main client_controller code. | |
7 | |
8 This code is the main entry point for the client machines and handles | |
9 registering with the host server and running the local RPC server. | |
10 """ | |
11 | |
12 import argparse | |
13 import logging | |
14 import socket | |
15 import sys | |
16 import time | |
17 | |
18 #pylint: disable=relative-import | |
19 import client_rpc_server | |
20 import common_lib | |
21 | |
22 | |
23 def main(): | |
24 print ' '.join(sys.argv) | |
25 common_lib.InitLogging() | |
26 logging.info('Client controller starting') | |
27 | |
28 parser = argparse.ArgumentParser() | |
29 parser.add_argument('--otp', | |
30 help='One time token used to authenticate with the host') | |
31 parser.add_argument('--host', | |
32 help='The ip address of the host') | |
33 parser.add_argument('--idle-timeout', type=int, | |
34 default=common_lib.DEFAULT_TIMEOUT_SECS, | |
35 help='The idle timeout for the rpc server in seconds') | |
36 args, _ = parser.parse_known_args() | |
37 | |
38 logging.info( | |
39 'Registering with discovery server at %s using OTP %s', args.host, | |
40 args.otp) | |
41 server = common_lib.ConnectToServer(args.host).RegisterClient( | |
42 args.otp, common_lib.MY_IP) | |
43 | |
44 server = client_rpc_server.RPCServer(args.host, args.idle_timeout) | |
45 | |
46 server.serve_forever() | |
47 return 0 | |
48 | |
49 | |
50 if __name__ == '__main__': | |
51 sys.exit(main()) | |
OLD | NEW |