diff options
author | Katharina Fey <kookie@spacekookie.de> | 2021-02-14 00:06:14 +0100 |
---|---|---|
committer | Katharina Fey <kookie@spacekookie.de> | 2021-02-14 00:06:14 +0100 |
commit | effbdeed66e8de8e769b8ac069926ad1a9110e62 (patch) | |
tree | e4522354e53266204aa9962caccde55d8c815092 /games/rstnode/rst-core/src/net/gen.rs | |
parent | 5dab336049dbc6817e9ff212998690f59f6bbfa8 (diff) |
* 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.rs | 52 |
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 +} |