Commit Graph

39 Commits (3b66e318886bd3dc86838713d5d5adbd8006c180)

Author SHA1 Message Date
Mickael Remond 005c8823d9 Fixes issue with unescaped character %
Fixes #113
5 years ago
Mickael Remond 8794ea6ed8
Check if we have a connection open before trying to close it
Fixes #22
5 years ago
Mickael Remond 80d2e0fa1e Remove debug print-out 5 years ago
Mickael Remond 2e864ff7f6 Clean-up: remove test/debug code 5 years ago
Mickael Remond 3de99e0e0e Add initial support for stream management
For now it support enabling SM, replying to ack requests from server,
and trying resuming the session with existing Stream Management state.
5 years ago
Mickael Remond c41d068c9f
Improve comments 5 years ago
Mickael Remond 7deaf59642
Quickfix for build error
See #94
5 years ago
genofire fe6cea870d use highest DNS-SRV entry for client connection 5 years ago
Mickael Remond 5992cc2231 Fix XMPP logger consistency
- Rename socketProxy to StreamLogger
- Ensure client send traffic through the logger
5 years ago
Mickael Remond 428787d7ab
Refactor and move parsing and stanza to a separate package 5 years ago
Mickael Remond 445bb8efa3
Fix crash on send when disconnected
Fixes #74
5 years ago
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.
5 years ago
genofire fde524ef98 fix connection to ipv6 address + use fallback to jid domain 5 years ago
Mickael Remond d6d371df4d Do not export Router.route as it is not supposed to be called directly 5 years ago
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
5 years ago
Mickael Remond 4d015e5b29
With go modules, we should be able to remove import comments 5 years ago
Mickael Remond 45c7ca74b1 Make client use the new Router 5 years ago
Mickaël Rémond 4d4710463d
Add basic support for keep-alive (#48)
Fix #35 

This should also help with #8
5 years ago
Mickael Remond 411619c2ef
Make channel type more specific (Packet instead of interface{})
Thanks to Genofire for spotting this
5 years ago
Mickael Remond 909cf753c9 Fix missing default channel creation 5 years ago
Mickael Remond 736a60cd1b Use StreamClient interface in StreamManager 5 years ago
Mickael Remond 021f6d3740 Refactor ClientManager into a more generic StreamManager 5 years ago
Mickael Remond b7461ae97f
Do not reconnect on "connection replaced" stream errors
Fix #45
5 years ago
Mickael Remond 2d8d4516fd
Handling basic unrecoverable errors
Fix #43
5 years ago
Mickael Remond d45dd6a44a
Returned client will be nil if parameter are incorrect 5 years ago
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
5 years ago
Mickaël Rémond 91a7cc9c64
Merge pull request #16 from TheoMcGinley/infinite-retries-fix
Fixed infinite retries for failed TCP dial
6 years ago
Theo McGinley 48bc14b3e0 Closed receiver chan on error 6 years ago
Theo McGinley adf2c13a8c Fixed infinite retries for failed TCP dial 6 years ago
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.
6 years ago
Mickael Remond 95585866c2
Add timing metrics in client.
This can be used to monitor/troubleshoot server performance.
6 years ago
Mickael Remond fa5590e921
Rename Options to Config 6 years ago
Mickael Remond 1c3aaad174
Minor: comment reformat. 6 years ago
Mickael Remond d6bedfb033
Minor cleanup 7 years ago
Mickael Remond ad6e09a0f6
Implements send / send raw 7 years ago
Mickael Remond 993ca630f7
Test and code refactor 7 years ago
Mickael Remond 10219ec1e6
Refactor parsing / improve typing 7 years ago
Mickael Remond 24ac2c0526
Keeps component connection open 7 years ago
Mickael Remond 710174b165
Moving XMPP library to Fluux project 7 years ago