OPtions - preserve peers
This commit is contained in:
parent
84bbc29650
commit
d7e9ae9a4a
|
@ -624,13 +624,16 @@ def options_config():
|
||||||
tg = int(tg)
|
tg = int(tg)
|
||||||
make_static_tg(tg,2,_tmout,_system)
|
make_static_tg(tg,2,_tmout,_system)
|
||||||
|
|
||||||
|
systems[_system]._peer_sema.acquire(blocking=True)
|
||||||
|
_peerstmp = CONFIG['SYSTEMS'][_system]['PEERS']
|
||||||
CONFIG['SYSTEMS'][_system].update({
|
CONFIG['SYSTEMS'][_system].update({
|
||||||
'TS1_STATIC' : _options['TS1_STATIC'],
|
'TS1_STATIC' : _options['TS1_STATIC'],
|
||||||
'TS2_STATIC' : _options['TS2_STATIC'],
|
'TS2_STATIC' : _options['TS2_STATIC'],
|
||||||
'DEFAULT_REFLECTOR' : int(_options['DEFAULT_REFLECTOR']),
|
'DEFAULT_REFLECTOR' : int(_options['DEFAULT_REFLECTOR']),
|
||||||
'DEFAULT_UA_TIMER' : int(_options['DEFAULT_UA_TIMER'])
|
'DEFAULT_UA_TIMER' : int(_options['DEFAULT_UA_TIMER']),
|
||||||
|
'PEERS' : _peerstmp
|
||||||
})
|
})
|
||||||
|
systems[_system]._peer_sema.release()
|
||||||
|
|
||||||
|
|
||||||
def mysql_config_check():
|
def mysql_config_check():
|
||||||
|
|
|
@ -19,10 +19,10 @@ class Proxy(DatagramProtocol):
|
||||||
self.numPorts = DestPortEnd - DestportStart
|
self.numPorts = DestPortEnd - DestportStart
|
||||||
|
|
||||||
|
|
||||||
def reaper(self,_peer_id,transport):
|
def reaper(self,_peer_id):
|
||||||
if self.debug:
|
if self.debug:
|
||||||
print("dead",_peer_id)
|
print("dead",_peer_id)
|
||||||
#transport.write(b'RPTCL'+_peer_id, ('127.0.0.1',self.peerTrack[_peer_id]['dport']))
|
self.transport.write(b'RPTCL'+_peer_id, ('127.0.0.1',self.peerTrack[_peer_id]['dport']))
|
||||||
self.connTrack[self.peerTrack[_peer_id]['dport']] = False
|
self.connTrack[self.peerTrack[_peer_id]['dport']] = False
|
||||||
del self.peerTrack[_peer_id]
|
del self.peerTrack[_peer_id]
|
||||||
|
|
||||||
|
@ -81,12 +81,13 @@ class Proxy(DatagramProtocol):
|
||||||
# _peer_id = self.connTrack[port]
|
# _peer_id = self.connTrack[port]
|
||||||
if self.debug:
|
if self.debug:
|
||||||
print(data)
|
print(data)
|
||||||
if _peer_id in self.peerTrack:
|
if _peer_id and _peer_id in self.peerTrack:
|
||||||
self.transport.write(data,(self.peerTrack[_peer_id]['shost'],self.peerTrack[_peer_id]['sport']))
|
self.transport.write(data,(self.peerTrack[_peer_id]['shost'],self.peerTrack[_peer_id]['sport']))
|
||||||
#self.peerTrack[_peer_id]['timer'].reset()
|
#self.peerTrack[_peer_id]['timer'].reset()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
_command = data[:4]
|
_command = data[:4]
|
||||||
|
|
||||||
|
@ -132,7 +133,7 @@ class Proxy(DatagramProtocol):
|
||||||
self.peerTrack[_peer_id]['dport'] = _dport
|
self.peerTrack[_peer_id]['dport'] = _dport
|
||||||
self.peerTrack[_peer_id]['sport'] = port
|
self.peerTrack[_peer_id]['sport'] = port
|
||||||
self.peerTrack[_peer_id]['shost'] = host
|
self.peerTrack[_peer_id]['shost'] = host
|
||||||
self.peerTrack[_peer_id]['timer'] = ResettableTimer(self.timeout,self.reaper,[_peer_id,self.transport])
|
self.peerTrack[_peer_id]['timer'] = ResettableTimer(self.timeout,self.reaper,[_peer_id])
|
||||||
self.peerTrack[_peer_id]['timer'].start()
|
self.peerTrack[_peer_id]['timer'].start()
|
||||||
self.transport.write(data, (self.master,_dport))
|
self.transport.write(data, (self.master,_dport))
|
||||||
if self.debug:
|
if self.debug:
|
||||||
|
|
Loading…
Reference in New Issue