예제 #1
0
파일: ga_hdlr.py 프로젝트: randix/aprsna
  def handle_close(self):
    if cfg.atm[self.wsid]['domain'] != '':
      log.l.LogIt('RTG022', 'I', 'close pvc=%s wsid=%s',
                                                       (self.pvc, self.wsid))
    else:
      log.l.LogIt('RTG023', 'I', 'close pvc=%s wsid=%s', (self.pvc, self.wsid))

    cfg.atm[self.wsid]['gasock'] = None
    cfg.atm[self.wsid]['gastate'] = 'c'
    if cfg.atm[self.wsid]['bnmsock'] != None:
      cfg.atm[self.wsid]['bnmsock'].reason = 0
      cfg.atm[self.wsid]['bnmsock'].handle_close()
    sna_hdlr.disconnect(self.pvc)
예제 #2
0
파일: ga_hdlr.py 프로젝트: randix/aprsna
 def __init__(self, pvc, wsid, pbmpkt):
   log.l.LogIt('RTG017', 'I', 'ga connect pvc=%s wsid=%s', (pvc, wsid))
   self.pvc = pvc
   self.wsid = wsid
   self.tcpip = 0
   if cfg.atm.has_key(self.wsid) and cfg.atm[self.wsid]['gasock']:
     # second WSID !
     log.l.LogIt('RTG014', 'E', '%s (%s) duplicate wsid - closed',
                                                 (self.wsid, self.pvc))
     # XXX bnmroutc
     sna_hdlr.disconnect(self.pvc)
     return
   gainit(self)
   cfg.atm[self.wsid]['pvc'] = self.pvc
   cfg.atm[self.wsid]['x25port'] = self.pvc[0]
   cfg.atm[self.wsid]['x25'] = self.pvc[1:3]
   header = pbm.pbm2header(pbmpkt)
   pbmascii = pbm.ebcdic2ascii(pbmpkt)
   log.l.LogIt('RTG018', 'D', 'gi: %s', (pbmascii))
   cfg.atm[self.wsid]['event'] = (pbmascii, header, pbmpkt)
   getdomain(self.wsid)
   statx25(pvc)