OXIESEC PANEL
- Current Dir:
/
/
opt
/
alt
/
python37
/
lib
/
python3.7
/
site-packages
/
exabgp
/
reactor
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
03/16/2023 12:55:54 PM
rwxr-xr-x
📄
__init__.py
0 bytes
03/13/2021 04:30:48 PM
rw-r--r--
📁
__pycache__
-
03/16/2023 12:55:54 PM
rwxr-xr-x
📁
api
-
03/16/2023 12:55:54 PM
rwxr-xr-x
📄
asynchronous.py
1.83 KB
03/13/2021 04:30:48 PM
rw-r--r--
📄
daemon.py
6.46 KB
03/13/2021 04:30:48 PM
rw-r--r--
📄
delay.py
648 bytes
03/13/2021 04:30:48 PM
rw-r--r--
📄
interrupt.py
2.62 KB
03/13/2021 04:30:48 PM
rw-r--r--
📄
keepalive.py
1.65 KB
03/13/2021 04:30:48 PM
rw-r--r--
📄
listener.py
9.93 KB
03/13/2021 04:30:48 PM
rw-r--r--
📄
loop.py
19.4 KB
03/13/2021 04:30:48 PM
rw-r--r--
📁
network
-
03/16/2023 12:55:54 PM
rwxr-xr-x
📄
peer.py
27.95 KB
03/13/2021 04:30:48 PM
rw-r--r--
📄
protocol.py
15.65 KB
03/13/2021 04:30:48 PM
rw-r--r--
Editing: keepalive.py
Close
# encoding: utf-8 """ peer.py Created by Thomas Mangin on 2009-08-25. Copyright (c) 2017-2017 Exa Networks. All rights reserved. """ from exabgp.vendoring import six from exabgp.bgp.timer import SendTimer from exabgp.bgp.message import Notify from exabgp.reactor.network.error import NetworkError # =========================================================================== KA # class KA(object): def __init__(self, session, proto): self._generator = self._keepalive(proto) self.send_timer = SendTimer(session, proto.negotiated.holdtime) def _keepalive(self, proto): need_ka = False generator = None while True: # SEND KEEPALIVES need_ka |= self.send_timer.need_ka() if need_ka: if not generator: generator = proto.new_keepalive() need_ka = False if not generator: yield False continue try: # try to close the generator and raise a StopIteration in one call six.next(generator) six.next(generator) # still running yield True except NetworkError: raise Notify(4, 0, 'problem with network while trying to send keepalive') except StopIteration: generator = None yield False def __call__(self): # True if we need or are trying # False if we do not need to send one try: return six.next(self._generator) except StopIteration: raise Notify(4, 0, 'could not send keepalive')