Beispiel #1
0
 def on_heartbeat(self):
     session = self.link.session
     if session is None or not session.connected():
         return
     session_strategy = self.link.session.heartbeat_strategy
     if session_strategy.on_heartbeat():
         Trace.warn("{} {} closing due to the keepalive failure", \
             self.link.name, session.handle)
         session.close()
Beispiel #2
0
 def on_heartbeat(self):
     sessions = list(self.link.sessions.values())
     for session in sessions:
         if session is None or not session.connected():
             continue
         session_strategy = session.heartbeat_strategy
         if session_strategy.on_heartbeat():
             Trace.warn("{} {} closing due to the keepalive failure", \
                 self.link.name, session.handle)
             session.close()
Beispiel #3
0
    def cleanup(self):
        with self._lock:
            if self._disposed:
                return

            flow = self.flow
            if flow is None:
                return

            try:
                for binding in self._bindings:
                    flow._unsubscribe(binding[0], binding[1])
                del self._bindings[:]

                self.flow = None
            except BaseException as ex:
                Trace.warn("eventsink: cleanup error {}", ex)
            finally:
                self_disposed = True