Commit Graph

321 Commits

Author SHA1 Message Date
Mickael Remond
45c7ca74b1 Make client use the new Router 2019-06-18 14:36:56 +02:00
Mickael Remond
7aef8357ed Clean-up 2019-06-18 14:36:56 +02:00
Mickael Remond
2c7b03fcea Clean-up 2019-06-18 14:36:56 +02:00
Mickael Remond
9b57809e9d Adapt examples to new routing library for components 2019-06-18 14:36:56 +02:00
Mickael Remond
f0f0d5a285 Improve component README 2019-06-18 14:36:56 +02:00
Mickael Remond
61cdac89e0 Add support for generating delegation forwarded iq response 2019-06-18 14:36:56 +02:00
Mickael Remond
c6f0d03f60 Add support for delegation namespace packet parsing
Refactor and clean up pubsub & pep files
2019-06-18 14:36:56 +02:00
Mickael Remond
cc2fa7307f Ignore directory where I put private notes 2019-06-18 14:36:56 +02:00
Mickael Remond
9db33d5792 Introduce Sender interface to abstract client sending in router handlers 2019-06-18 14:36:56 +02:00
Mickael Remond
b05e68c844 Add router to make it easier to set up routing info
- Using the router, the dispatch is not done anymore by receiving from
  receive channel, but by registering callback functions in routers,
  with matchers.
- Make IQPayload a real interface to make it easier to match namespaces.
- The StreamManager Run command is now blocking, waiting for StreamManager
  to terminate.
2019-06-18 14:36:56 +02:00
Mickaël Rémond
f7b7482d2e
Update README.md 2019-06-18 09:01:07 +02:00
genofire
355401aa84 wrong package import url let it failed 2019-06-18 08:58:39 +02:00
Mickael Remond
eb54ec9fb1
Update Fluux XMPP version for examples 2019-06-11 15:31:28 +02:00
Mickaël Rémond
4d4710463d
Add basic support for keep-alive (#48)
Fix #35 

This should also help with #8
2019-06-11 15:29:08 +02:00
Mickael Remond
2af9521036
Add support for detecting ProcessOne extensions 2019-06-11 09:20:33 +02:00
Mickael Remond
30e6adc073
Add support for detecting Stream Management 2019-06-10 16:36:47 +02:00
Mickael Remond
709a95129e
Clean up and fix StartTLS feature discovery
Required field was never set to true
2019-06-10 16:27:52 +02:00
Mickael Remond
44568fcf2b
Remove dead code
For now the component is not able to handle the discovery requests on its own.
2019-06-10 15:06:41 +02:00
Mickael Remond
08bb9965b8
Update component to advertise version feature and return it 2019-06-10 12:35:48 +02:00
Mickael Remond
322a6594e7
Fix missing entry in payload registry 2019-06-10 12:30:01 +02:00
Mickael Remond
45cb2e6f34
Add support for Software Version parsing 2019-06-10 11:56:07 +02:00
Mickael Remond
411619c2ef
Make channel type more specific (Packet instead of interface{})
Thanks to Genofire for spotting this
2019-06-10 10:58:41 +02:00
Mickael Remond
36e3379f5a
Update examples dependencies 2019-06-09 13:18:54 +02:00
Mickael Remond
bc2fad6693 Let component handle discovery for now 2019-06-09 13:08:25 +02:00
Mickael Remond
909cf753c9 Fix missing default channel creation 2019-06-09 13:08:25 +02:00
Mickael Remond
83ae778d33 Return errors on SendRaw 2019-06-09 13:08:25 +02:00
Mickael Remond
6fc12e9779 Fix import and test 2019-06-09 13:08:25 +02:00
Mickael Remond
2d95ca9384 Simplify component writing and make it similar to client 2019-06-09 13:08:25 +02:00
Mickael Remond
736a60cd1b Use StreamClient interface in StreamManager 2019-06-09 13:08:25 +02:00
Mickael Remond
021f6d3740 Refactor ClientManager into a more generic StreamManager 2019-06-09 13:08:25 +02:00
Mickael Remond
54dfa60f12 Clean-up 2019-06-09 13:08:25 +02:00
Mickaël Rémond
36900cee20
Update README.md 2019-06-08 19:16:20 +02:00
Mickael Remond
d4a8616da2
Move examples out of the cmd directory
They are now in _examples dir.
Fix #26
2019-06-08 11:34:09 +02:00
Mickael Remond
b7461ae97f
Do not reconnect on "connection replaced" stream errors
Fix #45
2019-06-08 11:15:51 +02:00
Mickael Remond
3689448c90
Adds an example directly in README file to get a feel of the API 2019-06-07 16:33:10 +02:00
Mickael Remond
0865f4e35c
Improves comments 2019-06-07 16:30:57 +02:00
Mickael Remond
eb2b506e3b
Add helpers to access full / bare jid as string 2019-06-07 16:25:18 +02:00
Mickael Remond
ae153e1ee5
Fix filename 2019-06-07 16:00:58 +02:00
Mickael Remond
1be04b0fba
Expose JID fields and rename to match XEP-0029 wording
See: XEP-0029 - Definition of Jabber Identifiers (JIDs)
https://xmpp.org/extensions/xep-0029.html
2019-06-07 15:56:41 +02:00
Mickael Remond
269f78b30d
Fix typo 2019-06-07 15:40:34 +02:00
Mickael Remond
2d8d4516fd
Handling basic unrecoverable errors
Fix #43
2019-06-07 15:23:23 +02:00
Mickael Remond
d45dd6a44a
Returned client will be nil if parameter are incorrect 2019-06-07 12:16:58 +02:00
Mickael Remond
b8fdc510a6
Further improvements on JID parsing 2019-06-07 11:40:31 +02:00
Martin/Geno
3ccc2680b0 Add typing support: XEP-0085: Chat State Notifications 2019-06-07 09:25:13 +02:00
Martin/Geno
3ea0e38f98 fix chat markers - id is a attribute not element 2019-06-07 09:24:00 +02:00
Mickael Remond
b7c21871b1
Add TODO 2019-06-06 19:12:31 +02:00
Mickael Remond
a451e64638
Improves comments 2019-06-06 12:01:49 +02:00
Mickaël Rémond
2f391fde80
Add Client Manager to monitor connection state and trigger reconnect (#39)
- Support for exponential backoff on reconnect to be gentle on the server.
- Clean up client by moving metrics and retry strategy to the connection manager.
- Update echo_client to use client manager
- Fix echo client XMPP message matching

Fixes #21
Improvements for #8
2019-06-06 11:58:50 +02:00
Mickael Remond
6cdadc95e9
Expose type registry for custom user-defined payload and extensions 2019-06-05 10:23:18 +02:00
Mickael Remond
b93a3a2550
Improve JID parsing
Clean up tests
Fix #1
2019-06-05 10:02:24 +02:00