Commit Graph

77 Commits

Author SHA1 Message Date
Thom Nichols d22f6a2aa5 make scheduler thread a daemon to prevent shutdown hanging 2010-06-25 16:30:45 -04:00
Thom Nichols bf2bf29fc6 fixed mis-named variable, doc typo and using conformant Condition methods. 2010-06-08 09:02:51 -04:00
Thom Nichols 34dc236126 added documentation for transition_ctx and removed some superfluous comment lines 2010-06-07 14:41:42 -04:00
Thom Nichols 9464736551 added __str__ 2010-06-07 13:58:15 -04:00
Thom Nichols 47f1fb1690 context manager now returns a boolean 'result' as the context variable to indicate whether the transition timed out or if you are actually locked when entering the context body 2010-06-07 13:43:37 -04:00
Thom Nichols 66cf0c2021 context manager is working but there's a fatal flaw: inside the body of the 'with' statement, there's no way to tell whether or not the transition occurred or timed out. 2010-06-07 13:16:02 -04:00
Thom Nichols e7c37c4ec5 connect uses the new function-on-state-transition so when the connect method returns you are guaranteed to be either in the 'connected' or 'disconnected' state. Could remove the 'connecting' state except uses it. 2010-06-04 17:00:51 -04:00
Thom Nichols 919c8c5633 tweaked connectTCP call slightly to reduce possibility of 'connecting' state limbo 2010-06-03 15:21:26 -04:00
Thom Nichols f54501a346 added function execution on transition, and more unit tests. 2010-06-03 14:12:06 -04:00
Thom Nichols d20cd6b3e6 added function execution on transition, and more unit tests. 2010-06-03 13:51:11 -04:00
Thom Nichols da6e1e47dc whups, somehow I lost the 'connecting' lock in connect() 2010-06-03 08:09:09 -04:00
Thom Nichols 2f0f18a8c6 added function to retrieve the current state 2010-06-03 08:07:56 -04:00
Thom Nichols 1c32668e18 fixed quiesce algorithm; state transition if connect fails; note about use_tls instance variable. 2010-06-03 07:47:27 -04:00
Thom Nichols 4295a66c70 reconnection quiesce logic 2010-06-02 14:18:09 -04:00
Thom Nichols 3a2f989c5e Merge branch 'master' into hacks 2010-06-02 14:15:07 -04:00
Thom Nichols 7930ed22f2 overhauled state machine. Now allows for atomic transitions.
Next step: atomic function calls (and maybe 'handlers') on state transition.
2010-06-02 12:39:54 -04:00
Thom Nichols 060b4c3938 Merge branch 'hacks' of github.com:tomstrummer/SleekXMPP 2010-06-01 22:55:01 -04:00
Thom Nichols 49f5767aea merged changes from fritzy 2010-06-01 22:54:30 -04:00
Thom Nichols 4eb210bff5 fixed some major reconnection errors 2010-06-01 22:51:49 -04:00
Thom Nichols 1780ca900a merged a lot of fritzy's changes 2010-06-01 22:40:37 -04:00
Nathan Fritz ecf902bf16 Scheduler waits too longer, and pubsubstate registration was backwards 2010-06-01 22:07:53 +08:00
Nathan Fritz 257bcadd96 control-c fixes 2010-06-01 22:07:52 +08:00
Nathan Fritz 194e6bcb51 added pubsub state stanzas and scheduled events 2010-06-01 22:07:52 +08:00
Nathan Fritz 2e7024419a adding scheduler 2010-06-01 22:07:52 +08:00
Lance Stout 520bf72e11 Modified the return values for several methods so that they can be chained.
For example:

    iq.reply().error().setPayload(something.xml).send()
2010-06-01 22:07:51 +08:00
Tom Nichols 8e95ae2948 attempt to add support for self-signed certificate certs 2010-05-13 13:49:00 -04:00
Tom Nichols 341c110b6a Merge branch 'master' of git@github.com:tomstrummer/SleekXMPP into hacks 2010-05-13 13:48:27 -04:00
Nathan Fritz 4c410dd48a fixed a rather large memory leak 2010-05-14 01:47:19 +08:00
Tom Nichols a92075a659 merged 2010-05-12 16:54:01 -04:00
Tom Nichols 7552efee5c some reconnetion fixes 2010-05-12 16:51:14 -04:00
Brian Beggs e0c32b6d9b Fixes for disconnection problems detailed in http://github.com/fritzy/SleekXMPP/issues/#issue/20
Fixes to both ClientXMPP & xmlstream.  ClientXMPP was not tracking the changes to authenticated and sessionstarted after the client was disconnected.

xmlstream had some funkyness with state in the _process method that was cleaned up and hopefully made a little cleaner.

