Commit Graph

61 Commits

Author SHA1 Message Date
Marcel Märtens
e7452aa7ab do a clear teardown of tokio runtime 2021-03-29 10:34:33 +02:00
Marcel Märtens
e3ef4422b6 cleanup ClientConnArgs 2021-02-22 21:07:20 +01:00
Marcel Märtens
3f5c64bec0 Client::new can now resolve DNS requests, better networking error messages 2021-02-22 17:35:19 +01:00
Marcel Märtens
1a7c179bbb share tokio Runtime between Client and Server, name rayon Threadpool 2021-02-22 17:35:06 +01:00
Marcel Märtens
514d5db038 Update Network Protocol
- now last digit version is compatible 0.6.0 will connect to 0.6.1
 - the TCP DATA Frames no longer contain START field, as it's not needed
 - the TCP OPENSTREAM Frames will now contain the BANDWIDTH field
 - MID is not Protocol internal

Update network
 - update API with Bandwidth

Update veloren
 - introduce better runtime and `async` things that are IO bound.
 - Remove `uvth` and instead use `tokio::runtime::Runtime::spawn_blocking`
 - remove futures_execute from client and server use tokio::runtime::Runtime instead
 - give threads a Name
2021-02-22 17:34:55 +01:00
Marcel Märtens
5aa1940ef8 get rid of async_std::channel
switch to `tokio` and `async_channel` crate.
I wanted to do tokio first, but it doesnt feature Sender::close(), thus i included async_channel
Got rid of `futures` and only need `futures_core` and `futures_util`.

Tokio does not support `Stream` and `StreamExt` so for now i need to use `tokio-stream`, i think this will go in `std` in the future

Created `b2b_close_stream_opened_sender_r` as the shutdown procedure does not need a copy of a Sender, it just need to stop it.

Various adjustments, e.g. for `select!` which now requieres a `&mut` for oneshots.

Future things to do:
 - Use some better signalling than oneshot<()> in some cases.
 - Use a Watch for the Prio propergation (impl. it ofc)
 - Use Bounded Channels in order to improve performance
 - adjust tests coding

bring tests to work
2021-02-17 12:38:53 +01:00
Marcel Märtens
1b77b6dc41 Initial switch to tokio for network, minimum working example. 2021-02-17 12:37:59 +01:00
Imbris
82b95974f1 Log errors occuring when client keeps retrying connection to the server 2020-11-22 03:54:19 -05:00
Marcel Märtens
c74e5e4b47 Changes requested in rewiew 2020-07-13 23:41:32 +02:00
Marcel Märtens
9d32e3f884 proper voxygen connect and code cleanups:
- voxygen abort when the server has a invalid veloren_network handshake, e.g. by outdated version instead of try again
- rename Network `Address` to `ProtocolAddr` as sugested by zest as it's a combination of Protocol and std::io::Addr
- remove the manual byte arrays in `protocols.rs` with something more nice
2020-07-13 13:03:20 +02:00
Marcel Märtens
fe47b11345 instead of trying to connect for 80 minutes, just try 4 mins, added Changelog 2020-07-04 12:37:50 +02:00
Marcel Märtens
e7195b57ad extend network with better Error codes for Network 2020-07-04 12:32:52 +02:00
Marcel Märtens
15ff58cd6a simple fmt in order to make the replacement commit as simple as possible 2020-07-03 13:11:44 +02:00
Marcel Märtens
4e92c0160e network layer switch, doing the stuff that might confict.
- mostly its the message handling put now in a async wrapper
 - add some fixes to pass without warnings and make clippy happy
 - some network error handling is ignored, this can be improved but is no blocker
