summaryrefslogtreecommitdiff
path: root/src/PollEventPoll.h
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2012-03-23 01:34:37 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2012-03-23 01:34:37 +0900
commiteed804baaa02b4f81a27ba2844868b19992a90a1 (patch)
treef6c5741443a979593fe080422ac78ef1b0f699d2 /src/PollEventPoll.h
parent4acc0f88317287b86c6b89ba5e5262d3ebd30cc9 (diff)
Use std::set instead of std::deque if the elements are sorted and
insertions and deletions are frequent.
Diffstat (limited to 'src/PollEventPoll.h')
-rw-r--r--src/PollEventPoll.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/PollEventPoll.h b/src/PollEventPoll.h
index b07a5308..af4de886 100644
--- a/src/PollEventPoll.h
+++ b/src/PollEventPoll.h
@@ -39,9 +39,10 @@
# include <poll.h>
-#include <deque>
+#include <set>
#include "Event.h"
+#include "a2functional.h"
#ifdef ENABLE_ASYNC_DNS
# include "AsyncNameResolver.h"
#endif // ENABLE_ASYNC_DNS
@@ -69,9 +70,14 @@ private:
friend int accumulateEvent(int events, const KEvent& event);
private:
- std::deque<SharedHandle<KSocketEntry> > socketEntries_;
+ typedef std::set<SharedHandle<KSocketEntry>,
+ DerefLess<SharedHandle<KSocketEntry> > > KSocketEntrySet;
+ KSocketEntrySet socketEntries_;
#ifdef ENABLE_ASYNC_DNS
- std::deque<SharedHandle<KAsyncNameResolverEntry> > nameResolverEntries_;
+ typedef std::set<SharedHandle<KAsyncNameResolverEntry>,
+ DerefLess<SharedHandle<KAsyncNameResolverEntry> > >
+ KAsyncNameResolverEntrySet;
+ KAsyncNameResolverEntrySet nameResolverEntries_;
#endif // ENABLE_ASYNC_DNS
// Allocated the number of struct pollfd in pollfds_.