From 59400d38a99ac8ffbfd7d89e021ed2f56ffbfd23 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 3 Jan 2013 18:07:48 +0100 Subject: Client: use std::deque for messages --- src/ClientSubscribe.cxx | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) (limited to 'src/ClientSubscribe.cxx') diff --git a/src/ClientSubscribe.cxx b/src/ClientSubscribe.cxx index 4f147147..a1ad6e68 100644 --- a/src/ClientSubscribe.cxx +++ b/src/ClientSubscribe.cxx @@ -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; -} -- cgit v1.2.3