summaryrefslogtreecommitdiff
path: root/src/socketengines
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-01-21 22:31:16 -0500
committerAdam <Adam@anope.org>2013-01-21 22:31:16 -0500
commitddaa001dafb5122e6e363e4acbbe6ce045b7b104 (patch)
tree0364a76606ac6e2881ebd663601ce260f7c1101e /src/socketengines
parent51c049e1a738e9124bab3961f35b830906517421 (diff)
Merge usefulness of Flags and Extensible classes into Extensible, made most flags we have juse strings instead of defines/enums
Diffstat (limited to 'src/socketengines')
-rw-r--r--src/socketengines/socketengine_epoll.cpp21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/socketengines/socketengine_epoll.cpp b/src/socketengines/socketengine_epoll.cpp
index 87430b798..52cc3d784 100644
--- a/src/socketengines/socketengine_epoll.cpp
+++ b/src/socketengines/socketengine_epoll.cpp
@@ -40,23 +40,20 @@ void SocketEngine::Shutdown()
void SocketEngine::Change(Socket *s, bool set, SocketFlag flag)
{
- if (set == s->HasFlag(flag))
+ if (set == s->flags[flag])
return;
- bool before_registered = s->HasFlag(SF_READABLE) || s->HasFlag(SF_WRITABLE);
+ bool before_registered = s->flags[SF_READABLE] || s->flags[SF_WRITABLE];
- if (set)
- s->SetFlag(flag);
- else
- s->UnsetFlag(flag);
+ s->flags[flag] = set;
- bool now_registered = s->HasFlag(SF_READABLE) || s->HasFlag(SF_WRITABLE);
+ bool now_registered = s->flags[SF_READABLE] || s->flags[SF_WRITABLE];
epoll_event ev;
memset(&ev, 0, sizeof(ev));
- ev.events = (s->HasFlag(SF_READABLE) ? EPOLLIN : 0) | (s->HasFlag(SF_WRITABLE) ? EPOLLOUT : 0);
+ ev.events = (s->flags[SF_READABLE] ? EPOLLIN : 0) | (s->flags[SF_WRITABLE] ? EPOLLOUT : 0);
ev.data.fd = s->GetFD();
int mod;
@@ -107,18 +104,18 @@ void SocketEngine::Process()
if (!s->Process())
{
- if (s->HasFlag(SF_DEAD))
+ if (s->flags[SF_DEAD])
delete s;
continue;
}
if ((ev.events & EPOLLIN) && !s->ProcessRead())
- s->SetFlag(SF_DEAD);
+ s->flags[SF_DEAD] = true;
if ((ev.events & EPOLLOUT) && !s->ProcessWrite())
- s->SetFlag(SF_DEAD);
+ s->flags[SF_DEAD] = true;
- if (s->HasFlag(SF_DEAD))
+ if (s->flags[SF_DEAD])
delete s;
}
}