aboutsummaryrefslogtreecommitdiff
path: root/games/rstnode/rst-core/src/net/gen.rs
diff options
context:
space:
mode:
authorKatharina Fey <kookie@spacekookie.de>2021-02-14 00:06:14 +0100
committerKatharina Fey <kookie@spacekookie.de>2021-02-14 00:06:14 +0100
commiteffbdeed66e8de8e769b8ac069926ad1a9110e62 (patch)
treee4522354e53266204aa9962caccde55d8c815092 /games/rstnode/rst-core/src/net/gen.rs
parent5dab336049dbc6817e9ff212998690f59f6bbfa8 (diff)
rstnode: refactoring server and client components into rst-coreHEADmaster
* Add an inbox/ outbox system to server components * Define a data flow from Request -> computation -> Update * Create simple handlers to call server or client code for requests
Diffstat (limited to 'games/rstnode/rst-core/src/net/gen.rs')
-rw-r--r--games/rstnode/rst-core/src/net/gen.rs52
1 files changed, 52 insertions, 0 deletions
diff --git a/games/rstnode/rst-core/src/net/gen.rs b/games/rstnode/rst-core/src/net/gen.rs
new file mode 100644
index 000000000000..f0a1f58f1905
--- /dev/null
+++ b/games/rstnode/rst-core/src/net/gen.rs
@@ -0,0 +1,52 @@
+use crate::{
+ error::Error,
+ wire::{
+ AuthErr, Lobby, LobbyErr, LobbyId, LobbyUpdate, MatchErr, RegErr, Response, UpdateState,
+ User, UserId,
+ },
+};
+use chrono::{DateTime, Utc};
+
+pub fn register(r: Result<UserId, RegErr>) -> Response {
+ Response::Register(r)
+}
+
+pub fn login(r: Result<User, AuthErr>) -> Response {
+ Response::Login(r)
+}
+
+pub fn logout(r: Result<(), AuthErr>) -> Response {
+ Response::Logout(r)
+}
+
+pub fn rooms(r: Vec<(String, LobbyId)>) -> Response {
+ Response::Rooms(r)
+}
+
+pub fn join(r: Result<Lobby, LobbyErr>) -> Response {
+ Response::Join(r)
+}
+
+pub fn leave(r: Result<(), LobbyErr>) -> Response {
+ Response::Leave(r)
+}
+
+pub fn ready(r: LobbyUpdate) -> Response {
+ Response::Ready(r)
+}
+
+pub fn start_req(r: DateTime<Utc>) -> Response {
+ Response::StartReq(r)
+}
+
+pub fn game_update(r: UpdateState) -> Response {
+ Response::GameUpdate(r)
+}
+
+pub fn leave_game(r: Result<(), MatchErr>) -> Response {
+ Response::LeaveGame(r)
+}
+
+pub fn invalid() -> Response {
+ Response::Invalid
+}