def statx25(pvc): dom = cfg.snaid[pvc]['dom'] wsid = cfg.snaid[pvc]['wsid'] # don't send the 'writing' bit ! (too much traffic) msg = string.upper(cfg.name) + ' ' + pvc[0] + ' ' + pvc[1:] + ' ' + \ '%x'%(cfg.snaid[pvc]['status'] & ~0x800) + ' ' + \ cfg.snaid[pvc]['sub'] + ' ' + \ dom + ' ' if wsid != '': msg += wsid + ' ' + \ cfg.atm[wsid]['gastate'] + ' ' + \ cfg.atm[wsid]['bnmstate'] else: msg += '- - -' cfg.stat_buf.append(msg) # tell bnmroutc dom = cfg.snaid[pvc]['dom'] if dom != '-' and wsid != '': ip = cfg.domain[dom]['server'][cfg.domain[dom]['active']] if cfg.servers[ip]['routc']: cfg.servers[ip]['routc'].routcEvt(routc.x25Status(dom, wsid, pvc, '%x'%(cfg.snaid[pvc]['status'] & ~0x800)))
def handle_connect(self): self.keepalive() log.l.LogIt('RBC003', 'I', 'bnmroutc %s connected on port %s', (self.ip, self.getsockname()[1])) cfg.servers[self.ip]['routc'] = self self.msgbuf = [] self.msgbuf.append(routc.heartBeat()) # send all connected and status messages to this bnmroutc atms = cfg.atm.keys() for i in atms: dom = cfg.atm[i]['domain'] if cfg.atm[i]['gastate'] == '=' or cfg.atm[i]['gastate'] == 'o' and \ dom != '': ip = cfg.domain[dom]['server'][cfg.domain[dom]['active']] if ip == self.ip: cfg.servers[ip]['routc'].routcEvt(routc.atmConnect(dom, i)) ga = cfg.atm[i]['gasock'] if ga.tcpip: self.routcEvt(routc.ipAddr(dom, i, ga.peer_ip)) else: self.routcEvt(routc.x25Addr(dom, i, ga.pvc)) self.routcEvt(routc.x25Status(dom, i, ga.pvc, '%x'%(cfg.snaid[ga.pvc]['status'] & ~0x800))) if cfg.atm[i]['bnmstate'] == 'o': self.routcEvt(routc.bnmConnect(dom, i))