From 679bf8dccd51a4c47ad0ec5ebbb88c99e0a9f098 Mon Sep 17 00:00:00 2001 From: Carlos Daniel Ruvalcaba Valenzuela Date: Thu, 26 Jul 2007 03:12:48 -0700 Subject: [PATCH] Added Threaded Load Handler to SMTP server --- backends/protocol/smtp.cpp | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/backends/protocol/smtp.cpp b/backends/protocol/smtp.cpp index 3b28aac..923de26 100644 --- a/backends/protocol/smtp.cpp +++ b/backends/protocol/smtp.cpp @@ -193,16 +193,34 @@ public: int main(int argc, char **argv){ BaseServer *srv; SimpleLoad *lh; + ThreadLoad *tlh; SMTPHandler *handler; + Socket *s, *cl; + int ret; + + s = Socket::CreateSocket(SOCKET_INET, 0); + s->setAddress("localhost"); + s->setPort(SMTP_PORT); + s->Bind(); + s->Listen(15); handler = new SMTPHandler(); - lh = new SimpleLoad(); - srv = new BaseServer(handler, SMTP_PORT); - srv->SetLoadhandler(lh); - srv->Listen(); + //lh = new SimpleLoad(); + tlh = new ThreadLoad(handler); + //srv = new BaseServer(handler, SMTP_PORT); + //srv->SetLoadhandler(lh); + //srv->Listen(); while(1){ - srv->Accept(); + + ret = s->Poll(1000000, SOCKET_POLL_READ); + if (ret == SOCKET_POLL_READ){ + + cl = s->Accept(); + + tlh->Dispatch(cl, handler); + + } } return 0; -- 2.11.4.GIT