various fixes
- nodestatechange callback must appear after the online attribute is changed - IntRange: move range validation outside of try except - fixes on some error names - well defined error message 'no such class' in secop.lib.get_class - try again 4 times when starting Tcp Server on EADDRINUSE - fix error handling Change-Id: I4eee9b79ea8173936b9f5193b87e006ac8fca827 Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/26171 Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de> Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de> Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
This commit is contained in:
@@ -493,14 +493,12 @@ class SecopClient(ProxyClient):
|
||||
self.log.warning('unhandled message: %s %s %r' % (action, ident, data))
|
||||
|
||||
def _set_state(self, online, state=None):
|
||||
# treat reconnecting as online!
|
||||
state = state or self.state
|
||||
self.callback(None, 'nodeStateChange', online, state)
|
||||
for mname in self.modules:
|
||||
self.callback(mname, 'nodeStateChange', online, state)
|
||||
# set online attribute after callbacks -> callback may check for old state
|
||||
# remark: reconnecting is treated as online
|
||||
self.online = online
|
||||
self.state = state
|
||||
self.state = state or self.state
|
||||
self.callback(None, 'nodeStateChange', self.online, self.state)
|
||||
for mname in self.modules:
|
||||
self.callback(mname, 'nodeStateChange', self.online, self.state)
|
||||
|
||||
def queue_request(self, action, ident=None, data=None):
|
||||
"""make a request"""
|
||||
|
||||
Reference in New Issue
Block a user