summaryrefslogtreecommitdiff
path: root/src/net/server.c
diff options
context:
space:
mode:
authorMario Kilies <MarioKilies@GMX.net>2011-01-24 14:17:55 +0100
committerMario Kilies <MarioKilies@GMX.net>2011-01-24 14:17:55 +0100
commit5f956e035e648901645fd43d2e28fc6f8c49a585 (patch)
tree60e183934c44934c1c7f5b964f510778962254e9 /src/net/server.c
parent6820c635353b25f12401f8610c140c8608051ded (diff)
Huge refactoring of network related code.
Diffstat (limited to 'src/net/server.c')
-rw-r--r--src/net/server.c50
1 files changed, 25 insertions, 25 deletions
diff --git a/src/net/server.c b/src/net/server.c
index 10d5d11..6154f98 100644
--- a/src/net/server.c
+++ b/src/net/server.c
@@ -107,7 +107,7 @@ void server_get_players(int serversock, socket_list_t* client_socks, const uint8
* @param[in] sock Socket to use
* @return Username of client
*/
-bool server_recv_hello(const uint8_t* payload, const uint8_t payload_len)
+bool server_parse_hello(const uint8_t* payload, const uint8_t payload_len)
{
assert(payload != NULL && payload_len < MAX_PLAYER_NAME_LENGTH && payload_len > 0);
@@ -124,7 +124,7 @@ bool server_recv_hello(const uint8_t* payload, const uint8_t payload_len)
return true;
}
-card* server_recv_selected_card(const uint8_t* payload, const uint8_t payload_len)
+card* server_parse_selected_card(const uint8_t* payload, const uint8_t payload_len)
{
assert(payload != NULL && payload_len == 1);
@@ -135,7 +135,7 @@ card* server_recv_selected_card(const uint8_t* payload, const uint8_t payload_le
return c;
}
-uint8_t* server_recv_selected_stack(const uint8_t* payload, const uint8_t payload_len)
+uint8_t* server_parse_selected_stack(const uint8_t* payload, const uint8_t payload_len)
{
assert(payload != NULL && payload_len == 1);
@@ -146,57 +146,57 @@ uint8_t* server_recv_selected_stack(const uint8_t* payload, const uint8_t payloa
return index;
}
-uint8_t server_send_start_game(uint8_t* payload, const uint8_t payload_len)
+void server_prep_start_game(msg_t *m)
{
uint16_t pos = 0;
data_store* ds = datamodel();
player_list* players = &ds->players;
- payload[pos++] = players->count;
+ m->hdr.type = msg_type_start_game;
+ m->payload[pos++] = players->count;
- // copy player_ids, length and nicknames to buffer
+ // copy player_ids, length and nicknames to message payload
for(int i=0; i<players->count; i++)
{
pnoc_t* pl = &players->players[i];
- payload[pos++] = pl->player_id;
+ m->payload[pos++] = pl->player_id;
uint8_t len = strlen(pl->player_name);
- payload[pos++] = len;
- memcpy(payload+pos, pl->player_name, len);
- payload += len;
+ m->payload[pos++] = len;
+ memcpy(m->payload+pos, pl->player_name, len);
+ pos += len;
}
- assert(pos <= payload_len);
-
- return pos;
+ m->hdr.payload_length = pos;
}
-uint8_t server_send_selected_stack(uint8_t* payload, const uint8_t payload_len)
+void server_prep_selected_stack(msg_t *m)
{
data_store* ds = datamodel();
- payload[0] = ds->stack_index;
-
- return 1;
+ m->hdr.type = msg_type_selected_stack_s;
+ m->payload[0] = ds->stack_index;
+ m->hdr.payload_length = 1;
}
-uint8_t server_send_deal_cards(uint8_t* payload, const uint8_t payload_len, const void* param)
+void server_prep_deal_hand(msg_t *m, const hand_t *h)
{
- const hand_t* hand = (hand_t*) param;
+ m->hdr.type = msg_type_deal_hand;
for(int i=0; i<MAX_HAND_CARDS; i++)
- payload[i] = hand->cards[i];
+ m->payload[i] = h->cards[i];
- return MAX_HAND_CARDS;
+ m->hdr.payload_length = MAX_HAND_CARDS;
}
-uint8_t server_send_initial_stacks(uint8_t* payload, const uint8_t payload_len)
+void server_prep_initial_stacks(msg_t *m)
{
data_store* ds = datamodel();
+ m->hdr.type = msg_type_initial_stacks;
+
for(int i=0; i<NUM_TABLE_STACKS; i++)
- payload[i] = ds->table_stacks.stacks[i].cards[0];
+ m->payload[i] = ds->table_stacks.stacks[i].cards[0];
- return NUM_TABLE_STACKS;
+ m->hdr.payload_length = NUM_TABLE_STACKS;
}
-