summaryrefslogtreecommitdiff
path: root/libpurple/account.h
diff options
context:
space:
mode:
authorMark Doliner <mark@kingant.net>2009-02-12 02:33:05 (GMT)
committerMark Doliner <mark@kingant.net>2009-02-12 02:33:05 (GMT)
commitcf5b2f428b700fc49bd07f4ae4be509fbba6ae0b (patch)
tree66095872e0ba45a71a48a91e7209918b0c2f2699 /libpurple/account.h
parent95dc6c6e4558e4d6920432c7d84eb09b152a7328 (diff)
downloadpidgin-cf5b2f428b700fc49bd07f4ae4be509fbba6ae0b.tar.gz
pidgin-cf5b2f428b700fc49bd07f4ae4be509fbba6ae0b.tar.xz
Add a note that we should use hash tables for the permit and deny lists.
I don't think we'll be able to make this change until we break binary compatibility for 3.0.0.
Diffstat (limited to 'libpurple/account.h')
-rw-r--r--libpurple/account.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/libpurple/account.h b/libpurple/account.h
index c7b1be7..b9da779 100644
--- a/libpurple/account.h
+++ b/libpurple/account.h
@@ -132,6 +132,14 @@ struct _PurpleAccount
/* to NULL when the account inherits */
/* proxy settings from global prefs. */
+ /*
+ * TODO: Supplementing the next two linked lists with hash tables
+ * should help performance a lot when these lists are long. This
+ * matters quite a bit for protocols like MSN, where all your
+ * buddies are added to your permit list. Currently we have to
+ * iterate through the entire list if we want to check if someone
+ * is permitted or denied. We should do this for 3.0.0.
+ */
GSList *permit; /**< Permit list. */
GSList *deny; /**< Deny list. */
int perm_deny; /**< The permit/deny setting. */