config reading: log correct filenames
[hippotat] / hippotatlib / __init__.py
index 4c7dd90..1460d5a 100644 (file)
@@ -100,22 +100,28 @@ def log_debug(dflag, msg, idof=None, d=None):
     msg += ' ' + d + trunc
   log.info('{dflag} {msgcore}', dflag=dflag, msgcore=msg)
 
+def logevent_is_boringtwisted(event):
+  try:
+    if event.get('log_level') != LogLevel.info:
+      return False
+    dflag = event.get('dflag')
+    if dflag is False                            : return False
+    if dflag                         in debug_set: return False
+    if dflag is None and DBG.TWISTED in debug_set: return False
+    return True
+  except Exception:
+    print('EXCEPTION (IN BORINGTWISTED CHECK)',
+          traceback.format_exc(), file=org_stderr)
+    return False
+
 @implementer(twisted.logger.ILogFilterPredicate)
 class LogNotBoringTwisted:
   def __call__(self, event):
-    yes = twisted.logger.PredicateResult.yes
-    no  = twisted.logger.PredicateResult.no
-    try:
-      if event.get('log_level') != LogLevel.info:
-        return yes
-      dflag = event.get('dflag')
-      if dflag is False                            : return yes
-      if dflag                         in debug_set: return yes
-      if dflag is None and DBG.TWISTED in debug_set: return yes
-      return no
-    except Exception:
-      print(traceback.format_exc(), file=org_stderr)
-      return yes
+    return (
+      twisted.logger.PredicateResult.no
+      if logevent_is_boringtwisted(event) else
+      twisted.logger.PredicateResult.yes
+    )
 
 #---------- default config ----------
 
@@ -131,22 +137,22 @@ max_batch_up = 4000
 http_retry = 5
 port = 80
 vroutes = ''
+ifname_client = hippo%%d
+ifname_server = shippo%%d
 
 #[server] or [<client>] overrides
-ipif = userv root ipif %(local)s,%(peer)s,%(mtu)s,slip %(rnets)s
+ipif = userv root ipif %(local)s,%(peer)s,%(mtu)s,slip,%(ifname)s %(rnets)s
 
 # relating to virtual network
 mtu = 1500
 
-[SERVER]
-server = SERVER
 # addrs = 127.0.0.1 ::1
 # url
 
 # relating to virtual network
 vvnetwork = 172.24.230.192
 # vnetwork = <prefix>/<len>
-# vadd  r  = <ipaddr>
+# vaddr    = <ipaddr>
 # vrelay   = <ipaddr>
 
 
@@ -444,12 +450,15 @@ def cfg_process_saddrs(c, ss):
         self._endpointfactory = twisted.internet.endpoints.TCP6ServerEndpoint
         self._inurl = b'[%s]'
     def make_endpoint(self):
-      return self._endpointfactory(reactor, self.port, self.addr)
+      return self._endpointfactory(reactor, self.port,
+                                   interface= '%s' % self.addr)
     def url(self):
       url = b'http://' + (self._inurl % str(self.addr).encode('ascii'))
       if self.port != 80: url += b':%d' % self.port
       url += b'/'
       return url
+    def __repr__(self):
+      return 'ServerAddr'+repr((self.port,self.addr))
 
   c.port = cfg.getint(ss,'port')
   c.saddrs = [ ]
@@ -517,6 +526,10 @@ def cfg_process_ipif(c, sections, varmap):
 
 #---------- startup ----------
 
+def log_debug_config(m):
+  if not DBG.CONFIG in debug_set: return
+  print('DBG.CONFIG:', m)
+
 def common_startup(process_cfg):
   # calls process_cfg(putative_clients, putative_servers)
 
@@ -528,7 +541,7 @@ def common_startup(process_cfg):
   def readconfig(pathname, mandatory=True):
     def log(m, p=pathname):
       if not DBG.CONFIG in debug_set: return
-      print('DBG.CONFIG: %s: %s' % (m, pathname))
+      log_debug_config('%s: %s' % (m, p))
 
     try:
       files = os.listdir(pathname)
@@ -687,3 +700,4 @@ def common_run():
   log_debug(DBG.INIT, 'entering reactor')
   if not _crashing: reactor.run()
   print('ENDED', file=sys.stderr)
+  sys.exit(16)