25#include <openssl/ssl.h>
123typedef enum PKRSRV_SERVER_PACKET_SIGNUP_RES_STATUS {
130 pkrsrv_server_client_t* client,
135pkrsrv_server_packet_frame_header {
144pkrsrv_server_packet_frame_login {
145 uint16_t id_token_length;
146 uint16_t password_length;
153pkrsrv_server_packet_frame_login_res {
156 uint16_t auth_token_length;
159pkrsrv_server_packet_frame_login_res_account {
160 uint16_t xmr_deposit_address_length;
161 uint16_t id_token_length;
162 uint16_t name_length;
163 uint32_t avatar_length;
172pkrsrv_server_packet_frame_signup {
173 uint16_t id_token_length;
174 uint16_t password_length;
175 uint16_t name_length;
176 uint32_t avatar_length;
183pkrsrv_server_packet_frame_signup_res {
187 uint16_t auth_token_length;
190pkrsrv_server_packet_frame_signup_res_account {
191 uint16_t id_token_length;
192 uint16_t name_length;
193 uint32_t avatar_length;
194 uint16_t xmr_deposit_address_length;
203pkrsrv_server_packet_frame_auth_session {
204 uint16_t token_length;
210pkrsrv_server_packet_frame_auth_session_res {
215pkrsrv_server_packet_frame_auth_session_res_account {
216 uint16_t xmr_deposit_address_length;
217 uint16_t id_token_length;
218 uint16_t name_length;
219 uint32_t avatar_length;
228pkrsrv_server_packet_frame_account {
229 uint16_t xmr_deposit_address_length;
230 uint16_t id_token_length;
231 uint16_t name_length;
232 uint32_t avatar_length;
241pkrsrv_server_packet_frame_enter {
249pkrsrv_server_packet_frame_enter_res {
258pkrsrv_server_packet_frame_leave {
266pkrsrv_server_packet_frame_leave_res {
275pkrsrv_server_packet_frame_join {
278 uint64_t enterance_amount;
285pkrsrv_server_packet_frame_join_res {
294pkrsrv_server_packet_frame_unjoin {
302pkrsrv_server_packet_frame_unjoin_res {
311pkrsrv_server_packet_frame_poker_info {
312 uint16_t name_length;
313 uint16_t players_length;
315 uint16_t max_players;
316 uint16_t action_timeout;
317 uint64_t small_blind;
319 uint64_t enterance_min;
320 uint64_t enterance_max;
324pkrsrv_server_packet_frame_poker_info_player {
325 uint16_t name_length;
326 uint32_t avatar_length;
341pkrsrv_server_packet_frame_poker_state {
342 uint16_t players_length;
348 uint8_t playing_position;
350 uint8_t hand_cards[2];
353 uint64_t current_raise;
354 uint64_t current_bet;
356 uint64_t starting_time;
360pkrsrv_server_packet_frame_poker_state_player {
361 uint16_t name_length;
376pkrsrv_server_packet_frame_poker_action {
378 uint16_t action_kind;
387pkrsrv_server_packet_frame_poker_action_reflection {
390 uint16_t action_kind;
398pkrsrv_server_packet_frame_poker_end {
400 uint64_t winner_account_id;
401 uint8_t scores_length;
402 uint64_t earned_amount;
406pkrsrv_server_packet_frame_poker_end_score {
407 uint64_t bet_diff_length;
415pkrsrv_server_packet_frame_poker_restarted {
423pkrsrv_server_packet_frame_unjoined {
432pkrsrv_server_packet_frame_get_sessions {
441pkrsrv_server_packet_frame_sessions {
450pkrsrv_server_packet_frame_get_tables {
459pkrsrv_server_packet_frame_tables {
468pkrsrv_server_packet_frame_table {
469 uint16_t name_length;
471 uint16_t max_players;
472 uint16_t players_count;
473 uint16_t watchers_count;
474 uint64_t small_blind;
482pkrsrv_server_packet_frame_server_info {
483 uint64_t build_number;
484 uint16_t version_length;
485 uint16_t revision_length;
486 uint16_t compiler_length;
493pkrsrv_server_packet_frame_update_account {
494 uint16_t name_length;
495 uint32_t avatar_length;
502pkrsrv_server_packet_frame_update_account_res {
504 uint8_t is_avatar_too_big;
509typedef struct pkrsrv_server_packet_login {
514typedef struct pkrsrv_server_packet_signup {
522typedef struct pkrsrv_server_packet_auth_session {
526typedef struct pkrsrv_server_packet_enter {
530typedef struct pkrsrv_server_packet_leave {
534typedef struct pkrsrv_server_packet_join {
540typedef struct pkrsrv_server_packet_unjoin {
544typedef struct pkrsrv_server_packet_poker_action {
550typedef struct pkrsrv_server_packet_get_tables {
555typedef struct pkrsrv_server_packet_get_sessions {
560typedef struct pkrsrv_server_packet_json {
564typedef struct pkrsrv_server_packet_update_account {
571typedef struct on_client_connected_params {
575typedef struct on_client_disconnected_params {
579typedef struct on_client_meowed_params {
583typedef struct on_client_enter_params {
588typedef struct on_client_leave_params {
593typedef struct on_client_join_params {
598typedef struct on_client_unjoin_params {
603typedef struct on_client_login_params {
608typedef struct on_client_signup_params {
613typedef struct on_client_auth_session_params {
618typedef struct on_client_get_account_params {
622typedef struct on_client_action_params {
627typedef struct on_client_get_tables_params {
632typedef struct on_client_get_sessions_params {
637typedef struct on_client_update_account_params {
642typedef struct on_client_json_params {
767static void client_handler(pkrsrv_server_client_t* client);
768static void receive_packet(pkrsrv_server_client_t* client);
769static void receive_websocket_packet(pkrsrv_server_client_t* client);
770static bool send_packet(pkrsrv_server_client_t* client, uint8_t* message,
size_t message_size);
771static void client_disconnected(pkrsrv_server_client_t* client);
941static void sigabrt_handler();
942static void sigpipe_handler(
int signal);
#define PKRSRV_REF_COUNTEDIFY()
Makes a structure reference-counted.
Definition ref.h:70
void(* on_client_signup)(pkrsrv_eventloop_task_t *task)
Definition server.h:727
pkrsrv_server_packet_update_account_t update_account
Definition server.h:640
pkrsrv_server_packet_unjoin_t unjoin
Definition server.h:601
pkrsrv_server_client_t * client
Definition server.h:815
pkrsrv_server_client_t * client
Definition server.h:585
pkrsrv_server_client_t * client
Definition server.h:581
uint64_t table_id
Definition server.h:873
pkrsrv_string_t * json
Definition server.h:937
pkrsrv_server_client_t * client
Definition server.h:796
bool is_avatar_too_big
Definition server.h:922
pkrsrv_server_client_t * client
Definition server.h:936
pkrsrv_server_client_t * client
Definition server.h:805
pkrsrv_account_t * account
Definition server.h:824
void(* on_client_enter)(pkrsrv_eventloop_task_t *task)
Definition server.h:730
pkrsrv_server_client_t * client
Definition server.h:624
pkrsrv_server_clients_t * clients
Definition server.h:660
uint8_t is_ok
Definition server.h:852
pkrsrv_server_client_t * client
Definition server.h:920
pkrsrv_poker_t ** pokers
Definition server.h:915
uint8_t is_ok
Definition server.h:816
void(* on_client_get_sessions)(pkrsrv_eventloop_task_t *task)
Definition server.h:736
void(* on_client_json)(pkrsrv_eventloop_task_t *task)
Definition server.h:677
void * owner
Definition server.h:594
pkrsrv_server_packet_get_sessions_t get_sessions
Definition server.h:635
uint64_t table_id
Definition server.h:545
pkrsrv_server_client_t * client
Definition server.h:927
uint64_t table_id
Definition server.h:535
pkrsrv_server_client_t * next
Definition server.h:685
pkrsrv_server_packet_auth_session_t auth_session
Definition server.h:616
pkrsrv_server_client_t * client
Definition server.h:610
uint16_t length
Definition server.h:552
pkrsrv_string_t * name
Definition server.h:565
pkrsrv_server_packet_enter_t enter
Definition server.h:586
void * owner
Definition server.h:609
pkrsrv_server_packet_get_tables_t get_tables
Definition server.h:630
void(* on_client_leave)(pkrsrv_eventloop_task_t *task)
Definition server.h:731
pkrsrv_server_packet_leave_t leave
Definition server.h:591
pkrsrv_server_packet_signup_t signup
Definition server.h:611
pkrsrv_string_t * avatar
Definition server.h:566
void(* on_client_auth_session)(pkrsrv_eventloop_task_t *task)
Definition server.h:667
pkrsrv_server_client_t * client
Definition server.h:590
uint32_t avatar_length
Definition server.h:518
void(* on_client_auth_session)(pkrsrv_eventloop_task_t *task)
Definition server.h:728
pthread_mutex_t write_mutex
Definition server.h:704
pkrsrv_account_t * account
Definition server.h:799
pkrsrv_server_packet_login_t login
Definition server.h:606
pkrsrv_string_t * compiler
Definition server.h:931
void * owner
Definition server.h:589
int address
Definition server.h:707
pkrsrv_account_t * account
Definition server.h:818
PGconn * pg_conn
Definition server.h:698
void(* on_client_json)(pkrsrv_eventloop_task_t *task)
Definition server.h:738
void * owner
Definition server.h:718
pkrsrv_string_t * avatar
Definition server.h:519
pkrsrv_poker_t * poker
Definition server.h:887
void(* on_client_get_account)(pkrsrv_eventloop_task_t *task)
Definition server.h:668
pkrsrv_server_client_t * client
Definition server.h:898
char * host_address
Definition server.h:658
pkrsrv_table_list_t * list
Definition server.h:907
void(* on_client_signup)(pkrsrv_eventloop_task_t *task)
Definition server.h:666
pkrsrv_server_client_t * client
Definition server.h:829
pkrsrv_server_client_t * client
Definition server.h:644
uint64_t build_number
Definition server.h:928
pkrsrv_server_client_t * client
Definition server.h:634
pkrsrv_string_t * name
Definition server.h:517
pkrsrv_server_client_t * client
Definition server.h:577
pkrsrv_server_client_t * terminal
Definition server.h:686
pkrsrv_server_client_t * client
Definition server.h:857
pkrsrv_server_client_t * client
Definition server.h:864
void(* on_client_action)(pkrsrv_eventloop_task_t *task)
Definition server.h:734
uint16_t action_kind
Definition server.h:546
void * owner
Definition server.h:576
uint8_t is_ok
Definition server.h:831
uint64_t winner_account_id
Definition server.h:884
uint8_t position
Definition server.h:537
bool is_running
Definition server.h:680
void(* on_client_login)(pkrsrv_eventloop_task_t *task)
Definition server.h:726
pkrsrv_account_t * account
Definition server.h:809
void * owner
Definition server.h:708
void(* on_client_update_account)(pkrsrv_eventloop_task_t *task)
Definition server.h:737
void * owner
Definition server.h:604
uint64_t table_id
Definition server.h:882
pkrsrv_server_client_t * client
Definition server.h:629
void(* on_client_meowed)(pkrsrv_eventloop_task_t *task)
Definition server.h:664
uint64_t table_id
Definition server.h:531
uint16_t offset
Definition server.h:551
pkrsrv_auth_session_t * auth_session
Definition server.h:810
pkrsrv_server_client_t * client
Definition server.h:823
pkrsrv_server_client_t * client
Definition server.h:912
pkrsrv_auth_session_t * auth_session
Definition server.h:800
uint8_t is_logined
Definition server.h:798
uint64_t table_id
Definition server.h:541
bool is_protocol_determined
Definition server.h:701
pkrsrv_string_t * password
Definition server.h:511
pkrsrv_server_client_t * client
Definition server.h:905
void(* on_client_join)(pkrsrv_eventloop_task_t *task)
Definition server.h:671
void(* on_client_get_tables)(pkrsrv_eventloop_task_t *task)
Definition server.h:674
uint64_t table_id
Definition server.h:830
int port
Definition server.h:656
pkrsrv_string_t * id_token
Definition server.h:515
uint32_t reason
Definition server.h:900
uint16_t offset
Definition server.h:556
int max_clients
Definition server.h:722
int socket
Definition server.h:705
uint64_t earned_amount
Definition server.h:885
pkrsrv_server_client_t * client
Definition server.h:881
pkrsrv_server_packet_json_t json
Definition server.h:645
void(* on_client_enter)(pkrsrv_eventloop_task_t *task)
Definition server.h:669
pkrsrv_string_t * token
Definition server.h:523
int server_socket
Definition server.h:706
void(* on_client_connected)(pkrsrv_eventloop_task_t *task)
Definition server.h:723
void(* on_client_get_account)(pkrsrv_eventloop_task_t *task)
Definition server.h:729
pkrsrv_server_client_t * client
Definition server.h:600
void(* on_client_get_sessions)(pkrsrv_eventloop_task_t *task)
Definition server.h:675
int port
Definition server.h:719
bool is_alive
Definition server.h:700
int length
Definition server.h:687
void(* on_client_join)(pkrsrv_eventloop_task_t *task)
Definition server.h:732
pkrsrv_server_client_t * client
Definition server.h:620
pkrsrv_server_client_t * client
Definition server.h:836
void * owner
Definition server.h:654
void * owner
Definition server.h:584
uint8_t is_logined
Definition server.h:807
int pokers_length
Definition server.h:914
void(* on_client_action)(pkrsrv_eventloop_task_t *task)
Definition server.h:673
pkrsrv_server_client_t * prev
Definition server.h:684
pkrsrv_string_t * id_token
Definition server.h:510
void(* on_client_disconnected)(pkrsrv_eventloop_task_t *task)
Definition server.h:663
char * bind_address
Definition server.h:657
void * owner
Definition server.h:628
pkrsrv_poker_t * poker
Definition server.h:865
void * owner
Definition server.h:623
pkrsrv_string_t * json
Definition server.h:561
void * owner
Definition server.h:643
pthread_t thread
Definition server.h:679
SSL * ssl
Definition server.h:699
void * owner
Definition server.h:580
void(* on_client_get_tables)(pkrsrv_eventloop_task_t *task)
Definition server.h:735
uint8_t is_ok
Definition server.h:797
void(* on_client_connected)(pkrsrv_eventloop_task_t *task)
Definition server.h:662
uint16_t action_kind
Definition server.h:875
uint64_t table_id
Definition server.h:527
pkrsrv_string_t * revision
Definition server.h:930
pkrsrv_eventloop_t * eventloop
Definition server.h:721
pkrsrv_server_client_t * client
Definition server.h:872
pkrsrv_server_client_t * client
Definition server.h:573
pkrsrv_eventloop_t * eventloop
Definition server.h:655
pkrsrv_server_t * server
Definition server.h:697
void(* on_client_unjoin)(pkrsrv_eventloop_task_t *task)
Definition server.h:672
uint8_t is_logined
Definition server.h:817
void(* on_client_unjoin)(pkrsrv_eventloop_task_t *task)
Definition server.h:733
pkrsrv_string_t * version
Definition server.h:929
uint64_t table_id
Definition server.h:837
void * owner
Definition server.h:638
uint64_t table_id
Definition server.h:851
void(* on_client_disconnected)(pkrsrv_eventloop_task_t *task)
Definition server.h:724
void * owner
Definition server.h:614
pkrsrv_string_t * password
Definition server.h:516
uint64_t account_id
Definition server.h:874
pkrsrv_poker_player_t * player
Definition server.h:866
uint16_t offset
Definition server.h:906
pkrsrv_server_client_t * client
Definition server.h:615
void * owner
Definition server.h:572
uint64_t table_id
Definition server.h:844
uint64_t enterance_amount
Definition server.h:536
void(* on_client_meowed)(pkrsrv_eventloop_task_t *task)
Definition server.h:725
pkrsrv_poker_t * poker
Definition server.h:858
pkrsrv_server_client_t * client
Definition server.h:892
uint64_t table_id
Definition server.h:893
uint8_t is_ok
Definition server.h:806
pkrsrv_server_packet_join_t join
Definition server.h:596
uint16_t length
Definition server.h:557
uint8_t is_ok
Definition server.h:838
pthread_mutex_t mutex
Definition server.h:678
pkrsrv_server_client_t * client
Definition server.h:843
bool is_ok
Definition server.h:921
pkrsrv_server_client_t * client
Definition server.h:595
pkrsrv_server_client_t * client
Definition server.h:605
pkrsrv_server_client_t * client
Definition server.h:639
void(* on_client_update_account)(pkrsrv_eventloop_task_t *task)
Definition server.h:676
char * bind_address
Definition server.h:720
void(* on_client_leave)(pkrsrv_eventloop_task_t *task)
Definition server.h:670
void * owner
Definition server.h:599
uint64_t amount
Definition server.h:876
uint16_t status
Definition server.h:808
int max_clients
Definition server.h:659
void * owner
Definition server.h:619
pkrsrv_websocket_t websocket
Definition server.h:703
uint8_t is_ok
Definition server.h:845
SSL_CTX * ssl_ctx
Definition server.h:661
uint64_t table_id
Definition server.h:899
uint64_t amount
Definition server.h:547
pkrsrv_server_packet_poker_action_t action
Definition server.h:625
void(* on_client_login)(pkrsrv_eventloop_task_t *task)
Definition server.h:665
void * owner
Definition server.h:633
pkrsrv_server_client_t * client
Definition server.h:850
uint16_t offset
Definition server.h:913
bool is_websocket
Definition server.h:702
int pkrsrv_server_net_write(pkrsrv_server_client_t *client, void *buffer, ssize_t length)
struct pkrsrv_server_packet_frame_poker_restarted pkrsrv_server_packet_frame_poker_restarted_t
Definition server.h:65
PKRSRV_SERVER_OPCODE
Definition server.h:83
bool pkrsrv_server_send_unjoin_res(pkrsrv_server_send_unjoin_res_params_t params)
struct pkrsrv_server_packet_frame_login_res pkrsrv_server_packet_frame_login_res_t
Definition server.h:40
struct pkrsrv_server_packet_frame_poker_info pkrsrv_server_packet_frame_poker_info_t
Definition server.h:57
struct pkrsrv_server_packet_frame_poker_state_player pkrsrv_server_packet_frame_poker_state_player_t
Definition server.h:60
struct pkrsrv_server_packet_frame_unjoined pkrsrv_server_packet_frame_unjoined_t
Definition server.h:66
bool pkrsrv_server_send_tables(pkrsrv_server_send_tables_params_t params)
struct pkrsrv_server_packet_frame_table pkrsrv_server_packet_frame_table_t
Definition server.h:71
bool pkrsrv_server_send_json(pkrsrv_server_send_json_params_t params)
void pkrsrv_server_add_client(pkrsrv_server_t *server, pkrsrv_server_client_t *client)
struct pkrsrv_server_packet_frame_signup pkrsrv_server_packet_frame_signup_t
Definition server.h:42
struct pkrsrv_server_packet_frame_signup_res_account pkrsrv_server_packet_frame_signup_res_account_t
Definition server.h:44
bool pkrsrv_server_send_poker_end(pkrsrv_server_send_poker_end_params_t params)
struct pkrsrv_server_packet_frame_login_res_account pkrsrv_server_packet_frame_login_res_account_t
Definition server.h:41
void pkrsrv_server_remove_client__ts(pkrsrv_server_t *server, pkrsrv_server_client_t *client)
pkrsrv_server_packet_signup_res_status_t
Definition server.h:123
struct pkrsrv_server_packet_frame_poker_end pkrsrv_server_packet_frame_poker_end_t
Definition server.h:63
struct pkrsrv_server_packet_frame_header pkrsrv_server_packet_frame_header_t
Definition server.h:38
void pkrsrv_server_remove_client(pkrsrv_server_t *server, pkrsrv_server_client_t *client)
bool pkrsrv_server_send_signup_res(pkrsrv_server_send_signup_res_params_t params)
struct pkrsrv_server_packet_frame_tables pkrsrv_server_packet_frame_tables_t
Definition server.h:68
struct pkrsrv_server_packet_frame_enter pkrsrv_server_packet_frame_enter_t
Definition server.h:49
struct pkrsrv_server_packet_frame_leave pkrsrv_server_packet_frame_leave_t
Definition server.h:51
struct __attribute__((__packed__)) pkrsrv_server_packet_frame_header
Definition server.h:134
bool pkrsrv_server_send_poker_info(pkrsrv_server_send_poker_info_params_t params)
struct pkrsrv_server_packet_frame_sessions pkrsrv_server_packet_frame_sessions_t
Definition server.h:70
bool pkrsrv_server_send_account(pkrsrv_server_send_account_params_t params)
struct pkrsrv_server_packet_frame_enter_res pkrsrv_server_packet_frame_enter_res_t
Definition server.h:50
bool pkrsrv_server_send_poker_info_player(pkrsrv_server_client_t *p_client, pkrsrv_poker_player_t *p_player)
struct pkrsrv_server_packet_frame_poker_action pkrsrv_server_packet_frame_poker_action_t
Definition server.h:61
struct pkrsrv_server_packet_frame_join pkrsrv_server_packet_frame_join_t
Definition server.h:53
struct pkrsrv_server_packet_frame_leave_res pkrsrv_server_packet_frame_leave_res_t
Definition server.h:52
struct pkrsrv_server_packet_frame_signup_res pkrsrv_server_packet_frame_signup_res_t
Definition server.h:43
struct pkrsrv_server_packet_frame_login pkrsrv_server_packet_frame_login_t
Definition server.h:39
struct pkrsrv_server_packet_frame_auth_session_res pkrsrv_server_packet_frame_auth_session_res_t
Definition server.h:46
bool pkrsrv_server_send_leave_res(pkrsrv_server_send_leave_res_params_t params)
void pkrsrv_server_add_client__ts(pkrsrv_server_t *server, pkrsrv_server_client_t *client)
bool pkrsrv_server_send_enter_res(pkrsrv_server_send_enter_res_params_t params)
struct pkrsrv_server_packet_frame_account pkrsrv_server_packet_frame_account_t
Definition server.h:48
pkrsrv_server_clients_t * pkrsrv_server_clients_new()
bool pkrsrv_server_send_server_info(pkrsrv_server_send_server_info_params_t params)
struct pkrsrv_server_packet_frame_poker_action_reflection pkrsrv_server_packet_frame_poker_action_reflection_t
Definition server.h:62
struct pkrsrv_server_packet_frame_unjoin pkrsrv_server_packet_frame_unjoin_t
Definition server.h:55
struct pkrsrv_server_packet_frame_unjoin_res pkrsrv_server_packet_frame_unjoin_res_t
Definition server.h:56
bool pkrsrv_server_send_login_res(pkrsrv_server_send_login_res_params_t params)
bool pkrsrv_server_send_pong(pkrsrv_server_client_t *client)
struct pkrsrv_server_packet_frame_poker_end_score pkrsrv_server_packet_frame_poker_end_score_t
Definition server.h:64
int pkrsrv_server_ssl_write(SSL *ssl, void *buffer, ssize_t length)
int pkrsrv_server_ssl_read(SSL *ssl, void *buffer, ssize_t length)
uint32_t pkrsrv_server_opcode_t
Definition server.h:78
bool pkrsrv_server_send_poker_restarted(pkrsrv_server_send_poker_restarted_params_t params)
bool pkrsrv_server_send_poker_state_player(pkrsrv_server_client_t *p_client, pkrsrv_poker_player_t *p_player)
struct pkrsrv_server_packet_frame_poker_state pkrsrv_server_packet_frame_poker_state_t
Definition server.h:59
bool pkrsrv_server_send_auth_session_res(pkrsrv_server_send_auth_session_res_params_t params)
struct pkrsrv_server_packet_frame_join_res pkrsrv_server_packet_frame_join_res_t
Definition server.h:54
pkrsrv_server_client_t * pkrsrv_server_client_new(pkrsrv_server_t *server)
void pkrsrv_server_listen(pkrsrv_server_t *server)
bool pkrsrv_server_send_join_res(pkrsrv_server_send_join_res_params_t params)
bool pkrsrv_server_send_poker_state(pkrsrv_server_send_poker_state_params_t params)
bool pkrsrv_server_send_sessions(pkrsrv_server_send_sessions_params_t params)
struct pkrsrv_server_packet_frame_update_account pkrsrv_server_packet_frame_update_account_t
Definition server.h:72
void pkrsrv_server_start(pkrsrv_server_t *server)
struct pkrsrv_server_packet_frame_auth_session pkrsrv_server_packet_frame_auth_session_t
Definition server.h:45
struct pkrsrv_server_packet_frame_poker_info_player pkrsrv_server_packet_frame_poker_info_player_t
Definition server.h:58
struct pkrsrv_server_packet_frame_server_info pkrsrv_server_packet_frame_server_info_t
Definition server.h:74
void(* opcode_handler_t)(pkrsrv_server_client_t *client, pkrsrv_server_packet_frame_header_t req_header)
Definition server.h:129
pkrsrv_server_t * pkrsrv_server_new(pkrsrv_server_new_params_t params)
bool pkrsrv_server_send_binary(pkrsrv_server_client_t *client, uint8_t *data, size_t size)
bool pkrsrv_server_send_over_capacity(pkrsrv_server_client_t *client)
int pkrsrv_server_net_read(pkrsrv_server_client_t *client, void *buffer, ssize_t length)
struct pkrsrv_server_packet_frame_get_tables pkrsrv_server_packet_frame_get_tables_t
Definition server.h:67
bool pkrsrv_server_send_update_account_res(pkrsrv_server_send_update_account_res_params_t params)
struct pkrsrv_server_packet_frame_get_sessions pkrsrv_server_packet_frame_get_sessions_t
Definition server.h:69
void pkrsrv_server_client_free(pkrsrv_server_client_t *client)
struct pkrsrv_server_packet_frame_auth_session_res_account pkrsrv_server_packet_frame_auth_session_res_account_t
Definition server.h:47
bool pkrsrv_server_send_poker_action_reflection(pkrsrv_server_send_poker_action_reflection_params_t params)
bool pkrsrv_server_send_unjoined(pkrsrv_server_send_unjoined_params_t params)
struct pkrsrv_server_packet_frame_update_account_res pkrsrv_server_packet_frame_update_account_res_t
Definition server.h:73
void pkrsrv_server_free(pkrsrv_server_t *server)
@ PKRSRV_SERVER_OPCODE_POKER_ACTION
Definition server.h:106
@ PKRSRV_SERVER_OPCODE_PING
Definition server.h:86
@ PKRSRV_SERVER_OPCODE_JOIN_RES
Definition server.h:101
@ PKRSRV_SERVER_OPCODE_GET_SESSIONS
Definition server.h:114
@ PKRSRV_SERVER_OPCODE_OVER_CAPACITY
Definition server.h:119
@ PKRSRV_SERVER_OPCODE_SERVER_INFO
Definition server.h:118
@ PKRSRV_SERVER_OPCODE_PONG
Definition server.h:87
@ PKRSRV_SERVER_OPCODE_ACCOUNT
Definition server.h:95
@ PKRSRV_SERVER_OPCODE_POKER_ACTION_REFLECTION
Definition server.h:107
@ PKRSRV_SERVER_OPCODE_POKER_END
Definition server.h:108
@ PKRSRV_SERVER_OPCODE_JSON
Definition server.h:110
@ PKRSRV_SERVER_OPCODE_SESSIONS
Definition server.h:115
@ PKRSRV_SERVER_OPCODE_GET_TABLES
Definition server.h:112
@ PKRSRV_SERVER_OPCODE_END
Definition server.h:120
@ PKRSRV_SERVER_OPCODE_POKER_STATE
Definition server.h:105
@ PKRSRV_SERVER_OPCODE_POKER_RESTARTED
Definition server.h:109
@ PKRSRV_SERVER_OPCODE_AUTH_SESSION
Definition server.h:92
@ PKRSRV_SERVER_OPCODE_SIGNUP_RES
Definition server.h:91
@ PKRSRV_SERVER_OPCODE_LOGIN
Definition server.h:88
@ PKRSRV_SERVER_OPCODE_GET_ACCOUNT
Definition server.h:94
@ PKRSRV_SERVER_OPCODE_POKER_INFO
Definition server.h:104
@ PKRSRV_SERVER_OPCODE_LEAVE
Definition server.h:98
@ PKRSRV_SERVER_OPCODE_LOGIN_RES
Definition server.h:89
@ PKRSRV_SERVER_OPCODE_UNJOIN_RES
Definition server.h:103
@ PKRSRV_SERVER_OPCODE_SIGNUP
Definition server.h:90
@ PKRSRV_SERVER_OPCODE_NOP
Definition server.h:84
@ PKRSRV_SERVER_OPCODE_UNJOIN
Definition server.h:102
@ PKRSRV_SERVER_OPCODE_ENTER
Definition server.h:96
@ PKRSRV_SERVER_OPCODE_LEAVE_RES
Definition server.h:99
@ PKRSRV_SERVER_OPCODE_UNJOINED
Definition server.h:111
@ PKRSRV_SERVER_OPCODE_UPDATE_ACCOUNT
Definition server.h:116
@ PKRSRV_SERVER_OPCODE_MEOW
Definition server.h:85
@ PKRSRV_SERVER_OPCODE_TABLES
Definition server.h:113
@ PKRSRV_SERVER_OPCODE_ENTER_RES
Definition server.h:97
@ PKRSRV_SERVER_OPCODE_JOIN
Definition server.h:100
@ PKRSRV_SERVER_OPCODE_UPDATE_ACCOUNT_RES
Definition server.h:117
@ PKRSRV_SERVER_OPCODE_AUTH_SESSION_RES
Definition server.h:93
@ PKRSRV_SERVER_PACKET_SIGNUP_RES_STATUS_ALREADY_EXISTS
Definition server.h:126
@ PKRSRV_SERVER_PACKET_SIGNUP_RES_STATUS_OK
Definition server.h:124
@ PKRSRV_SERVER_PACKET_SIGNUP_RES_STATUS_ERROR
Definition server.h:125
#define ITEMIFY(type)
Definition sugar.h:44
Definition websocket.h:94