Commit Graph

21 Commits

Author SHA1 Message Date
Michael Pfaff 2aaa043bd2
See message
- **Breaking change**: Multiple functions renamed in `src/java.rs`. This is not bumping the major version because these functions are considered internal.
- Fix disconnecting dead-lock
- `Client::execute` now disconnects when `Error::ConnectionClosed` or `Error::ConnectionClosedWhileSending` is encountered
- Use `tracing` instead of `log`
- Add the `instrument` attribute to most `Client` functions
- Remove unnecessary `Arc` from JNI bindings
2022-03-26 23:06:08 -04:00
Michael Pfaff 04af242ca7
Overhaul (part 2)
- No more worker thread
- Fully async io thanks to Tokio
- Updated libs
- Client is no longer bound to a specific client id
2022-02-03 15:56:37 -05:00
Michael Pfaff 326354d3b4
Overhaul (part 1) 2022-02-03 09:52:53 -05:00
Patrick Auernig 84de596ffb Allow cloning of Client instances 2018-12-06 02:08:26 +01:00
Patrick Auernig 184abdc07f Rewrite connection manager 2018-12-06 01:05:06 +01:00
Patrick Auernig 3ebc936b10 Remove libc dependency
The function std::process::id() is available in the
"stable" channel now.
2018-12-04 21:31:12 +01:00
Patrick Auernig aaaf2474a6 Implement invite handling commands
Handles SEND_ACTIVITY_JOIN_INVITE and CLOSE_ACTIVITY_REQUEST
2018-04-10 15:14:48 +02:00
Patrick Auernig a9480b9d72 Add method to clear a Rich Presence status 2018-04-08 21:07:19 +02:00
Patrick Auernig 56326618a4 Remove unused imports 2018-04-07 13:39:06 +02:00
Patrick Auernig a1e77c9c35 Implement reconnection logic
Still needs some changes to handle
* Retrying message send
* Resubscribing current event subscriptions
* Make non-blocking again
2018-04-07 13:22:50 +02:00
Patrick Auernig d370cb6432 Add connection manager 2018-04-06 21:51:01 +02:00
Patrick Auernig 520da02162 Add unsubscribe command to client 2018-04-06 13:29:01 +02:00
Patrick Auernig 95d748f211 Model restructuring
* Remove old Command payload and replace with generic one.
* Move Rich Presence model back to src/models.
* Add Subscription command, Ready event and Error event models.
* Add subscribe method to client and implement simple error detection.
2018-04-06 02:28:14 +02:00
Patrick Auernig 60c7f4762f Use default SocketConnection for current platform 2018-04-03 16:01:23 +02:00
Patrick Auernig 1e3e9485df Import restructuring
Use new grouping syntax from Rust 1.25
Group `use` in following order:
std, external, internal
2018-03-29 23:40:56 +02:00
Patrick Auernig 3c79bb15fa Move Rich Presence code into own submodule 2018-03-28 22:55:26 +02:00
Patrick Auernig 00c61cfa72 Represent opcodes as enum instead of u32 2018-03-23 22:54:23 +01:00
Patrick Auernig 53bab6857e Add Connection trait and implement UnixConnection 2018-03-22 22:54:49 +01:00
Patrick Auernig 43c8a6af5f Privatize struct fields 2018-03-22 20:54:18 +01:00
Patrick Auernig 86fa860499 Add log crate 2018-03-22 20:21:08 +01:00
Patrick Auernig f24793d7f2 Add Discord rich presence support
Allow sending rich presence status to your Discord client.
Currently only supports setting the status once.
Only Unix systems supported for now.
2018-03-22 15:35:48 +01:00