Browse Source
change the whole thing to be more edge triggered no matter wich poll method is used. In fact this works now with edge triggered epoll
1.0.0
change the whole thing to be more edge triggered no matter wich poll method is used. In fact this works now with edge triggered epoll
1.0.0
27 changed files with 609 additions and 498 deletions
-
2.gitignore
-
49include/tr/_comm_manager.h
-
40include/tr/comm_end_point.h
-
7include/tr/comm_manager.h
-
8include/tr/interface/comm_end_point.h
-
20include/tr/interface/comm_manager.h
-
1include/tr/io_handler.h
-
1include/tr/server.h
-
16src/Makefile.am
-
59src/cep_write_buffered.c
-
59src/comm_end_point.c
-
11src/comm_end_point_read.c
-
91src/comm_manager.c
-
104src/comm_manager_epoll.c
-
73src/comm_manager_poll.c
-
15src/comm_manager_shutdown.c
-
28src/comm_manager_shutdown_read.c
-
20src/comm_manager_shutdown_write.c
-
90src/connection.c
-
9src/connector.c
-
61src/datagram_service.c
-
8src/i_comm_end_point.c
-
148src/i_comm_manager.c
-
110src/io_handler.c
-
40src/protocol_handler.c
-
28testers/test_handler.c
-
9testers/testclient.sh
@ -0,0 +1,49 @@ |
|||
/** |
|||
* \file |
|||
* |
|||
* \author Georg Hopp |
|||
* |
|||
* \copyright |
|||
* Copyright © 2014 Georg Hopp |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
*/ |
|||
|
|||
#ifndef __INT_TR_COMM_MANAGER_H__ |
|||
#define __INT_TR_COMM_MANAGER_H__ |
|||
|
|||
#include "tr/comm_end_point.h" |
|||
#include "tr/connect_entry_point.h" |
|||
|
|||
#define TR_ISSUE_IO_EVENT(this, type, subject) \ |
|||
TR_eventHandlerIssueEvent((TR_EventHandler)(this), TR_eventSubjectEmit( \ |
|||
(TR_EventSubject)(subject), type, NULL)) |
|||
|
|||
#define TR_ISSUE_IO_ACC_EVENT(this, subject) \ |
|||
(TR_ISSUE_IO_EVENT(this, TR_CET_EVENT_ACC_READY, subject)) |
|||
#define TR_ISSUE_IO_READ_EVENT(this, subject) \ |
|||
(TR_ISSUE_IO_EVENT(this, TR_CEP_EVENT_DO_READ, subject)) |
|||
#define TR_ISSUE_IO_WRITE_EVENT(this, subject) \ |
|||
(TR_ISSUE_IO_EVENT(this, TR_CEP_EVENT_DO_WRITE, subject)) |
|||
#define TR_ISSUE_IO_CLOSE_EVENT(this, subject) \ |
|||
(TR_ISSUE_IO_EVENT(this, TR_CEP_EVENT_CLOSE, subject)) |
|||
#define TR_ISSUE_IO_SHUT_READ_EVENT(this, subject) \ |
|||
(TR_ISSUE_IO_EVENT(this, TR_CEP_EVENT_SHUT_READ, subject)) |
|||
#define TR_ISSUE_IO_SHUT_WRITE_EVENT(this, subject) \ |
|||
(TR_ISSUE_IO_EVENT(this, TR_CEP_EVENT_SHUT_WRITE, subject)) |
|||
|
|||
#endif // __INT_TR_COMM_MANAGER_H__ |
|||
|
|||
// vim: set ts=4 sw=4: |
|||
|
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue