diff options
author | Lauren Perry <lauren.perry@codethink.co.uk> | 2015-02-13 13:23:16 +0000 |
---|---|---|
committer | Lauren Perry <lauren.perry@codethink.co.uk> | 2015-02-25 12:21:58 +0000 |
commit | 44124646579f5d7f0579bc70395723d4c0bdbcb5 (patch) | |
tree | 73ca146a896f70b3f78976b2fbbd3d52cdecbdf7 /distbuild/initiator_connection.py | |
parent | 88e8767791d85aa0d01715f04b7e0f311f54759e (diff) | |
download | morph-44124646579f5d7f0579bc70395723d4c0bdbcb5.tar.gz |
Add protocol versioning for distbuild systems
Diffstat (limited to 'distbuild/initiator_connection.py')
-rw-r--r-- | distbuild/initiator_connection.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/distbuild/initiator_connection.py b/distbuild/initiator_connection.py index c7f9dec7..86df28f1 100644 --- a/distbuild/initiator_connection.py +++ b/distbuild/initiator_connection.py @@ -102,6 +102,18 @@ class InitiatorConnection(distbuild.StateMachine): try: if event.msg['type'] == 'build-request': + if (event.msg.get('protocol_version') != + distbuild.protocol.VERSION): + msg = distbuild.message('build-failed', + id=event.msg['id'], + reason=('Protocol version mismatch between server & ' + 'initiator: distbuild network uses distbuild ' + 'protocol version %i, but client uses version' + ' %i.', distbuild.protocol.VERSION, + event.msg.get('protocol_version'))) + self.jm.send(msg) + self._log_send(msg) + return new_id = self._idgen.next() self.our_ids.add(new_id) self._route_map.add(event.msg['id'], new_id) |