if ip not in c.network:
raise ValueError('client %s not in network' % ip)
- for k in ('max_batch_down','max_queue_time','http_timeout',
+ for k in ('max_batch_down',
+ 'max_queue_time',
+ 'http_timeout',
'target_requests_outstanding'):
req = cfg.getint(cs, k)
limit = cfg.getint('limits',k)
#---------- config and setup ----------
-def process_cfg():
- process_cfg_common_always()
- process_cfg_server()
- process_cfg_network()
+def process_cfg(putative_servers, putative_clients):
+ c = ConfigResults()
+ c.server = cfg.get('SERVER','server')
+
+ process_cfg_common(c, c.server)
+ process_cfg_saddrs(c, c.server)
+ process_cfg_vnetwork(c, c.server)
+ process_cfg_vaddr(c, c.server)
+
+ for (ci,cs) in putative_clients.items():
+ cc = ConfigResults()
+ sections = cfg_process_client_common(cc,c.server,cs,ci):
+ if not sections: continue
+ cfg_process_client_limited(cc,c.server,sections, 'max_batch_down')
+ cfg_process_client_limited(cc,c.server,sections, 'max_queue_time')
try:
- c.relay = cfg.get('virtual','relay')
+ c.relay = cfg.get(c.server, 'relay')
except NoOptionError:
for search in c.network.hosts():
if search == c.server: continue
c.relay = search
break
- process_cfg_saddrs()
- process_cfg_clients(Client)
-
- process_cfg_ipif('server',
- (('local','server'),
- ('peer', 'relay'),
- ('rnets','network')))
+ process_cfg_ipif(c,
+ [c.server, 'DEFAULT'],
+ (('local','vaddr'),
+ ('peer', 'vrelay'),
+ ('rnets','vnetwork')))
common_startup(process_cfg)
start_ipif(c.ipif_command, (lambda p,s,d: route(p,"[ipif]",s,d)))