![]() |
PokerUnicorn
|
Lobby and session management and interactions. More...
Data Structures | |
struct | pkrsrv_lobby_t |
Lobby object. More... | |
struct | pkrsrv_lobby_sessions_t |
Lobby sessions list structure. More... | |
struct | pkrsrv_lobby_session_t |
Session object. More... | |
struct | pkrsrv_lobby_session_clients_t |
Session clients list structure. More... | |
struct | pkrsrv_lobby_session_client_t |
Session client object. More... | |
struct | pkrsrv_lobby_client_session_t |
Lobby client session object. More... | |
struct | pkrsrv_lobby_client_sessions_t |
Lobby client sessions list structure. More... | |
struct | pkrsrv_lobby_client_t |
Lobby client object. More... | |
struct | on_account_updated_params_t |
Parameters of on_account_updated__async More... | |
struct | pkrsrv_lobby_new_params_t |
Parameters of pkrsrv_lobby_new More... | |
struct | pkrsrv_lobby_session_new_params_t |
Parameters of pkrsrv_lobby_session_new More... | |
struct | pkrsrv_lobby_session_proceed__async_params_t |
Parameters of pkrsrv_lobby_session_proceed__async More... | |
struct | pkrsrv_lobby_session_poker_start__async_params_t |
Parameters of pkrsrv_lobby_session_poker_start__async More... | |
struct | pkrsrv_lobby_session_poker_restart__async_params_t |
Parameters of pkrsrv_lobby_session_poker_restart__async More... | |
Functions | |
void | on_account_updated__async (pkrsrv_eventloop_task_t *task) |
Used for pkrsrv_account_t::on_updated | |
pkrsrv_lobby_t * | pkrsrv_lobby_new (pkrsrv_lobby_new_params_t params) |
Creates a new lobby object. | |
void | pkrsrv_lobby_free (pkrsrv_lobby_t *lobby) |
Frees a lobby object. | |
void | pkrsrv_lobby_run (pkrsrv_lobby_t *lobby) |
Runs the lobby. | |
pkrsrv_lobby_client_t * | pkrsrv_lobby_client_new (pkrsrv_lobby_t *lobby, pkrsrv_server_client_t *client) |
Creates a new lobby client object. | |
void | pkrsrv_lobby_client_set_account (pkrsrv_lobby_client_t *lobby_client, pkrsrv_account_t *account) |
Sets the account of a lobby client. | |
void | pkrsrv_lobby_client_free (pkrsrv_lobby_client_t *lobby_client) |
Frees a lobby client object. | |
bool | reorder_updated_session (pkrsrv_lobby_session_t *updated, int old_length) |
Efficient session reorderer | |
void | pkrsrv_lobby_broadcast_sessions (pkrsrv_lobby_t *lobby) |
Broadcasts the sessions of the lobby to all clients. | |
pkrsrv_lobby_session_t * | pkrsrv_lobby_session_t::pkrsrv_lobby_session_new (pkrsrv_lobby_session_new_params_t params) |
Creates a new session object. | |
void | pkrsrv_lobby_session_t::pkrsrv_lobby_session_free (pkrsrv_lobby_session_t *session) |
Frees a session object. | |
void | pkrsrv_lobby_sessions_t::pkrsrv_lobby_sessions_add (pkrsrv_lobby_sessions_t *sessions, pkrsrv_lobby_session_t *session) |
Adds a session to the lobby. | |
void | pkrsrv_lobby_sessions_t::pkrsrv_lobby_sessions_remove (pkrsrv_lobby_sessions_t *sessions, pkrsrv_lobby_session_t *session) |
Removes a session from the lobby. | |
void | pkrsrv_lobby_session_t::pkrsrv_lobby_session_start (pkrsrv_lobby_session_t *session) |
Starts the session. | |
void | pkrsrv_lobby_session_t::pkrsrv_lobby_session_stop (pkrsrv_lobby_session_t *session) |
Stops the session. | |
pkrsrv_lobby_session_t * | pkrsrv_lobby_session_t::pkrsrv_lobby_session_getby_id (pkrsrv_lobby_t *lobby, uint64_t id) |
Gives the session by its ID. | |
pkrsrv_lobby_session_t * | pkrsrv_lobby_session_t::pkrsrv_lobby_session_getby_table_id (pkrsrv_lobby_t *lobby, uint64_t id) |
Gives the session by its table ID. | |
void | pkrsrv_lobby_session_t::pkrsrv_lobby_session_proceed__async (pkrsrv_eventloop_task_t *task) |
Proceeds the session's game one step to future. | |
void | pkrsrv_lobby_session_t::pkrsrv_lobby_session_poker_start__async (pkrsrv_eventloop_task_t *task) |
Starts the poker game of the session. | |
void | pkrsrv_lobby_session_t::pkrsrv_lobby_session_poker_restart__async (pkrsrv_eventloop_task_t *task) |
Restarts the poker game of the session. | |
pkrsrv_lobby_session_client_t * | pkrsrv_lobby_session_client_t::pkrsrv_lobby_session_client_new (pkrsrv_lobby_client_t *lobby_client) |
Creates a new session client object. | |
void | pkrsrv_lobby_session_client_t::pkrsrv_lobby_session_client_free (pkrsrv_lobby_session_client_t *session_client) |
Frees a session client object. | |
void | pkrsrv_lobby_session_clients_t::pkrsrv_lobby_session_clients_add (pkrsrv_lobby_session_clients_t *session_clients, pkrsrv_lobby_session_client_t *session_client) |
Adds a session client to the session. | |
void | pkrsrv_lobby_session_clients_t::pkrsrv_lobby_session_clients_remove (pkrsrv_lobby_session_clients_t *session_clients, pkrsrv_lobby_session_client_t *session_client) |
Removes a session client from the session. | |
pkrsrv_lobby_client_session_t * | pkrsrv_lobby_client_session_t::pkrsrv_lobby_client_session_new (pkrsrv_lobby_session_t *session) |
Creates a new lobby client session object. | |
void | pkrsrv_lobby_client_session_t::pkrsrv_lobby_client_session_free (pkrsrv_lobby_client_session_t *joined_session) |
Frees a lobby client session object. | |
void | pkrsrv_lobby_client_sessions_t::pkrsrv_lobby_client_sessions_add (pkrsrv_lobby_client_sessions_t *client_sessions, pkrsrv_lobby_client_session_t *client_session) |
Adds a lobby client session to the lobby client. | |
void | pkrsrv_lobby_client_sessions_t::pkrsrv_lobby_client_sessions_remove (pkrsrv_lobby_client_sessions_t *client_sessions, pkrsrv_lobby_client_session_t *client_session) |
Removes a lobby client session from the lobby client. | |
bool | pkrsrv_lobby_client_t::pkrsrv_lobby_client_enter_session (pkrsrv_lobby_client_t *client, pkrsrv_lobby_session_t *session) |
Makes a lobby enter a session. | |
bool | pkrsrv_lobby_client_t::pkrsrv_lobby_client_leave_session (pkrsrv_lobby_client_t *client, pkrsrv_lobby_client_session_t *client_session) |
Makes a lobby leave a session. | |
bool | pkrsrv_lobby_client_t::pkrsrv_lobby_client_join_session (pkrsrv_lobby_client_t *client, pkrsrv_lobby_session_t *session, uint64_t enterance_amount, int position) |
Makes a lobby join a session. | |
bool | pkrsrv_lobby_client_t::pkrsrv_lobby_client_unjoin_session (pkrsrv_lobby_client_t *client, pkrsrv_lobby_session_t *session) |
Makes a lobby unjoin a session. | |
pkrsrv_lobby_client_session_t * | pkrsrv_lobby_client_t::pkrsrv_lobby_client_get_session_by_id (pkrsrv_lobby_client_t *client, uint64_t id) |
Gives the session of a lobby client by its ID. | |
pkrsrv_lobby_client_session_t * | pkrsrv_lobby_client_t::pkrsrv_lobby_client_session_getby_table_id (pkrsrv_lobby_client_t *client, uint64_t id) |
Gİies the session of a lobby client by its table ID. | |
pkrsrv_lobby_session_client_t * | pkrsrv_lobby_session_t::pkrsrv_lobby_session_client_getby_socket (pkrsrv_lobby_session_t *session, int socket) |
Gives the client of a session by its socket. | |
pkrsrv_lobby_session_client_t * | pkrsrv_lobby_session_t::pkrsrv_lobby_session_client_getby_account_id (pkrsrv_lobby_session_t *session, uint64_t account_id) |
Gives the client of a session by its account ID. | |
pkrsrv_lobby_client_session_t * | pkrsrv_lobby_session_t::pkrsrv_lobby_client_session_getby_session_id (pkrsrv_lobby_client_t *lobby_client, uint64_t session_id) |
Gives the client of a session by its account. | |
Lobby and session management and interactions.
struct pkrsrv_lobby |
Lobby object.
Data Fields | |
pkrsrv_ref_counted_t | ref_counted |
pkrsrv_server_t * | server |
pthread_mutex_t | mutex |
int | process_latency |
pkrsrv_lobby_sessions_t * | sessions |
pkrsrv_eventloop_t * | eventloop |
![]() | |
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_lobby_t::ref_counted |
pkrsrv_server_t* pkrsrv_lobby_t::server |
pthread_mutex_t pkrsrv_lobby_t::mutex |
int pkrsrv_lobby_t::process_latency |
pkrsrv_lobby_sessions_t* pkrsrv_lobby_t::sessions |
pkrsrv_eventloop_t* pkrsrv_lobby_t::eventloop |
struct pkrsrv_lobby_sessions |
Lobby sessions list structure.
Public Member Functions | |
void | pkrsrv_lobby_sessions_add (pkrsrv_lobby_sessions_t *sessions, pkrsrv_lobby_session_t *session) |
Adds a session to the lobby. | |
void | pkrsrv_lobby_sessions_remove (pkrsrv_lobby_sessions_t *sessions, pkrsrv_lobby_session_t *session) |
Removes a session from the lobby. | |
Data Fields | |
pkrsrv_ref_counted_t | ref_counted |
pkrsrv_lobby_session_t * | next |
pkrsrv_lobby_session_t * | prev |
pkrsrv_lobby_session_t * | terminal |
int | length |
pkrsrv_ref_counted_t pkrsrv_lobby_sessions_t::ref_counted |
pkrsrv_lobby_session_t* pkrsrv_lobby_sessions_t::next |
pkrsrv_lobby_session_t* pkrsrv_lobby_sessions_t::prev |
pkrsrv_lobby_session_t* pkrsrv_lobby_sessions_t::terminal |
int pkrsrv_lobby_sessions_t::length |
struct pkrsrv_lobby_session |
Session object.
Public Member Functions | |
pkrsrv_lobby_session_t * | pkrsrv_lobby_session_new (pkrsrv_lobby_session_new_params_t params) |
Creates a new session object. | |
void | pkrsrv_lobby_session_free (pkrsrv_lobby_session_t *session) |
Frees a session object. | |
void | pkrsrv_lobby_session_start (pkrsrv_lobby_session_t *session) |
Starts the session. | |
void | pkrsrv_lobby_session_stop (pkrsrv_lobby_session_t *session) |
Stops the session. | |
pkrsrv_lobby_session_t * | pkrsrv_lobby_session_getby_id (pkrsrv_lobby_t *lobby, uint64_t id) |
Gives the session by its ID. | |
pkrsrv_lobby_session_t * | pkrsrv_lobby_session_getby_table_id (pkrsrv_lobby_t *lobby, uint64_t id) |
Gives the session by its table ID. | |
void | pkrsrv_lobby_session_proceed__async (pkrsrv_eventloop_task_t *task) |
Proceeds the session's game one step to future. | |
void | pkrsrv_lobby_session_poker_start__async (pkrsrv_eventloop_task_t *task) |
Starts the poker game of the session. | |
void | pkrsrv_lobby_session_poker_restart__async (pkrsrv_eventloop_task_t *task) |
Restarts the poker game of the session. | |
pkrsrv_lobby_session_client_t * | pkrsrv_lobby_session_client_getby_socket (pkrsrv_lobby_session_t *session, int socket) |
Gives the client of a session by its socket. | |
pkrsrv_lobby_session_client_t * | pkrsrv_lobby_session_client_getby_account_id (pkrsrv_lobby_session_t *session, uint64_t account_id) |
Gives the client of a session by its account ID. | |
pkrsrv_lobby_client_session_t * | pkrsrv_lobby_client_session_getby_session_id (pkrsrv_lobby_client_t *lobby_client, uint64_t session_id) |
Gives the client of a session by its account. | |
![]() | |
#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 |
pkrsrv_lobby_session_t * | next |
pkrsrv_lobby_session_t * | prev |
PGconn * | pg_conn |
pkrsrv_lobby_t * | lobby |
pkrsrv_uniqid_uuid_t | id |
int | process_latency |
pkrsrv_poker_t * | poker |
pthread_mutex_t | mutex |
bool | is_running |
pkrsrv_eventloop_task_t * | proceed_task |
pkrsrv_eventloop_task_t * | poker_start_task |
pkrsrv_eventloop_task_t * | poker_restart_task |
pkrsrv_lobby_session_clients_t * | clients |
int | joined_clients_count |
![]() | |
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_lobby_session_t::ref_counted |
pkrsrv_lobby_session_t* pkrsrv_lobby_session_t::next |
pkrsrv_lobby_session_t* pkrsrv_lobby_session_t::prev |
PGconn* pkrsrv_lobby_session_t::pg_conn |
pkrsrv_lobby_t* pkrsrv_lobby_session_t::lobby |
pkrsrv_uniqid_uuid_t pkrsrv_lobby_session_t::id |
int pkrsrv_lobby_session_t::process_latency |
pkrsrv_poker_t* pkrsrv_lobby_session_t::poker |
pthread_mutex_t pkrsrv_lobby_session_t::mutex |
bool pkrsrv_lobby_session_t::is_running |
pkrsrv_eventloop_task_t* pkrsrv_lobby_session_t::proceed_task |
pkrsrv_eventloop_task_t* pkrsrv_lobby_session_t::poker_start_task |
pkrsrv_eventloop_task_t* pkrsrv_lobby_session_t::poker_restart_task |
pkrsrv_lobby_session_clients_t* pkrsrv_lobby_session_t::clients |
int pkrsrv_lobby_session_t::joined_clients_count |
struct pkrsrv_lobby_session_clients |
Session clients list structure.
Public Member Functions | |
void | pkrsrv_lobby_session_clients_add (pkrsrv_lobby_session_clients_t *session_clients, pkrsrv_lobby_session_client_t *session_client) |
Adds a session client to the session. | |
void | pkrsrv_lobby_session_clients_remove (pkrsrv_lobby_session_clients_t *session_clients, pkrsrv_lobby_session_client_t *session_client) |
Removes a session client from the session. | |
Data Fields | |
pkrsrv_lobby_session_client_t * | next |
pkrsrv_lobby_session_client_t * | prev |
pkrsrv_lobby_session_client_t * | terminal |
int | length |
pkrsrv_lobby_session_client_t* pkrsrv_lobby_session_clients_t::next |
pkrsrv_lobby_session_client_t* pkrsrv_lobby_session_clients_t::prev |
pkrsrv_lobby_session_client_t* pkrsrv_lobby_session_clients_t::terminal |
int pkrsrv_lobby_session_clients_t::length |
struct pkrsrv_lobby_session_client |
Session client object.
Public Member Functions | |
pkrsrv_lobby_session_client_t * | pkrsrv_lobby_session_client_new (pkrsrv_lobby_client_t *lobby_client) |
Creates a new session client object. | |
void | pkrsrv_lobby_session_client_free (pkrsrv_lobby_session_client_t *session_client) |
Frees a session client object. | |
![]() | |
#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_lobby_session_client_t * | next |
pkrsrv_lobby_session_client_t * | prev |
pkrsrv_lobby_client_t * | client |
bool | is_joined |
pkrsrv_ref_counted_t | ref_counted |
![]() | |
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_lobby_session_client_t* pkrsrv_lobby_session_client_t::next |
pkrsrv_lobby_session_client_t* pkrsrv_lobby_session_client_t::prev |
pkrsrv_lobby_client_t* pkrsrv_lobby_session_client_t::client |
bool pkrsrv_lobby_session_client_t::is_joined |
pkrsrv_ref_counted_t pkrsrv_lobby_session_client_t::ref_counted |
struct pkrsrv_lobby_client_session |
Lobby client session object.
Public Member Functions | |
pkrsrv_lobby_client_session_t * | pkrsrv_lobby_client_session_new (pkrsrv_lobby_session_t *session) |
Creates a new lobby client session object. | |
void | pkrsrv_lobby_client_session_free (pkrsrv_lobby_client_session_t *joined_session) |
Frees a lobby client session object. | |
![]() | |
#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_lobby_client_session_t * | next |
pkrsrv_lobby_client_session_t * | prev |
pkrsrv_lobby_session_t * | session |
bool | is_joined |
pkrsrv_ref_counted_t | ref_counted |
![]() | |
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_lobby_client_session_t* pkrsrv_lobby_client_session_t::next |
pkrsrv_lobby_client_session_t* pkrsrv_lobby_client_session_t::prev |
pkrsrv_lobby_session_t* pkrsrv_lobby_client_session_t::session |
bool pkrsrv_lobby_client_session_t::is_joined |
pkrsrv_ref_counted_t pkrsrv_lobby_client_session_t::ref_counted |
struct pkrsrv_lobby_client_sessions |
Lobby client sessions list structure.
Public Member Functions | |
void | pkrsrv_lobby_client_sessions_add (pkrsrv_lobby_client_sessions_t *client_sessions, pkrsrv_lobby_client_session_t *client_session) |
Adds a lobby client session to the lobby client. | |
void | pkrsrv_lobby_client_sessions_remove (pkrsrv_lobby_client_sessions_t *client_sessions, pkrsrv_lobby_client_session_t *client_session) |
Removes a lobby client session from the lobby client. | |
Data Fields | |
pkrsrv_lobby_client_session_t * | next |
pkrsrv_lobby_client_session_t * | prev |
pkrsrv_lobby_client_session_t * | terminal |
int | length |
pkrsrv_lobby_client_session_t* pkrsrv_lobby_client_sessions_t::next |
pkrsrv_lobby_client_session_t* pkrsrv_lobby_client_sessions_t::prev |
pkrsrv_lobby_client_session_t* pkrsrv_lobby_client_sessions_t::terminal |
int pkrsrv_lobby_client_sessions_t::length |
struct pkrsrv_lobby_client |
Lobby client object.
Public Member Functions | |
bool | pkrsrv_lobby_client_enter_session (pkrsrv_lobby_client_t *client, pkrsrv_lobby_session_t *session) |
Makes a lobby enter a session. | |
bool | pkrsrv_lobby_client_leave_session (pkrsrv_lobby_client_t *client, pkrsrv_lobby_client_session_t *client_session) |
Makes a lobby leave a session. | |
bool | pkrsrv_lobby_client_join_session (pkrsrv_lobby_client_t *client, pkrsrv_lobby_session_t *session, uint64_t enterance_amount, int position) |
Makes a lobby join a session. | |
bool | pkrsrv_lobby_client_unjoin_session (pkrsrv_lobby_client_t *client, pkrsrv_lobby_session_t *session) |
Makes a lobby unjoin a session. | |
pkrsrv_lobby_client_session_t * | pkrsrv_lobby_client_get_session_by_id (pkrsrv_lobby_client_t *client, uint64_t id) |
Gives the session of a lobby client by its ID. | |
pkrsrv_lobby_client_session_t * | pkrsrv_lobby_client_session_getby_table_id (pkrsrv_lobby_client_t *client, uint64_t id) |
Gİies the session of a lobby client by its table ID. | |
![]() | |
#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 |
pkrsrv_lobby_t * | lobby |
pkrsrv_server_client_t * | client |
pkrsrv_lobby_client_sessions_t * | sessions |
pkrsrv_account_t * | account |
![]() | |
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_lobby_client_t::ref_counted |
pkrsrv_lobby_t* pkrsrv_lobby_client_t::lobby |
pkrsrv_server_client_t* pkrsrv_lobby_client_t::client |
pkrsrv_lobby_client_sessions_t* pkrsrv_lobby_client_t::sessions |
pkrsrv_account_t* pkrsrv_lobby_client_t::account |
struct on_account_updated_params |
struct pkrsrv_lobby_new_params |
struct pkrsrv_lobby_session_new_params |
Parameters of pkrsrv_lobby_session_new
Data Fields | ||
---|---|---|
pkrsrv_lobby_t * | lobby | |
pkrsrv_table_t * | table |
struct pkrsrv_lobby_session_proceed__async_params |
struct pkrsrv_lobby_session_poker_start__async_params |
struct pkrsrv_lobby_session_poker_restart__async_params |
void on_account_updated__async | ( | pkrsrv_eventloop_task_t * | task | ) |
Used for pkrsrv_account_t::on_updated
pkrsrv_lobby_t * pkrsrv_lobby_new | ( | pkrsrv_lobby_new_params_t | params | ) |
Creates a new lobby object.
void pkrsrv_lobby_free | ( | pkrsrv_lobby_t * | lobby | ) |
Frees a lobby object.
void pkrsrv_lobby_run | ( | pkrsrv_lobby_t * | lobby | ) |
Runs the lobby.
pkrsrv_lobby_client_t * pkrsrv_lobby_client_new | ( | pkrsrv_lobby_t * | lobby, |
pkrsrv_server_client_t * | client ) |
Creates a new lobby client object.
void pkrsrv_lobby_client_set_account | ( | pkrsrv_lobby_client_t * | lobby_client, |
pkrsrv_account_t * | account ) |
Sets the account of a lobby client.
void pkrsrv_lobby_client_free | ( | pkrsrv_lobby_client_t * | lobby_client | ) |
Frees a lobby client object.
bool reorder_updated_session | ( | pkrsrv_lobby_session_t * | updated, |
int | old_length ) |
Efficient session reorderer
updated | pkrsrv_lobby_session_t * The just-updated session |
old_length | int Old number of total sessions before updated got updated |
void pkrsrv_lobby_broadcast_sessions | ( | pkrsrv_lobby_t * | lobby | ) |
Broadcasts the sessions of the lobby to all clients.
pkrsrv_lobby_session_t * pkrsrv_lobby_session_new | ( | pkrsrv_lobby_session_new_params_t | params | ) |
Creates a new session object.
void pkrsrv_lobby_session_free | ( | pkrsrv_lobby_session_t * | session | ) |
Frees a session object.
Proceeds the session.
void pkrsrv_lobby_sessions_add | ( | pkrsrv_lobby_sessions_t * | sessions, |
pkrsrv_lobby_session_t * | session ) |
Adds a session to the lobby.
void pkrsrv_lobby_sessions_remove | ( | pkrsrv_lobby_sessions_t * | sessions, |
pkrsrv_lobby_session_t * | session ) |
Removes a session from the lobby.
void pkrsrv_lobby_session_start | ( | pkrsrv_lobby_session_t * | session | ) |
Starts the session.
void pkrsrv_lobby_session_stop | ( | pkrsrv_lobby_session_t * | session | ) |
Stops the session.
pkrsrv_lobby_session_t * pkrsrv_lobby_session_getby_id | ( | pkrsrv_lobby_t * | lobby, |
uint64_t | id ) |
Gives the session by its ID.
pkrsrv_lobby_session_t * pkrsrv_lobby_session_getby_table_id | ( | pkrsrv_lobby_t * | lobby, |
uint64_t | id ) |
Gives the session by its table ID.
void pkrsrv_lobby_session_proceed__async | ( | pkrsrv_eventloop_task_t * | task | ) |
Proceeds the session's game one step to future.
void pkrsrv_lobby_session_poker_start__async | ( | pkrsrv_eventloop_task_t * | task | ) |
Starts the poker game of the session.
void pkrsrv_lobby_session_poker_restart__async | ( | pkrsrv_eventloop_task_t * | task | ) |
Restarts the poker game of the session.
pkrsrv_lobby_session_client_t * pkrsrv_lobby_session_client_new | ( | pkrsrv_lobby_client_t * | lobby_client | ) |
Creates a new session client object.
void pkrsrv_lobby_session_client_free | ( | pkrsrv_lobby_session_client_t * | session_client | ) |
Frees a session client object.
void pkrsrv_lobby_session_clients_add | ( | pkrsrv_lobby_session_clients_t * | session_clients, |
pkrsrv_lobby_session_client_t * | session_client ) |
Adds a session client to the session.
void pkrsrv_lobby_session_clients_remove | ( | pkrsrv_lobby_session_clients_t * | session_clients, |
pkrsrv_lobby_session_client_t * | session_client ) |
Removes a session client from the session.
pkrsrv_lobby_client_session_t * pkrsrv_lobby_client_session_new | ( | pkrsrv_lobby_session_t * | session | ) |
Creates a new lobby client session object.
void pkrsrv_lobby_client_session_free | ( | pkrsrv_lobby_client_session_t * | joined_session | ) |
Frees a lobby client session object.
void pkrsrv_lobby_client_sessions_add | ( | pkrsrv_lobby_client_sessions_t * | client_sessions, |
pkrsrv_lobby_client_session_t * | client_session ) |
Adds a lobby client session to the lobby client.
void pkrsrv_lobby_client_sessions_remove | ( | pkrsrv_lobby_client_sessions_t * | client_sessions, |
pkrsrv_lobby_client_session_t * | client_session ) |
Removes a lobby client session from the lobby client.
bool pkrsrv_lobby_client_enter_session | ( | pkrsrv_lobby_client_t * | client, |
pkrsrv_lobby_session_t * | session ) |
Makes a lobby enter a session.
bool pkrsrv_lobby_client_leave_session | ( | pkrsrv_lobby_client_t * | client, |
pkrsrv_lobby_client_session_t * | client_session ) |
Makes a lobby leave a session.
bool pkrsrv_lobby_client_join_session | ( | pkrsrv_lobby_client_t * | client, |
pkrsrv_lobby_session_t * | session, | ||
uint64_t | enterance_amount, | ||
int | position ) |
Makes a lobby join a session.
client | pkrsrv_lobby_client * The client |
session | pkrsrv_lobby_session * The session |
enterance_amount | uint64_t The amount of money to enter the session |
bool pkrsrv_lobby_client_unjoin_session | ( | pkrsrv_lobby_client_t * | client, |
pkrsrv_lobby_session_t * | session ) |
Makes a lobby unjoin a session.
pkrsrv_lobby_client_session_t * pkrsrv_lobby_client_get_session_by_id | ( | pkrsrv_lobby_client_t * | client, |
uint64_t | id ) |
Gives the session of a lobby client by its ID.
pkrsrv_lobby_client_session_t * pkrsrv_lobby_client_session_getby_table_id | ( | pkrsrv_lobby_client_t * | client, |
uint64_t | id ) |
Gİies the session of a lobby client by its table ID.
pkrsrv_lobby_session_client_t * pkrsrv_lobby_session_client_getby_socket | ( | pkrsrv_lobby_session_t * | session, |
int | socket ) |
Gives the client of a session by its socket.
session | pkrsrv_lobby_session * The session |
socket | int OS socket handler |
pkrsrv_lobby_session_client_t * pkrsrv_lobby_session_client_getby_account_id | ( | pkrsrv_lobby_session_t * | session, |
uint64_t | account_id ) |
Gives the client of a session by its account ID.
session | pkrsrv_lobby_session * The session |
account_id | uint64_t The account ID |
pkrsrv_lobby_client_session_t * pkrsrv_lobby_client_session_getby_session_id | ( | pkrsrv_lobby_client_t * | lobby_client, |
uint64_t | session_id ) |
Gives the client of a session by its account.
session | pkrsrv_lobby_session * The session |
account | pkrsrv_account * The account |