Browse Source

Rewrite protos and disable rustfmt on them

main
ThePerkinrex 5 years ago
parent
commit
a559bcdf1c
No known key found for this signature in database GPG Key ID: FD81DE6D75E20917
  1. 11
      server/src/games/config.rs
  2. 8
      server/src/games/run/types.rs
  3. 5
      server/src/server/protos.rs
  4. 16
      server/src/server/protos/common.rs
  5. 30
      server/src/server/protos/connection.rs
  6. 138
      server/src/server/protos/game.rs
  7. 28
      server/src/server/protos/lobby.rs
  8. 142
      server/src/server/protos/protocol.rs

11
server/src/games/config.rs

@ -77,12 +77,11 @@ impl Config {
let folder = folder.clone();
tokio::task::spawn_blocking(|| cache_image(p, folder));
}
for
Card {
image,
back_image,
other: _,
} in self.available_cards.values()
for Card {
image,
back_image,
other: _,
} in self.available_cards.values()
{
{
let folder = folder.clone();

8
server/src/games/run/types.rs

@ -236,6 +236,12 @@ impl RunningPile {
other.insert(k, v);
}
Ok(Self { name, cards, face_down, visible, other })
Ok(Self {
name,
cards,
face_down,
visible,
other,
})
}
}

5
server/src/server/protos.rs

@ -1,14 +1,19 @@
#[rustfmt::skip]
#[allow(non_camel_case_types)]
pub mod connection;
#[rustfmt::skip]
#[allow(non_camel_case_types)]
pub mod lobby;
#[rustfmt::skip]
#[allow(non_camel_case_types)]
pub mod game;
#[rustfmt::skip]
#[allow(non_camel_case_types)]
pub mod common;
#[rustfmt::skip]
#[allow(non_camel_case_types)]
pub mod protocol;

16
server/src/server/protos/common.rs

@ -1,17 +1,17 @@
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Name {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LastStatusTimestamp {
#[prost(message, optional, tag = "1")]
pub time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(uint32, tag = "2")]
pub lobby: u32,
#[prost(message, optional, tag="1")]
pub time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(uint32, tag="2")]
pub lobby: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HasNewStatus {
#[prost(bool, tag = "1")]
pub value: bool,
#[prost(bool, tag="1")]
pub value: bool,
}

30
server/src/server/protos/connection.rs

