![]() |
PokerUnicorn
|
Server module can handle both TCP and WebSocket connections over TLS. More...
Typedefs | |
typedef struct pkrsrv_server_packet_frame_header | pkrsrv_server_packet_frame_header_t |
typedef struct pkrsrv_server_packet_frame_login | pkrsrv_server_packet_frame_login_t |
typedef struct pkrsrv_server_packet_frame_login_res | pkrsrv_server_packet_frame_login_res_t |
typedef struct pkrsrv_server_packet_frame_login_res_account | pkrsrv_server_packet_frame_login_res_account_t |
typedef struct pkrsrv_server_packet_frame_signup | pkrsrv_server_packet_frame_signup_t |
typedef struct pkrsrv_server_packet_frame_signup_res | pkrsrv_server_packet_frame_signup_res_t |
typedef struct pkrsrv_server_packet_frame_signup_res_account | pkrsrv_server_packet_frame_signup_res_account_t |
typedef struct pkrsrv_server_packet_frame_account | pkrsrv_server_packet_frame_account_t |
typedef struct pkrsrv_server_packet_frame_enter | pkrsrv_server_packet_frame_enter_t |
typedef struct pkrsrv_server_packet_frame_enter_res | pkrsrv_server_packet_frame_enter_res_t |
typedef struct pkrsrv_server_packet_frame_leave | pkrsrv_server_packet_frame_leave_t |
typedef struct pkrsrv_server_packet_frame_leave_res | pkrsrv_server_packet_frame_leave_res_t |
typedef struct pkrsrv_server_packet_frame_join | pkrsrv_server_packet_frame_join_t |
typedef struct pkrsrv_server_packet_frame_join_res | pkrsrv_server_packet_frame_join_res_t |
typedef struct pkrsrv_server_packet_frame_unjoin | pkrsrv_server_packet_frame_unjoin_t |
typedef struct pkrsrv_server_packet_frame_unjoin_res | pkrsrv_server_packet_frame_unjoin_res_t |
typedef struct pkrsrv_server_packet_frame_poker_info | pkrsrv_server_packet_frame_poker_info_t |
typedef struct pkrsrv_server_packet_frame_poker_info_player | pkrsrv_server_packet_frame_poker_info_player_t |
typedef struct pkrsrv_server_packet_frame_poker_state | pkrsrv_server_packet_frame_poker_state_t |
typedef struct pkrsrv_server_packet_frame_poker_state_player | pkrsrv_server_packet_frame_poker_state_player_t |
typedef struct pkrsrv_server_packet_frame_poker_action | pkrsrv_server_packet_frame_poker_action_t |
typedef struct pkrsrv_server_packet_frame_poker_action_reflection | pkrsrv_server_packet_frame_poker_action_reflection_t |
typedef struct pkrsrv_server_packet_frame_poker_end | pkrsrv_server_packet_frame_poker_end_t |
typedef struct pkrsrv_server_packet_frame_poker_end_score | pkrsrv_server_packet_frame_poker_end_score_t |
typedef struct pkrsrv_server_packet_frame_poker_restarted | pkrsrv_server_packet_frame_poker_restarted_t |
typedef struct pkrsrv_server_packet_frame_unjoined | pkrsrv_server_packet_frame_unjoined_t |
typedef struct pkrsrv_server_packet_frame_get_tables | pkrsrv_server_packet_frame_get_tables_t |
typedef struct pkrsrv_server_packet_frame_tables | pkrsrv_server_packet_frame_tables_t |
typedef struct pkrsrv_server_packet_frame_get_sessions | pkrsrv_server_packet_frame_get_sessions_t |
typedef struct pkrsrv_server_packet_frame_sessions | pkrsrv_server_packet_frame_sessions_t |
typedef struct pkrsrv_server_packet_frame_table | pkrsrv_server_packet_frame_table_t |
typedef struct pkrsrv_server_packet_frame_update_account | pkrsrv_server_packet_frame_update_account_t |
typedef struct pkrsrv_server_packet_frame_update_account_res | pkrsrv_server_packet_frame_update_account_res_t |
typedef struct pkrsrv_server_packet_frame_server_info | pkrsrv_server_packet_frame_server_info_t |
typedef uint32_t | pkrsrv_server_opcode_t |
typedef void(* | opcode_handler_t) (pkrsrv_server_client_t *client, pkrsrv_server_packet_frame_header_t req_header) |
Server module can handle both TCP and WebSocket connections over TLS.
struct pkrsrv_server_packet_login_t |
struct pkrsrv_server_packet_signup_t |
struct pkrsrv_server_packet_join_t |
struct pkrsrv_server_packet_poker_action_t |
struct pkrsrv_server_packet_update_account_t |
struct on_client_enter_params_t |
Data Fields | ||
---|---|---|
void * | owner | |
pkrsrv_server_client_t * | client | |
pkrsrv_server_packet_enter_t | enter |
struct on_client_leave_params_t |
Data Fields | ||
---|---|---|
void * | owner | |
pkrsrv_server_client_t * | client | |
pkrsrv_server_packet_leave_t | leave |
struct on_client_join_params_t |
Data Fields | ||
---|---|---|
void * | owner | |
pkrsrv_server_client_t * | client | |
pkrsrv_server_packet_join_t | join |
struct on_client_unjoin_params_t |
Data Fields | ||
---|---|---|
void * | owner | |
pkrsrv_server_client_t * | client | |
pkrsrv_server_packet_unjoin_t | unjoin |
struct on_client_login_params_t |
Data Fields | ||
---|---|---|
void * | owner | |
pkrsrv_server_client_t * | client | |
pkrsrv_server_packet_login_t | login |
struct on_client_signup_params_t |
Data Fields | ||
---|---|---|
void * | owner | |
pkrsrv_server_client_t * | client | |
pkrsrv_server_packet_signup_t | signup |
struct on_client_action_params_t |
Data Fields | ||
---|---|---|
void * | owner | |
pkrsrv_server_client_t * | client | |
pkrsrv_server_packet_poker_action_t | action |
struct on_client_get_tables_params_t |
Data Fields | ||
---|---|---|
void * | owner | |
pkrsrv_server_client_t * | client | |
pkrsrv_server_packet_get_tables_t | get_tables |
struct on_client_get_sessions_params_t |
Data Fields | ||
---|---|---|
void * | owner | |
pkrsrv_server_client_t * | client | |
pkrsrv_server_packet_get_sessions_t | get_sessions |
struct on_client_update_account_params_t |
Data Fields | ||
---|---|---|
void * | owner | |
pkrsrv_server_client_t * | client | |
pkrsrv_server_packet_update_account_t | update_account |
struct on_client_json_params_t |
Data Fields | ||
---|---|---|
void * | owner | |
pkrsrv_server_client_t * | client | |
pkrsrv_server_packet_json_t | json |
struct pkrsrv_server |
Server object
Public Member Functions | |
pkrsrv_server_t * | pkrsrv_server_new (pkrsrv_server_new_params_t params) |
void | pkrsrv_server_start (pkrsrv_server_t *server) |
void | pkrsrv_server_listen (pkrsrv_server_t *server) |
void | pkrsrv_server_free (pkrsrv_server_t *server) |
![]() | |
#define | PKRSRV_REF_COUNTED_INIT(obj, free_f) pkrsrv_ref_counted_init(&(obj->ref_counted), (pkrsrv_ref_free_f_t) free_f); |
Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation. | |
#define | PKRSRV_REF_COUNTED_USE(obj) |
Increments the reference count of a reference-counted object. | |
#define | PKRSRV_REF_COUNTED_LEAVE(obj) |
Decrements the reference count of a reference-counted object. | |
Data Fields | |
pkrsrv_ref_counted_t | ref_counted |
void * | owner |
pkrsrv_eventloop_t * | eventloop |
int | port |
char * | bind_address |
char * | host_address |
int | max_clients |
pkrsrv_server_clients_t * | clients |
SSL_CTX * | ssl_ctx |
void(* | on_client_connected )(pkrsrv_eventloop_task_t *task) |
void(* | on_client_disconnected )(pkrsrv_eventloop_task_t *task) |
void(* | on_client_meowed )(pkrsrv_eventloop_task_t *task) |
void(* | on_client_login )(pkrsrv_eventloop_task_t *task) |
void(* | on_client_signup )(pkrsrv_eventloop_task_t *task) |
void(* | on_client_get_account )(pkrsrv_eventloop_task_t *task) |
void(* | on_client_enter )(pkrsrv_eventloop_task_t *task) |
void(* | on_client_leave )(pkrsrv_eventloop_task_t *task) |
void(* | on_client_join )(pkrsrv_eventloop_task_t *task) |
void(* | on_client_unjoin )(pkrsrv_eventloop_task_t *task) |
void(* | on_client_action )(pkrsrv_eventloop_task_t *task) |
void(* | on_client_get_tables )(pkrsrv_eventloop_task_t *task) |
void(* | on_client_get_sessions )(pkrsrv_eventloop_task_t *task) |
void(* | on_client_update_account )(pkrsrv_eventloop_task_t *task) |
void(* | on_client_json )(pkrsrv_eventloop_task_t *task) |
pthread_mutex_t | mutex |
pthread_t | thread |
bool | is_running |
![]() | |
int | count |
pkrsrv_ref_free_f_t | free_f |
pthread_mutex_t | mutex |
Additional Inherited Members | |
![]() | |
void | pkrsrv_ref_counted_init (pkrsrv_ref_counted_t *ref_counted, pkrsrv_ref_free_f_t free_f) |
Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation. | |
void | pkrsrv_ref_counted_use (pkrsrv_ref_counted_t *ref_counted) |
Increments the reference count of a reference-counted object. | |
void | pkrsrv_ref_counted_leave (void **obj_vp, pkrsrv_ref_counted_t *ref_counted) |
Decrements the reference count of a reference-counted object. | |
pkrsrv_ref_counted_t pkrsrv_server_t::ref_counted |
void* pkrsrv_server_t::owner |
pkrsrv_eventloop_t* pkrsrv_server_t::eventloop |
int pkrsrv_server_t::port |
char* pkrsrv_server_t::bind_address |
char* pkrsrv_server_t::host_address |
int pkrsrv_server_t::max_clients |
pkrsrv_server_clients_t* pkrsrv_server_t::clients |
SSL_CTX* pkrsrv_server_t::ssl_ctx |
void(* pkrsrv_server_t::on_client_connected) (pkrsrv_eventloop_task_t *task) |
void(* pkrsrv_server_t::on_client_disconnected) (pkrsrv_eventloop_task_t *task) |
void(* pkrsrv_server_t::on_client_meowed) (pkrsrv_eventloop_task_t *task) |
void(* pkrsrv_server_t::on_client_login) (pkrsrv_eventloop_task_t *task) |
void(* pkrsrv_server_t::on_client_signup) (pkrsrv_eventloop_task_t *task) |
void(* pkrsrv_server_t::on_client_get_account) (pkrsrv_eventloop_task_t *task) |
void(* pkrsrv_server_t::on_client_enter) (pkrsrv_eventloop_task_t *task) |
void(* pkrsrv_server_t::on_client_leave) (pkrsrv_eventloop_task_t *task) |
void(* pkrsrv_server_t::on_client_join) (pkrsrv_eventloop_task_t *task) |
void(* pkrsrv_server_t::on_client_unjoin) (pkrsrv_eventloop_task_t *task) |
void(* pkrsrv_server_t::on_client_action) (pkrsrv_eventloop_task_t *task) |
void(* pkrsrv_server_t::on_client_get_tables) (pkrsrv_eventloop_task_t *task) |
void(* pkrsrv_server_t::on_client_get_sessions) (pkrsrv_eventloop_task_t *task) |
void(* pkrsrv_server_t::on_client_update_account) (pkrsrv_eventloop_task_t *task) |
void(* pkrsrv_server_t::on_client_json) (pkrsrv_eventloop_task_t *task) |
pthread_mutex_t pkrsrv_server_t::mutex |
pthread_t pkrsrv_server_t::thread |
bool pkrsrv_server_t::is_running |
struct pkrsrv_server_clients |
struct pkrsrv_server_client |
Client object
Data Fields | |
pkrsrv_ref_counted_t | ref_counted |
pkrsrv_server_client_t * | next |
pkrsrv_server_client_t * | prev |
pkrsrv_server_t * | server |
PGconn * | pg_conn |
SSL * | ssl |
bool | is_alive |
bool | is_protocol_determined |
bool | is_websocket |
pkrsrv_websocket_t | websocket |
pthread_mutex_t | write_mutex |
int | socket |
int | server_socket |
int | address |
void * | owner |
![]() | |
int | count |
pkrsrv_ref_free_f_t | free_f |
pthread_mutex_t | mutex |
Additional Inherited Members | |
![]() | |
#define | PKRSRV_REF_COUNTED_INIT(obj, free_f) pkrsrv_ref_counted_init(&(obj->ref_counted), (pkrsrv_ref_free_f_t) free_f); |
Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation. | |
#define | PKRSRV_REF_COUNTED_USE(obj) |
Increments the reference count of a reference-counted object. | |
#define | PKRSRV_REF_COUNTED_LEAVE(obj) |
Decrements the reference count of a reference-counted object. | |
![]() | |
void | pkrsrv_ref_counted_init (pkrsrv_ref_counted_t *ref_counted, pkrsrv_ref_free_f_t free_f) |
Initializes a reference-counted object. Should be called in the constructor of the object after the dynamic allocation. | |
void | pkrsrv_ref_counted_use (pkrsrv_ref_counted_t *ref_counted) |
Increments the reference count of a reference-counted object. | |
void | pkrsrv_ref_counted_leave (void **obj_vp, pkrsrv_ref_counted_t *ref_counted) |
Decrements the reference count of a reference-counted object. | |
pkrsrv_ref_counted_t pkrsrv_server_client_t::ref_counted |
pkrsrv_server_client_t* pkrsrv_server_client_t::next |
pkrsrv_server_client_t* pkrsrv_server_client_t::prev |
pkrsrv_server_t* pkrsrv_server_client_t::server |
PGconn* pkrsrv_server_client_t::pg_conn |
SSL* pkrsrv_server_client_t::ssl |
bool pkrsrv_server_client_t::is_alive |
bool pkrsrv_server_client_t::is_protocol_determined |
bool pkrsrv_server_client_t::is_websocket |
pkrsrv_websocket_t pkrsrv_server_client_t::websocket |
pthread_mutex_t pkrsrv_server_client_t::write_mutex |
int pkrsrv_server_client_t::socket |
int pkrsrv_server_client_t::server_socket |
int pkrsrv_server_client_t::address |
void* pkrsrv_server_client_t::owner |
struct pkrsrv_server_new_params |
struct pkrsrv_server_send_login_res_params_t |
struct pkrsrv_server_send_signup_res_params_t |
struct pkrsrv_server_send_account_params_t |
struct pkrsrv_server_send_enter_res_params_t |
struct pkrsrv_server_send_leave_res_params_t |
struct pkrsrv_server_send_join_res_params_t |
struct pkrsrv_server_send_unjoin_res_params_t |
struct pkrsrv_server_send_poker_info_params_t |
struct pkrsrv_server_send_poker_state_params_t |
struct pkrsrv_server_send_poker_action_reflection_params_t |
struct pkrsrv_server_send_poker_end_params_t |
struct pkrsrv_server_send_poker_restarted_params_t |
struct pkrsrv_server_send_unjoined_params_t |
struct pkrsrv_server_send_tables_params_t |
Data Fields | ||
---|---|---|
pkrsrv_server_client_t * | client | |
uint16_t | offset | |
pkrsrv_table_list_t * | list |
struct pkrsrv_server_send_sessions_params_t |
struct pkrsrv_server_send_update_account_res_params_t |
struct pkrsrv_server_send_server_info_params_t |
struct pkrsrv_server_send_json_params_t |
typedef struct pkrsrv_server_packet_frame_header pkrsrv_server_packet_frame_header_t |
typedef struct pkrsrv_server_packet_frame_login pkrsrv_server_packet_frame_login_t |
typedef struct pkrsrv_server_packet_frame_login_res pkrsrv_server_packet_frame_login_res_t |
typedef struct pkrsrv_server_packet_frame_login_res_account pkrsrv_server_packet_frame_login_res_account_t |
typedef struct pkrsrv_server_packet_frame_signup pkrsrv_server_packet_frame_signup_t |
typedef struct pkrsrv_server_packet_frame_signup_res pkrsrv_server_packet_frame_signup_res_t |
typedef struct pkrsrv_server_packet_frame_signup_res_account pkrsrv_server_packet_frame_signup_res_account_t |
typedef struct pkrsrv_server_packet_frame_account pkrsrv_server_packet_frame_account_t |
typedef struct pkrsrv_server_packet_frame_enter pkrsrv_server_packet_frame_enter_t |
typedef struct pkrsrv_server_packet_frame_enter_res pkrsrv_server_packet_frame_enter_res_t |
typedef struct pkrsrv_server_packet_frame_leave pkrsrv_server_packet_frame_leave_t |
typedef struct pkrsrv_server_packet_frame_leave_res pkrsrv_server_packet_frame_leave_res_t |
typedef struct pkrsrv_server_packet_frame_join pkrsrv_server_packet_frame_join_t |
typedef struct pkrsrv_server_packet_frame_join_res pkrsrv_server_packet_frame_join_res_t |
typedef struct pkrsrv_server_packet_frame_unjoin pkrsrv_server_packet_frame_unjoin_t |
typedef struct pkrsrv_server_packet_frame_unjoin_res pkrsrv_server_packet_frame_unjoin_res_t |
typedef struct pkrsrv_server_packet_frame_poker_info pkrsrv_server_packet_frame_poker_info_t |
typedef struct pkrsrv_server_packet_frame_poker_info_player pkrsrv_server_packet_frame_poker_info_player_t |
typedef struct pkrsrv_server_packet_frame_poker_state pkrsrv_server_packet_frame_poker_state_t |
typedef struct pkrsrv_server_packet_frame_poker_state_player pkrsrv_server_packet_frame_poker_state_player_t |
typedef struct pkrsrv_server_packet_frame_poker_action pkrsrv_server_packet_frame_poker_action_t |
typedef struct pkrsrv_server_packet_frame_poker_action_reflection pkrsrv_server_packet_frame_poker_action_reflection_t |
typedef struct pkrsrv_server_packet_frame_poker_end pkrsrv_server_packet_frame_poker_end_t |
typedef struct pkrsrv_server_packet_frame_poker_end_score pkrsrv_server_packet_frame_poker_end_score_t |
typedef struct pkrsrv_server_packet_frame_poker_restarted pkrsrv_server_packet_frame_poker_restarted_t |
typedef struct pkrsrv_server_packet_frame_unjoined pkrsrv_server_packet_frame_unjoined_t |
typedef struct pkrsrv_server_packet_frame_get_tables pkrsrv_server_packet_frame_get_tables_t |
typedef struct pkrsrv_server_packet_frame_tables pkrsrv_server_packet_frame_tables_t |
typedef struct pkrsrv_server_packet_frame_get_sessions pkrsrv_server_packet_frame_get_sessions_t |
typedef struct pkrsrv_server_packet_frame_sessions pkrsrv_server_packet_frame_sessions_t |
typedef struct pkrsrv_server_packet_frame_table pkrsrv_server_packet_frame_table_t |
typedef struct pkrsrv_server_packet_frame_update_account pkrsrv_server_packet_frame_update_account_t |
typedef struct pkrsrv_server_packet_frame_update_account_res pkrsrv_server_packet_frame_update_account_res_t |
typedef struct pkrsrv_server_packet_frame_server_info pkrsrv_server_packet_frame_server_info_t |
typedef uint32_t pkrsrv_server_opcode_t |
typedef void(* opcode_handler_t) (pkrsrv_server_client_t *client, pkrsrv_server_packet_frame_header_t req_header) |
enum PKRSRV_SERVER_OPCODE |
Server opcodes
struct __attribute__ | ( | (__packed__) | ) |
int pkrsrv_server_ssl_read | ( | SSL * | ssl, |
void * | buffer, | ||
ssize_t | length ) |
int pkrsrv_server_ssl_write | ( | SSL * | ssl, |
void * | buffer, | ||
ssize_t | length ) |
int pkrsrv_server_net_read | ( | pkrsrv_server_client_t * | client, |
void * | buffer, | ||
ssize_t | length ) |
int pkrsrv_server_net_write | ( | pkrsrv_server_client_t * | client, |
void * | buffer, | ||
ssize_t | length ) |
pkrsrv_server_clients_t * pkrsrv_server_clients_new | ( | ) |
void pkrsrv_server_add_client | ( | pkrsrv_server_t * | server, |
pkrsrv_server_client_t * | client ) |
void pkrsrv_server_add_client__ts | ( | pkrsrv_server_t * | server, |
pkrsrv_server_client_t * | client ) |
void pkrsrv_server_remove_client | ( | pkrsrv_server_t * | server, |
pkrsrv_server_client_t * | client ) |
void pkrsrv_server_remove_client__ts | ( | pkrsrv_server_t * | server, |
pkrsrv_server_client_t * | client ) |
pkrsrv_server_client_t * pkrsrv_server_client_new | ( | pkrsrv_server_t * | server | ) |
void pkrsrv_server_client_free | ( | pkrsrv_server_client_t * | client | ) |
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 | ) |
bool pkrsrv_server_send_pong | ( | pkrsrv_server_client_t * | client | ) |
bool pkrsrv_server_send_login_res | ( | pkrsrv_server_send_login_res_params_t | params | ) |
bool pkrsrv_server_send_signup_res | ( | pkrsrv_server_send_signup_res_params_t | params | ) |
bool pkrsrv_server_send_account | ( | pkrsrv_server_send_account_params_t | params | ) |
bool pkrsrv_server_send_enter_res | ( | pkrsrv_server_send_enter_res_params_t | params | ) |
bool pkrsrv_server_send_leave_res | ( | pkrsrv_server_send_leave_res_params_t | params | ) |
bool pkrsrv_server_send_join_res | ( | pkrsrv_server_send_join_res_params_t | params | ) |
bool pkrsrv_server_send_unjoin_res | ( | pkrsrv_server_send_unjoin_res_params_t | params | ) |
bool pkrsrv_server_send_poker_info | ( | pkrsrv_server_send_poker_info_params_t | params | ) |
bool pkrsrv_server_send_poker_info_player | ( | pkrsrv_server_client_t * | p_client, |
pkrsrv_poker_player_t * | p_player ) |
bool pkrsrv_server_send_poker_state | ( | pkrsrv_server_send_poker_state_params_t | params | ) |
bool pkrsrv_server_send_poker_state_player | ( | pkrsrv_server_client_t * | p_client, |
pkrsrv_poker_player_t * | p_player ) |
bool pkrsrv_server_send_poker_action_reflection | ( | pkrsrv_server_send_poker_action_reflection_params_t | params | ) |
bool pkrsrv_server_send_poker_end | ( | pkrsrv_server_send_poker_end_params_t | params | ) |
bool pkrsrv_server_send_poker_restarted | ( | pkrsrv_server_send_poker_restarted_params_t | params | ) |
bool pkrsrv_server_send_unjoined | ( | pkrsrv_server_send_unjoined_params_t | params | ) |
bool pkrsrv_server_send_tables | ( | pkrsrv_server_send_tables_params_t | params | ) |
bool pkrsrv_server_send_sessions | ( | pkrsrv_server_send_sessions_params_t | params | ) |
bool pkrsrv_server_send_update_account_res | ( | pkrsrv_server_send_update_account_res_params_t | params | ) |
bool pkrsrv_server_send_server_info | ( | pkrsrv_server_send_server_info_params_t | params | ) |
bool pkrsrv_server_send_json | ( | pkrsrv_server_send_json_params_t | params | ) |
pkrsrv_server_t * pkrsrv_server_new | ( | pkrsrv_server_new_params_t | params | ) |
void pkrsrv_server_start | ( | pkrsrv_server_t * | server | ) |
void pkrsrv_server_listen | ( | pkrsrv_server_t * | server | ) |
void pkrsrv_server_free | ( | pkrsrv_server_t * | server | ) |