Commit Graph

30 Commits

Author SHA1 Message Date
Mickael Remond
428787d7ab
Refactor and move parsing and stanza to a separate package 2019-06-26 17:14:52 +02:00
Mickael Remond
445bb8efa3
Fix crash on send when disconnected
Fixes #74
2019-06-26 15:58:42 +02:00
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