Client: use std::deque for messages

This commit is contained in:
Max Kellermann
2013-01-03 18:07:48 +01:00
parent 5155b0f608
commit 59400d38a9
5 changed files with 10 additions and 41 deletions

View File

@@ -83,27 +83,13 @@ client_push_message(Client *client, const ClientMessage &msg)
{
assert(client != NULL);
if (client->num_messages >= CLIENT_MAX_MESSAGES ||
if (client->messages.size() >= CLIENT_MAX_MESSAGES ||
!client->IsSubscribed(msg.GetChannel()))
return false;
if (client->messages == NULL)
if (client->messages.empty())
client_idle_add(client, IDLE_MESSAGE);
client->messages = g_slist_prepend(client->messages,
new ClientMessage(msg));
++client->num_messages;
client->messages.push_back(msg);
return true;
}
GSList *
client_read_messages(Client *client)
{
GSList *messages = g_slist_reverse(client->messages);
client->messages = NULL;
client->num_messages = 0;
return messages;
}