@ -11,28 +11,28 @@
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Game {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub version: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "3")]
pub authors: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(uint32, tag = "4")]
pub id: u32,
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub version: ::prost::alloc::string::String,
#[prost(string, repeated, tag="3")]
pub authors: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(uint32, tag="4")]
pub id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UserId {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag="1")]
pub id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyConfig {
/// repeated uint32 allowed_games = 2;
#[prost(bool, tag = "1")]
pub public: bool,
/// repeated uint32 allowed_games = 2;
#[prost(bool, tag="1")]
pub public: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyCode {
#[prost(uint32, tag = "1")]
pub code: u32,
#[prost(uint32, tag="1")]
pub code: u32,
}

138
server/src/server/protos/game.rs

@ -8,97 +8,97 @@
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CardKind {
#[prost(string, tag = "1")]
pub kind: ::prost::alloc::string::String,
#[prost(string, tag="1")]
pub kind: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Image {
#[prost(bytes = "vec", tag = "1")]
pub face: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "2")]
pub back: ::prost::alloc::vec::Vec<u8>,
#[prost(string, tag = "3")]
pub kind: ::prost::alloc::string::String,
#[prost(bytes="vec", tag="1")]
pub face: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes="vec", tag="2")]
pub back: ::prost::alloc::vec::Vec<u8>,
#[prost(string, tag="3")]
pub kind: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CardIndex {
#[prost(oneof = "card_index::Pos", tags = "1, 2, 3")]
pub pos: ::core::option::Option<card_index::Pos>,
#[prost(oneof="card_index::Pos", tags="1, 2, 3")]
pub pos: ::core::option::Option<card_index::Pos>,
}
/// Nested message and enum types in `CardIndex`.
pub mod card_index {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Pos {
#[prost(uint32, tag = "1")]
Index(u32),
#[prost(message, tag = "2")]
Top(()),
#[prost(message, tag = "3")]
Bottom(()),
}
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Pos {
#[prost(uint32, tag="1")]
Index(u32),
#[prost(message, tag="2")]
Top(()),
#[prost(message, tag="3")]
Bottom(()),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PileKind {
#[prost(oneof = "pile_kind::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<pile_kind::Kind>,
#[prost(oneof="pile_kind::Kind", tags="1, 2")]
pub kind: ::core::option::Option<pile_kind::Kind>,
}
/// Nested message and enum types in `PileKind`.
pub mod pile_kind {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(uint32, tag = "1")]
Owned(u32),
#[prost(message, tag = "2")]
Common(()),
}
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(uint32, tag="1")]
Owned(u32),
#[prost(message, tag="2")]
Common(()),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CardId {
#[prost(message, optional, tag = "1")]
pub pile_kind: ::core::option::Option<PileKind>,
#[prost(string, tag = "2")]
pub pile_name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub card_index: ::core::option::Option<CardIndex>,
#[prost(message, optional, tag="1")]
pub pile_kind: ::core::option::Option<PileKind>,
#[prost(string, tag="2")]
pub pile_name: ::prost::alloc::string::String,
#[prost(message, optional, tag="3")]
pub card_index: ::core::option::Option<CardIndex>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GameStatus {
/// {a: [""], b:[""]}
#[prost(message, optional, tag = "1")]
pub common_piles: ::core::option::Option<game_status::Piles>,
/// [{...}, {...}]
#[prost(message, repeated, tag = "2")]
pub player_piles: ::prost::alloc::vec::Vec<game_status::Piles>,
#[prost(message, repeated, tag = "3")]
pub names: ::prost::alloc::vec::Vec<super::common::Name>,
#[prost(uint32, tag = "4")]
pub current_turn: u32,
/// {a: [""], b:[""]}
#[prost(message, optional, tag="1")]
pub common_piles: ::core::option::Option<game_status::Piles>,
/// [{...}, {...}]
#[prost(message, repeated, tag="2")]
pub player_piles: ::prost::alloc::vec::Vec<game_status::Piles>,
#[prost(message, repeated, tag="3")]
pub names: ::prost::alloc::vec::Vec<super::common::Name>,
#[prost(uint32, tag="4")]
pub current_turn: u32,
}
/// Nested message and enum types in `GameStatus`.
pub mod game_status {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Card {
#[prost(message, optional, tag = "1")]
pub kind: ::core::option::Option<super::CardKind>,
#[prost(bool, tag = "2")]
pub visible: bool,
#[prost(string, tag = "3")]
pub uuid: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pile {
#[prost(message, repeated, tag = "1")]
pub cards: ::prost::alloc::vec::Vec<Card>,
#[prost(bool, tag = "2")]
pub face_down: bool,
#[prost(bool, tag = "3")]
pub visible: bool,
#[prost(string, tag = "4")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Piles {
#[prost(map = "string, message", tag = "1")]
pub piles: ::std::collections::HashMap<::prost::alloc::string::String, Pile>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Card {
#[prost(message, optional, tag="1")]
pub kind: ::core::option::Option<super::CardKind>,
#[prost(bool, tag="2")]
pub visible: bool,
#[prost(string, tag="3")]
pub uuid: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pile {
#[prost(message, repeated, tag="1")]
pub cards: ::prost::alloc::vec::Vec<Card>,
#[prost(bool, tag="2")]
pub face_down: bool,
#[prost(bool, tag="3")]
pub visible: bool,
#[prost(string, tag="4")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Piles {
#[prost(map="string, message", tag="1")]
pub piles: ::std::collections::HashMap<::prost::alloc::string::String, Pile>,
}
}

28
server/src/server/protos/lobby.rs

@ -10,24 +10,24 @@
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Vote {
#[prost(string, tag = "1")]
pub player: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub game: u32,
#[prost(bool, tag = "3")]
pub ready: bool,
#[prost(string, tag="1")]
pub player: ::prost::alloc::string::String,
#[prost(uint32, tag="2")]
pub game: u32,
#[prost(bool, tag="3")]
pub ready: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SingleVote {
#[prost(uint32, tag = "2")]
pub game: u32,
#[prost(uint32, tag="2")]
pub game: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyStatus {
#[prost(message, repeated, tag = "1")]
pub names: ::prost::alloc::vec::Vec<super::common::Name>,
#[prost(message, repeated, tag = "2")]
pub votes: ::prost::alloc::vec::Vec<Vote>,
#[prost(bool, tag = "3")]
pub is_starting: bool,
#[prost(message, repeated, tag="1")]
pub names: ::prost::alloc::vec::Vec<super::common::Name>,
#[prost(message, repeated, tag="2")]
pub votes: ::prost::alloc::vec::Vec<Vote>,
#[prost(bool, tag="3")]
pub is_starting: bool,
}

142
server/src/server/protos/protocol.rs

@ -1,95 +1,89 @@
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientServerPacket {
#[prost(
oneof = "client_server_packet::Data",
tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14"
)]
pub data: ::core::option::Option<client_server_packet::Data>,
#[prost(oneof="client_server_packet::Data", tags="1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14")]
pub data: ::core::option::Option<client_server_packet::Data>,
}
/// Nested message and enum types in `ClientServerPacket`.
pub mod client_server_packet {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Data {
/// CONNECTION
#[prost(message, tag = "1")]
QueryName(()),
#[prost(message, tag = "2")]
Connect(super::super::common::Name),
#[prost(message, tag = "3")]
Disconnect(()),
#[prost(message, tag = "4")]
JoinLobby(super::super::connection::LobbyCode),
#[prost(message, tag = "5")]
CreateLobby(super::super::connection::LobbyConfig),
#[prost(message, tag = "6")]
QueryGames(()),
#[prost(message, tag = "7")]
QueryPublicLobbies(()),
/// LOBBY
#[prost(message, tag = "8")]
QueryUsers(()),
#[prost(message, tag = "9")]
Vote(super::super::lobby::SingleVote),
#[prost(message, tag = "10")]
Ready(()),
#[prost(message, tag = "11")]
Leave(()),
/// GAME
#[prost(message, tag = "12")]
QueryCardImage(super::super::game::CardKind),
#[prost(message, tag = "13")]
CallOnClick(super::super::game::CardId),
#[prost(message, tag = "14")]
QueryGameStatus(()),
}
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Data {
/// CONNECTION
#[prost(message, tag="1")]
QueryName(()),
#[prost(message, tag="2")]
Connect(super::super::common::Name),
#[prost(message, tag="3")]
Disconnect(()),
#[prost(message, tag="4")]
JoinLobby(super::super::connection::LobbyCode),
#[prost(message, tag="5")]
CreateLobby(super::super::connection::LobbyConfig),
#[prost(message, tag="6")]
QueryGames(()),
#[prost(message, tag="7")]
QueryPublicLobbies(()),
/// LOBBY
#[prost(message, tag="8")]
QueryUsers(()),
#[prost(message, tag="9")]
Vote(super::super::lobby::SingleVote),
#[prost(message, tag="10")]
Ready(()),
#[prost(message, tag="11")]
Leave(()),
/// GAME
#[prost(message, tag="12")]
QueryCardImage(super::super::game::CardKind),
#[prost(message, tag="13")]
CallOnClick(super::super::game::CardId),
#[prost(message, tag="14")]
QueryGameStatus(()),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServerClientPacket {
#[prost(
oneof = "server_client_packet::Data",
tags = "1, 2, 3, 4, 5, 6, 7, 8, 9"
)]
pub data: ::core::option::Option<server_client_packet::Data>,
#[prost(oneof="server_client_packet::Data", tags="1, 2, 3, 4, 5, 6, 7, 8, 9")]
pub data: ::core::option::Option<server_client_packet::Data>,
}
/// Nested message and enum types in `ServerClientPacket`.
pub mod server_client_packet {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Data {
/// CONNECTION
#[prost(message, tag = "1")]
ReturnName(super::super::common::Name),
#[prost(message, tag = "2")]
ReturnConnect(super::super::connection::UserId),
#[prost(message, tag = "3")]
ReturnCreateLobby(super::super::connection::LobbyCode),
#[prost(message, tag = "4")]
ReturnGames(super::Games),
#[prost(message, tag = "5")]
ReturnPublicLobbies(super::LobbyCodes),
/// LOBBY
#[prost(message, tag = "6")]
ReturnUsers(super::Names),
#[prost(message, tag = "7")]
LobbyStatus(super::super::lobby::LobbyStatus),
/// GAME
#[prost(message, tag = "8")]
ReturnCardImage(super::super::game::Image),
#[prost(message, tag = "9")]
GameStatus(super::super::game::GameStatus),
}
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Data {
/// CONNECTION
#[prost(message, tag="1")]
ReturnName(super::super::common::Name),
#[prost(message, tag="2")]
ReturnConnect(super::super::connection::UserId),
#[prost(message, tag="3")]
ReturnCreateLobby(super::super::connection::LobbyCode),
#[prost(message, tag="4")]
ReturnGames(super::Games),
#[prost(message, tag="5")]
ReturnPublicLobbies(super::LobbyCodes),
/// LOBBY
#[prost(message, tag="6")]
ReturnUsers(super::Names),
#[prost(message, tag="7")]
LobbyStatus(super::super::lobby::LobbyStatus),
/// GAME
#[prost(message, tag="8")]
ReturnCardImage(super::super::game::Image),
#[prost(message, tag="9")]
GameStatus(super::super::game::GameStatus),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Games {
#[prost(message, repeated, tag = "1")]
pub games: ::prost::alloc::vec::Vec<super::connection::Game>,
#[prost(message, repeated, tag="1")]
pub games: ::prost::alloc::vec::Vec<super::connection::Game>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyCodes {
#[prost(message, repeated, tag = "1")]
pub lobby_codes: ::prost::alloc::vec::Vec<super::connection::LobbyCode>,
#[prost(message, repeated, tag="1")]
pub lobby_codes: ::prost::alloc::vec::Vec<super::connection::LobbyCode>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Names {
#[prost(message, repeated, tag = "1")]
pub names: ::prost::alloc::vec::Vec<super::common::Name>,
#[prost(message, repeated, tag="1")]
pub names: ::prost::alloc::vec::Vec<super::common::Name>,
}

Loading…
Cancel
Save