Commit Graph

28 Commits

Author SHA1 Message Date
Mickael Remond
1c792e61c6 Adding tests and always use brackets in IPV6 addresses
Code also ensures that brackets are properly added when encoding an IPV6 address.
2019-06-26 12:37:59 +02:00
genofire
fde524ef98 fix connection to ipv6 address + use fallback to jid domain 2019-06-26 12:37:59 +02:00
Mickael Remond
d6d371df4d Do not export Router.route as it is not supposed to be called directly 2019-06-24 12:24:45 +02:00
genofire
d9fdff0839 Add constants (enumlike) for stanza types and simplify packet creation (#62)
* Add constants (enumlike) for stanza types
* NewIQ, NewMessage and NewPresence are now initialized with the Attrs struct
* Update examples
* Do not export backoff code. For now, we do not need to expose backoff in the documentation
* Make presence priority an int8
2019-06-22 11:13:33 +02:00
Mickael Remond
4d015e5b29
With go modules, we should be able to remove import comments 2019-06-18 16:28:30 +02:00
Mickael Remond
45c7ca74b1 Make client use the new Router 2019-06-18 14:36:56 +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
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
909cf753c9 Fix missing default channel creation 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
b7461ae97f
Do not reconnect on "connection replaced" stream errors
Fix #45
2019-06-08 11:15:51 +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
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
Mickaël Rémond
91a7cc9c64
Merge pull request #16 from TheoMcGinley/infinite-retries-fix
Fixed infinite retries for failed TCP dial
2019-02-11 09:48:30 +01:00
Theo McGinley
48bc14b3e0 Closed receiver chan on error 2019-02-09 15:48:27 +00:00
Theo McGinley
adf2c13a8c Fixed infinite retries for failed TCP dial 2019-02-09 14:35:31 +00:00
Mickael Remond
5eae7f4ef7
Move project to gosrc.io/xmpp
The URL will be more permanent as this is a place we dedicate as short URL for our go projects.
2018-12-26 18:50:01 +01:00
Mickael Remond
95585866c2
Add timing metrics in client.
This can be used to monitor/troubleshoot server performance.
2018-09-26 17:26:14 +02:00
Mickael Remond
fa5590e921
Rename Options to Config 2018-09-26 16:25:04 +02:00
Mickael Remond
1c3aaad174
Minor: comment reformat. 2018-09-23 18:43:46 +02:00
Mickael Remond
d6bedfb033
Minor cleanup 2018-02-13 22:07:15 +01:00
Mickael Remond
ad6e09a0f6
Implements send / send raw 2018-01-26 09:55:39 +01:00
Mickael Remond
993ca630f7
Test and code refactor 2018-01-17 18:47:34 +01:00
Mickael Remond
10219ec1e6
Refactor parsing / improve typing 2018-01-13 18:50:17 +01:00
Mickael Remond
24ac2c0526
Keeps component connection open 2018-01-12 19:08:47 +01:00
Mickael Remond
710174b165
Moving XMPP library to Fluux project 2018-01-01 18:12:33 +01:00