Also changed a DNS issue that was occuring that rendered me unable to disconnect.  I would recieve the following error upon reconnect.
Exception in thread process:
Exception in thread process:
Traceback (most recent call last):
  File "/usr/local/lib/python2.6/threading.py", line 532, in __bootstrap_inner
    self.run()
  File "/usr/local/lib/python2.6/threading.py", line 484, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/home/macdiesel/tmp/workspace/SleekXMPP/sleekxmpp/xmlstream/xmlstream.py", line 202, in _process
    self.reconnect()
  File "/home/macdiesel/tmp/workspace/SleekXMPP/sleekxmpp/__init__.py", line 134, in reconnect
    XMLStream.reconnect(self)
  File "/home/macdiesel/tmp/workspace/SleekXMPP/sleekxmpp/xmlstream/xmlstream.py", line 289, in reconnect
    self.connect()
  File "/home/macdiesel/tmp/workspace/SleekXMPP/sleekxmpp/__init__.py", line 99, in connect
    answers = dns.resolver.query("_xmpp-client._tcp.%s" % self.server, "SRV")
  File "/usr/local/lib/python2.6/site-packages/dns/resolver.py", line 732, in query
    return get_default_resolver().query(qname, rdtype, rdclass, tcp, source)
  File "/usr/local/lib/python2.6/site-packages/dns/resolver.py", line 617, in query
    source=source)
  File "/usr/local/lib/python2.6/site-packages/dns/query.py", line 113, in udp
    wire = q.to_wire()
  File "/usr/local/lib/python2.6/site-packages/dns/message.py", line 404, in to_wire
    r.add_question(rrset.name, rrset.rdtype, rrset.rdclass)
  File "/usr/local/lib/python2.6/site-packages/dns/renderer.py", line 152, in add_question
    self.output.write(struct.pack("!HH", rdtype, rdclass))
TypeError: unsupported operand type(s) for &: 'unicode' and 'long'

Seems I was getting this error when calling line 99 in ClientXMPP.  You can't bit-shift a 1 and a string and this is why this error is coming up. I removed the "SRV" argument and used the default of 1.  not sure exactly what this should be so it may need to be fixed back before it's merged back to trunk.

The line in question:
answers = dns.resolver.query("_xmpp-client._tcp.%s" % self.server, "SRV")
2010-05-13 04:43:25 +08:00
Nathan Fritz 602a6d8491 bugfixes and continuing to work on pubsub tests 2010-04-22 21:24:28 -07:00
Nathan Fritz 37b571c55a added pubsub#event stanzas, multi-subtypes iterable stanzas, pubsub#event test coverage 2010-04-21 23:51:37 -07:00
Nathan Fritz 212660091f added pubsub tests and fixed match on iterator error 2010-04-19 01:03:27 -07:00
Nathan Fritz 80e7e0d0ee adding tests, fixed stanzapath matching to match keys, fixed pubsub#owner stanzas 2010-04-14 01:23:17 -07:00
Nathan Fritz fef511fd51 bugfix for .disconnect() hanging 2010-04-13 19:35:47 -07:00
Nathan Fritz 935ee4d14e changed license to MIT 2010-03-26 14:32:16 -07:00
Nathan Fritz 7383f72367 stanzabase indent fix 2010-03-24 17:18:39 -07:00
Nathan Fritz 95d2614f21 fix for bug #18 2010-03-24 16:03:16 -07:00
Nathan Fritz d4a490e3f0 fixed xmlstream filesocket issue 2010-03-15 10:19:45 -07:00
Nathan Fritz c239fb1f90 added muc functionality 2010-03-04 09:47:42 -08:00
Nathan Fritz 8d5dbfa691 fixed some presence bugs 2010-02-27 02:02:08 +00:00
Nathan Fritz e06cdec81a fixed some unicode problems for 2.6 2010-02-25 01:12:15 +00:00
Nathan Fritz 58375955a9 added send queueing to avoid mixed sending 2010-02-15 02:13:44 -08:00
Nathan Fritz 5e736f4b97 fixed setup.py issue with unicode in 3.x 2010-01-29 23:57:57 -08:00
Nathan Fritz 23b9930c44 added separate tostring files 2010-01-29 02:11:45 -08:00
Nathan Fritz 395618d3d3 fixed unicode problems in 2.6 2010-01-29 02:04:15 -08:00
Nathan Fritz 65dd83d4e1 Merge branch 'master' of github.com:fritzy/SleekXMPP 2010-01-25 10:40:50 -08:00
Nathan Fritz 6e4c1128ec removed stupid monkeypatch for filesocket 2010-01-25 10:40:44 -08:00
Nathan Fritz 7a9a86af3d fixed matcher bug introduced with stanza matching 2010-01-15 21:36:53 -08:00