Commit graph

32 commits

Author SHA1 Message Date
genofire fe6cea870d use highest DNS-SRV entry for client connection 2019-07-27 09:11:00 -07:00
Mickael Remond 5992cc2231 Fix XMPP logger consistency
- Rename socketProxy to StreamLogger
- Ensure client send traffic through the logger
2019-06-29 10:47:07 +02:00
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
Renamed from xmpp/client.go (Browse further)