diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2012-03-23 01:34:37 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2012-03-23 01:34:37 +0900 |
| commit | eed804baaa02b4f81a27ba2844868b19992a90a1 (patch) | |
| tree | f6c5741443a979593fe080422ac78ef1b0f699d2 /src/PollEventPoll.h | |
| parent | 4acc0f88317287b86c6b89ba5e5262d3ebd30cc9 (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.h | 12 |
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_. |