2020-07-03 13:11:38 +02:00
Marcel Märtens
77c90b2c7c doing a simple 1:1 swap out network coding
this is the part which prob has less Merge conflics and is easy to rebase
the next commit will have prob alot of merge conflics
followed by a fmt commit
2020-07-03 13:11:31 +02:00
Ben Wallis
950c62efc6 Suppressed all existing clippy warnings in preparation for fixes as part of #587 2020-06-10 22:01:42 +01:00
Imbris
a04c1b1d1d Add uid to Player component
fix: world examples
2020-03-08 22:58:38 +01:00
Songtronix
ac5ff453cc improve(voxygen): error handling while connecting 2020-03-08 22:54:49 +01:00
Imbris
8ef1251dc2 Add warning prompt for untrusted auth servers, move some auth code into 2020-03-08 22:51:37 +01:00
Acrimon
584dcddba9 Updated to latest and greatest auth version. 2020-03-08 22:46:40 +01:00
Songtronix
50b845d1c3 :/ and reactivated the password field 2020-03-08 22:34:06 +01:00
Marcel Märtens
dae31ae5b6 apply new rustfmt - touching alot of files 2020-02-01 21:39:39 +01:00
Joshua Yanovski
72287f2041 Implement carving strategy for lake connections.
Also fix mapgen slopes and make a much more pleasing world.
2020-01-23 18:18:08 +01:00
Piotr Korgól
e1adf40856 Improvement: Replace all '..=b' with '..b + 1' 2020-01-12 15:46:53 +01:00
Songtronix
70eb2eed33 remove: discord rich presence 2020-01-10 17:01:50 +01:00
Imbris
06ea29bd4c Small connection error handling improvement 2019-12-31 16:38:13 -05:00
Shane Handley
0fabe70960
Ignore warning about variant never being constructed. It's being used
elsewhere. Not sure why that isn't being picked up.
2019-11-06 21:34:19 +01:00
Shane Handley
4330b33ce0
Hmm, alright have it your way rust. Not my change, so leaving it alone. 2019-11-06 21:34:18 +01:00
Shane Handley
fb3350c605
Removed error which is now handled by the ServerTimeout case 2019-11-06 21:34:18 +01:00
Shane Handley
81f41e278e
Remove unused warn and fix dangling parameter. 2019-11-06 21:34:17 +01:00
timokoesters
4a65cddd15
improvement: remove wait because it now always retries 2019-11-06 21:34:16 +01:00
Shane Handley
26acd8b427
Bump up the timeout tie for booting the single player server 2019-11-06 21:34:16 +01:00
timokoesters
c733c95718
improvement: UI for connecting to singleplayer servers + threading fixes 2019-11-06 21:34:15 +01:00
Acrimon
fda47fc322 [Voxygen] Switch mutexes to parking_lot and channels to crossbeam. 2019-08-16 00:07:09 +02:00
telastrus
07d3384b01 fixed the silent kick, made it actually proper 2019-08-08 17:58:36 -04:00
telastrus
66e254db7f actually removed printlns 2019-08-08 12:09:14 -04:00
telastrus
35a3f67e19 ran cargo fmt 2019-08-08 12:05:38 -04:00
telastrus
de2082469d auth done, no popup yet 2019-08-08 12:01:15 -04:00
telastrus
f2ed2870c6 90% there 2019-08-08 11:23:58 -04:00
telastrus
6d94d43021 still compiles 2019-08-07 23:56:02 -04:00
telastrus
157c4816b3 laying the groundwork 2019-08-07 15:42:44 -04:00
Songtronix
b6c8bdc223 add configurable max player count 2019-07-17 18:32:01 +02:00
Songtronix
6fa086b964 remove expects, warnings, code duplication 2019-07-07 16:16:06 +02:00
Songtronix
2338084af0 Add Linux support 2019-07-07 16:16:06 +02:00
Songtronix
1be8f5e422 Update status according the play state 2019-07-07 16:16:05 +02:00
Cody
14ac5babd4 Removes most unused imports; changes some unused variables to underscores or provides a leading underscore; removes some unnecessary variables and mutable declarations; and performs other miscellaneous warning fixes. 2019-06-06 14:48:41 +00:00
Joshua Barretto
fc25dc8c7f fmt
Former-commit-id: 1f7bec8da117091b3f2e8f58ce45b9caf1b6c89d
2019-05-21 23:31:38 +01:00
Joshua Barretto
a696847f67 Fixed singleplayer failure caused by worldgen
Former-commit-id: a2fdb56682922694b32e4d25890afa7a90c5b923
2019-05-21 23:31:17 +01:00
Joshua Barretto
3508e4afcb Added view distance configuration
Former-commit-id: b3c7a21631ce0c6b058f25aede0e3e2895a16f81
2019-05-19 01:45:02 +01:00
Cody
6b09fd7c53 Pedantic comment and language fixes.
Former-commit-id: eb49765c911aaa97a9c8ed351216a7a6f8411213
2019-05-17 18:32:07 -04:00