5#include "wordle-de.pb.h"
11#define INPUT_BUFFER_SIZE 1000
39 uint16_t
sendMessage(
int source_fd,
const char *messageBuffer);
40 uint16_t
sendMessage(
int source_fd,
char *messageBuffer);
42 void sendLoginAck(uint16_t fd,
bool success,
const char *errorMsg =
"") {
43 auto ack =
new wordle_de::LoginAck();
44 ack->set_loggedin(success);
45 ack->set_error(errorMsg);
46 auto msg = wordle_de::Message();
47 msg.set_allocated_loginack(ack);
51 auto result =
new wordle_de::GuessAck();
52 for (
const auto &r : res) {
56 wordle_de::GuessAck_matchType::GuessAck_matchType_NO_MATCH);
60 wordle_de::GuessAck_matchType::GuessAck_matchType_MATCH);
64 wordle_de::GuessAck_matchType::GuessAck_matchType_EXACT_MATCH);
68 auto msg = wordle_de::Message();
69 msg.set_allocated_guessack(result);
std::array< matchType, WORD_LENGTH > guessResultT
Definition: game.hpp:15
@ MATCH
Definition: game.hpp:14
@ EXACT_MATCH
Definition: game.hpp:14
@ NO_MATCH
Definition: game.hpp:14
Definition: server.hpp:13
void stop()
Definition: server.cpp:66
void init()
Definition: server.cpp:128
char remote_ip[INET6_ADDRSTRLEN]
Definition: server.hpp:89
struct sockaddr_storage client_addr
Definition: server.hpp:84
void initializeSocket()
Definition: server.cpp:39
static void createInstance()
Definition: server.cpp:6
void onDisconnect(disconnectCallbackType cb)
Definition: server.cpp:140
void sendGuessAck(uint16_t fd, const GameState::guessResultT &res)
Definition: server.hpp:50
fd_set masterfds
Definition: server.hpp:75
void setup(int port)
Definition: server.cpp:23
void onConnect(newConnectionCallbackType cb)
Definition: server.cpp:136
virtual ~Server()
Definition: server.cpp:21
disconnectCallbackType disconnectCallback
Definition: server.hpp:93
void sendLoginAck(uint16_t fd, bool success, const char *errorMsg="")
Definition: server.hpp:42
static Server * instance
Definition: server.hpp:104
void recvInputFromExisting(int fd)
Definition: server.cpp:83
void handleNewConnection()
Definition: server.cpp:68
fd_set tmpfds
Definition: server.hpp:76
void bindSocket()
Definition: server.cpp:49
std::function< void(uint16_t)> disconnectCallbackType
Definition: server.hpp:17
int mastersocket_fd
Definition: server.hpp:81
std::function< void(uint16_t)> newConnectionCallbackType
Definition: server.hpp:16
struct sockaddr_in server_addr
Definition: server.hpp:85
uint16_t sendMessage(int source_fd, const char *messageBuffer)
Definition: server.cpp:148
void onInput(receiveCallbackType cb)
Definition: server.cpp:134
std::function< void(uint16_t, char *)> receiveCallbackType
Definition: server.hpp:15
Server(const Server &)=delete
void run()
Definition: server.cpp:105
static Server * getInstance()
Definition: server.hpp:29
void startListen()
Definition: server.cpp:59
char input_buffer[INPUT_BUFFER_SIZE]
Definition: server.hpp:87
Server()
Definition: server.cpp:17
int tempsocket_fd
Definition: server.hpp:82
receiveCallbackType receiveCallback
Definition: server.hpp:92
uint16_t maxfd
Definition: server.hpp:79
static void destroyInstance()
Definition: server.hpp:28
newConnectionCallbackType newConnectionCallback
Definition: server.hpp:91
#define INPUT_BUFFER_SIZE
Definition: server.hpp:11