Summary: | Add support for multiple points of presence | ||
---|---|---|---|
Product: | papyon | Reporter: | Nicolò Chieffo <84yelo3> |
Component: | general | Assignee: | Louis-Francis Ratté-Boulianne <lfrb> |
Status: | RESOLVED FIXED | QA Contact: | Telepathy bugs list <telepathy-bugs> |
Severity: | normal | ||
Priority: | medium | CC: | nhasian |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
URL: | http://git.collabora.co.uk/?p=user/lfrb/papyon/.git;a=shortlog;h=refs/heads/p2pv2 | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | Convert some gobject timeout_add to timeout_add_seconds. See http://live.gnome.org/GnomeGoals/UseTimeoutAddSeconds |
Description
Nicolò Chieffo
2009-10-06 01:41:22 UTC
This requires implementing P2Pv2, the rest is mostly trivial. *** Bug 22944 has been marked as a duplicate of this bug. *** Moving this to papyon where it belongs. If someone feel like implementing it, the details about P2Pv2 are at: http://code.google.com/p/msnp-sharp/wiki/KB_MSNC12_BinaryHeader Mostly functional in one of my branches (see URL). Feel free to test it out so I can merge it eventually. Note that you have to modify tp-butterfly (or any other client) to use MSNP18. (Argument of Client constructor). Default is still MSNP15. [20:46] <C10uD> lfrb, + source = gobject.timeout_add(int(time * 1000), self.on_timeout, name) = BAD [20:46] <C10uD> lfrb, + source = gobject.timeout_add_seconds(int(time), self.on_timeout, name) = GOOD [20:47] <C10uD> it's not a bug, but i remember reading some time ago in gnome-something that there's difference between those two gobject calls, and the first generates more wakeups than the second [20:48] <C10uD> i didn't really grep'd all papyon source, i just found this while reading msnp18 branch Created attachment 37404 [details] [review] Convert some gobject timeout_add to timeout_add_seconds. See http://live.gnome.org/GnomeGoals/UseTimeoutAddSeconds I've been running butterfly on top of this branch for a while now and it seems to work fine. I reckon we should just merge and release it and then get our hoard of users to test it. What do you think? [12:46:18 DEBUG papyon.transport] >>> OUT 4 [12:46:18 DEBUG papyon.transport] <<< BYE mail@provider.com Traceback (most recent call last): File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/switchboard_manager.py", line 78, in <lambda> lambda sb, contact: self.__on_user_left(contact)) File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/switchboard_manager.py", line 141, in __on_user_left self._on_contact_left(contact) File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/switchboard.py", line 80, in _on_contact_left self.close() File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/switchboard.py", line 42, in close BaseP2PTransport.close(self) File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/base.py", line 76, in close self._transport_manager._unregister_transport(self) File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/transport_manager.py", line 72, in _unregister_transport signals = self._transport_signals[transport] KeyError: <SwitchboardP2PTransport object at 0x31deaf0 (papyon+msnp2p+transport+base+BaseP2PTransport at 0x3028ac0)> [12:46:18 INFO papyon.protocol.switchboard] Disconnected [12:46:34 DEBUG papyon.transport] <<< MSG mail@provider.com Orfeo 294 P2P-Dest: 'qwertyzx@hotmail.it'\r\n Content-Type: 'application/x-msnmsgrp2p'\r\n MIME-Version: '1.0'\r\n \r\n 29 5d 6c 27 c7 15 2f 34 7a 17 00 00 00 00 00 00 45 1a 00 00 00 00 00 00 cb 02 00 00 20 00 00 00 6f be 75 03 00 00 00 00 00 00 00 00 00 00 00 00 [715 bytes of data] 00 00 00 0c Traceback (most recent call last): File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/switchboard_manager.py", line 364, in _sb_message_received handler._on_message_received(message) File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/switchboard.py", line 74, in _on_message_received self._on_chunk_received(chunk) File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/base.py", line 103, in _on_chunk_received self._send_ack(chunk) File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/base.py", line 159, in _send_ack self.send(ack_blob) File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/base.py", line 73, in send self._process_send_queues() File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/base.py", line 144, in _process_send_queues self._send_chunk(chunk) File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/switchboard.py", line 65, in _send_chunk headers = {'P2P-Dest': self.peer.account} AttributeError: 'NoneType' object has no attribute 'account' Happened with file transfer and dp transfer (In reply to comment #9) > File > "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/switchboard.py", > line 65, in _send_chunk > headers = {'P2P-Dest': self.peer.account} > AttributeError: 'NoneType' object has no attribute 'account' Does it always happen with the same contact ? The only reason I see is that the contact is not in your address book. But then it's weird that you can still transfer files and display pictures... Closing this bug as MPOP has been implemented Please file another bug for Comment 8 with a more complete log. Thanks. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.