def _handle_message(self, peer, guid, message): session = MSNObjectSession(self._client._p2p_session_manager, peer, guid, message.body.application_id, message) try: msn_object = MSNObject.parse(self._client, session.context) except Exception, err: session.reject() raise err
def _handle_message(self, peer, message): session = MSNObjectSession(self._client._p2p_session_manager, peer, message.body.application_id, message) handle_id = session.connect("completed", self._incoming_session_transfer_completed) self._incoming_sessions[session] = handle_id try: msn_object = MSNObject.parse(self._client, session._context) except ParseError: session.reject() return for obj in self._published_objects: if obj._data_sha == msn_object._data_sha: session.accept(obj._data) return session session.reject()