From b4ab5fb86ac03b43f876298bc7bfbe730ab3d738 Mon Sep 17 00:00:00 2001 From: Brad Arant Date: Mon, 13 Apr 2020 09:40:58 -0700 Subject: [PATCH] New build. --- Command.cpp | 4 +- CommandList.cpp | 4 +- ConsoleServer.cpp | 2 +- ConsoleServer.h | 2 +- ConsoleSession.cpp | 20 +- ConsoleSession.h | 2 +- EPoll.cpp | 23 +- EPoll.h | 4 +- IPAddressList.cpp | 4 +- IPAddressList.h | 2 +- Socket.cpp | 48 +- Socket.h | 49 +- TCPServer.cpp | 17 +- TCPServer.h | 1 + TCPSession.cpp | 39 +- TCPSession.h | 21 +- TLSSession.cpp | 8 +- TLSSession.h | 2 +- TerminalSession.cpp | 2 +- TerminalSession.h | 18 +- Thread.cpp | 14 +- UDPServerSocket.cpp | 3 +- html/CommandList_8h_source.html | 73 +- html/Command_8h_source.html | 67 +- html/ConsoleServer_8h_source.html | 64 +- html/ConsoleSession_8h_source.html | 56 +- html/EPoll_8h_source.html | 112 +- html/INotify_8h_source.html | 57 +- html/IPAddressList_8h_source.html | 44 +- html/IPAddress_8h_source.html | 53 +- html/Object_8h_source.html | 35 +- html/SessionFilter_8h_source.html | 41 +- html/Socket_8h_source.html | 155 +- html/TCPServer_8h_source.html | 111 +- html/TCPSession_8h_source.html | 98 +- html/TCPSocket_8h_source.html | 54 +- html/TLSServer_8h_source.html | 65 +- html/TLSSession_8h_source.html | 70 +- html/TerminalSession_8h_source.html | 83 +- html/Thread_8h_source.html | 63 +- html/Timer_8h_source.html | 69 +- html/UDPServerSocket_8h_source.html | 66 +- html/UDPSocket_8h_source.html | 41 +- html/annotated.html | 13 +- html/classcore_1_1Command-members.html | 13 +- html/classcore_1_1Command.html | 33 +- html/classcore_1_1CommandList-members.html | 13 +- html/classcore_1_1CommandList.html | 23 +- .../classcore_1_1CommandList__coll__graph.map | 5 +- .../classcore_1_1CommandList__coll__graph.md5 | 2 +- .../classcore_1_1CommandList__coll__graph.png | Bin 6222 -> 6605 bytes ...asscore_1_1CommandList__inherit__graph.map | 5 +- ...asscore_1_1CommandList__inherit__graph.md5 | 2 +- ...asscore_1_1CommandList__inherit__graph.png | Bin 6222 -> 6605 bytes html/classcore_1_1Command__coll__graph.map | 3 +- html/classcore_1_1Command__coll__graph.md5 | 2 +- html/classcore_1_1Command__coll__graph.png | Bin 3394 -> 3589 bytes html/classcore_1_1Command__inherit__graph.map | 15 +- html/classcore_1_1Command__inherit__graph.md5 | 2 +- html/classcore_1_1Command__inherit__graph.png | Bin 15218 -> 16017 bytes html/classcore_1_1ConsoleServer-members.html | 81 +- html/classcore_1_1ConsoleServer.html | 97 +- ...lasscore_1_1ConsoleServer__coll__graph.map | 21 +- ...lasscore_1_1ConsoleServer__coll__graph.md5 | 2 +- ...lasscore_1_1ConsoleServer__coll__graph.png | Bin 47432 -> 47083 bytes ...score_1_1ConsoleServer__inherit__graph.map | 13 +- ...score_1_1ConsoleServer__inherit__graph.md5 | 2 +- ...score_1_1ConsoleServer__inherit__graph.png | Bin 21528 -> 18119 bytes html/classcore_1_1ConsoleSession-members.html | 90 +- html/classcore_1_1ConsoleSession.html | 172 +- ...asscore_1_1ConsoleSession__coll__graph.map | 24 +- ...asscore_1_1ConsoleSession__coll__graph.md5 | 2 +- ...asscore_1_1ConsoleSession__coll__graph.png | Bin 60415 -> 60303 bytes ...core_1_1ConsoleSession__inherit__graph.map | 12 +- ...core_1_1ConsoleSession__inherit__graph.md5 | 2 +- ...core_1_1ConsoleSession__inherit__graph.png | Bin 14987 -> 13811 bytes html/classcore_1_1EPoll-members.html | 15 +- html/classcore_1_1EPoll.html | 71 +- html/classcore_1_1EPoll__coll__graph.map | 5 +- html/classcore_1_1EPoll__coll__graph.md5 | 2 +- html/classcore_1_1EPoll__coll__graph.png | Bin 5244 -> 5528 bytes html/classcore_1_1EPoll__inherit__graph.map | 5 +- html/classcore_1_1EPoll__inherit__graph.md5 | 2 +- html/classcore_1_1EPoll__inherit__graph.png | Bin 5244 -> 5528 bytes html/classcore_1_1INotify-members.html | 69 +- html/classcore_1_1INotify.html | 27 +- html/classcore_1_1INotify__coll__graph.map | 9 +- html/classcore_1_1INotify__coll__graph.md5 | 2 +- html/classcore_1_1INotify__coll__graph.png | Bin 12833 -> 13259 bytes html/classcore_1_1INotify__inherit__graph.map | 5 +- html/classcore_1_1INotify__inherit__graph.md5 | 2 +- html/classcore_1_1INotify__inherit__graph.png | Bin 4647 -> 4965 bytes html/classcore_1_1IPAddress-members.html | 13 +- html/classcore_1_1IPAddress.html | 19 +- html/classcore_1_1IPAddressList-members.html | 13 +- html/classcore_1_1IPAddressList.html | 19 +- html/classcore_1_1IPAddress__coll__graph.map | 3 +- html/classcore_1_1IPAddress__coll__graph.md5 | 2 +- html/classcore_1_1IPAddress__coll__graph.png | Bin 3747 -> 3907 bytes ...classcore_1_1IPAddress__inherit__graph.map | 3 +- ...classcore_1_1IPAddress__inherit__graph.md5 | 2 +- ...classcore_1_1IPAddress__inherit__graph.png | Bin 3747 -> 3907 bytes html/classcore_1_1Object-members.html | 13 +- html/classcore_1_1Object.html | 52 +- html/classcore_1_1Object__inherit__graph.map | 39 +- html/classcore_1_1Object__inherit__graph.md5 | 2 +- html/classcore_1_1Object__inherit__graph.png | Bin 47078 -> 53330 bytes html/classcore_1_1SessionFilter-members.html | 13 +- html/classcore_1_1SessionFilter.html | 19 +- ...lasscore_1_1SessionFilter__coll__graph.map | 3 +- ...lasscore_1_1SessionFilter__coll__graph.md5 | 2 +- ...lasscore_1_1SessionFilter__coll__graph.png | Bin 3447 -> 3675 bytes ...score_1_1SessionFilter__inherit__graph.map | 3 +- ...score_1_1SessionFilter__inherit__graph.md5 | 2 +- ...score_1_1SessionFilter__inherit__graph.png | Bin 3447 -> 3675 bytes html/classcore_1_1Socket-members.html | 39 +- html/classcore_1_1Socket.html | 183 +- html/classcore_1_1Socket__coll__graph.map | 7 +- html/classcore_1_1Socket__coll__graph.md5 | 2 +- html/classcore_1_1Socket__coll__graph.png | Bin 10987 -> 11305 bytes html/classcore_1_1Socket__inherit__graph.map | 27 +- html/classcore_1_1Socket__inherit__graph.md5 | 2 +- html/classcore_1_1Socket__inherit__graph.png | Bin 23688 -> 30057 bytes html/classcore_1_1TCPServer-members.html | 59 +- html/classcore_1_1TCPServer.html | 81 +- html/classcore_1_1TCPServer__coll__graph.map | 17 +- html/classcore_1_1TCPServer__coll__graph.md5 | 2 +- html/classcore_1_1TCPServer__coll__graph.png | Bin 39679 -> 41516 bytes ...classcore_1_1TCPServer__inherit__graph.map | 13 +- ...classcore_1_1TCPServer__inherit__graph.md5 | 2 +- ...classcore_1_1TCPServer__inherit__graph.png | Bin 18051 -> 16733 bytes html/classcore_1_1TCPSession-members.html | 49 +- html/classcore_1_1TCPSession.html | 230 +- html/classcore_1_1TCPSession__coll__graph.map | 19 +- html/classcore_1_1TCPSession__coll__graph.md5 | 2 +- html/classcore_1_1TCPSession__coll__graph.png | Bin 52711 -> 54605 bytes ...lasscore_1_1TCPSession__inherit__graph.map | 13 +- ...lasscore_1_1TCPSession__inherit__graph.md5 | 2 +- ...lasscore_1_1TCPSession__inherit__graph.png | Bin 15029 -> 16768 bytes html/classcore_1_1TCPSocket-members.html | 43 +- html/classcore_1_1TCPSocket.html | 81 +- html/classcore_1_1TCPSocket__coll__graph.map | 11 +- html/classcore_1_1TCPSocket__coll__graph.md5 | 2 +- html/classcore_1_1TCPSocket__coll__graph.png | Bin 18243 -> 18591 bytes ...classcore_1_1TCPSocket__inherit__graph.map | 19 +- ...classcore_1_1TCPSocket__inherit__graph.md5 | 2 +- ...classcore_1_1TCPSocket__inherit__graph.png | Bin 17873 -> 22283 bytes html/classcore_1_1TLSServer-members.html | 61 +- html/classcore_1_1TLSServer.html | 82 +- html/classcore_1_1TLSServer__coll__graph.map | 19 +- html/classcore_1_1TLSServer__coll__graph.md5 | 2 +- html/classcore_1_1TLSServer__coll__graph.png | Bin 41668 -> 43592 bytes ...classcore_1_1TLSServer__inherit__graph.map | 12 +- ...classcore_1_1TLSServer__inherit__graph.md5 | 2 +- ...classcore_1_1TLSServer__inherit__graph.png | Bin 18019 -> 14468 bytes html/classcore_1_1TLSSession-members.html | 47 +- html/classcore_1_1TLSSession.html | 140 +- html/classcore_1_1TLSSession__coll__graph.map | 21 +- html/classcore_1_1TLSSession__coll__graph.md5 | 2 +- html/classcore_1_1TLSSession__coll__graph.png | Bin 55202 -> 57219 bytes ...lasscore_1_1TLSSession__inherit__graph.map | 11 +- ...lasscore_1_1TLSSession__inherit__graph.md5 | 2 +- ...lasscore_1_1TLSSession__inherit__graph.png | Bin 14969 -> 7472 bytes .../classcore_1_1TerminalSession-members.html | 86 +- html/classcore_1_1TerminalSession.html | 223 +- ...sscore_1_1TerminalSession__coll__graph.map | 22 +- ...sscore_1_1TerminalSession__coll__graph.md5 | 2 +- ...sscore_1_1TerminalSession__coll__graph.png | Bin 57882 -> 57548 bytes ...ore_1_1TerminalSession__inherit__graph.map | 12 +- ...ore_1_1TerminalSession__inherit__graph.md5 | 2 +- ...ore_1_1TerminalSession__inherit__graph.png | Bin 14989 -> 13793 bytes html/classcore_1_1Thread-members.html | 13 +- html/classcore_1_1Thread.html | 19 +- html/classcore_1_1Thread__coll__graph.map | 3 +- html/classcore_1_1Thread__coll__graph.md5 | 2 +- html/classcore_1_1Thread__coll__graph.png | Bin 3072 -> 3227 bytes html/classcore_1_1Thread__inherit__graph.map | 3 +- html/classcore_1_1Thread__inherit__graph.md5 | 2 +- html/classcore_1_1Thread__inherit__graph.png | Bin 3072 -> 3227 bytes html/classcore_1_1Timer-members.html | 47 +- html/classcore_1_1Timer.html | 27 +- html/classcore_1_1Timer__coll__graph.map | 9 +- html/classcore_1_1Timer__coll__graph.md5 | 2 +- html/classcore_1_1Timer__coll__graph.png | Bin 12565 -> 12962 bytes html/classcore_1_1Timer__inherit__graph.map | 5 +- html/classcore_1_1Timer__inherit__graph.md5 | 2 +- html/classcore_1_1Timer__inherit__graph.png | Bin 4368 -> 4671 bytes .../classcore_1_1UDPServerSocket-members.html | 51 +- html/classcore_1_1UDPServerSocket.html | 73 +- ...sscore_1_1UDPServerSocket__coll__graph.map | 11 +- ...sscore_1_1UDPServerSocket__coll__graph.md5 | 2 +- ...sscore_1_1UDPServerSocket__coll__graph.png | Bin 20132 -> 20848 bytes ...ore_1_1UDPServerSocket__inherit__graph.map | 9 +- ...ore_1_1UDPServerSocket__inherit__graph.md5 | 2 +- ...ore_1_1UDPServerSocket__inherit__graph.png | Bin 14016 -> 13931 bytes html/classcore_1_1UDPSocket-members.html | 41 +- html/classcore_1_1UDPSocket.html | 67 +- html/classcore_1_1UDPSocket__coll__graph.map | 9 +- html/classcore_1_1UDPSocket__coll__graph.md5 | 2 +- html/classcore_1_1UDPSocket__coll__graph.png | Bin 13461 -> 13949 bytes ...classcore_1_1UDPSocket__inherit__graph.map | 7 +- ...classcore_1_1UDPSocket__inherit__graph.md5 | 2 +- ...classcore_1_1UDPSocket__inherit__graph.png | Bin 7571 -> 7983 bytes html/classes.html | 69 +- html/doxygen.css | 303 +- html/dynsections.js | 27 +- html/files.html | 13 +- html/functions.html | 59 +- html/functions_func.html | 56 +- html/functions_vars.html | 16 +- html/graph_legend.html | 54 +- html/graph_legend.md5 | 2 +- html/graph_legend.png | Bin 20374 -> 20400 bytes html/hierarchy.html | 25 +- html/index.html | 13 +- html/inherit_graph_0.map | 2 +- html/inherit_graph_0.md5 | 2 +- html/inherit_graph_0.png | Bin 1693 -> 1847 bytes html/inherit_graph_1.map | 41 +- html/inherit_graph_1.md5 | 2 +- html/inherit_graph_1.png | Bin 42644 -> 58025 bytes html/inherits.html | 60 +- html/jquery.js | 94 +- html/menu.js | 26 +- html/menudata.js | 26 +- html/search/all_0.html | 8 +- html/search/all_0.js | 2 +- html/search/all_1.html | 8 +- html/search/all_1.js | 2 +- html/search/all_2.html | 8 +- html/search/all_2.js | 16 +- html/search/all_3.html | 8 +- html/search/all_3.js | 4 +- html/search/all_4.html | 8 +- html/search/all_4.js | 14 +- html/search/all_5.html | 8 +- html/search/all_5.js | 8 +- html/search/all_6.html | 8 +- html/search/all_6.js | 2 +- html/search/all_7.html | 8 +- html/search/all_7.js | 16 +- html/search/all_8.html | 8 +- html/search/all_8.js | 6 +- html/search/all_9.html | 8 +- html/search/all_9.js | 6 +- html/search/all_a.html | 8 +- html/search/all_a.js | 23 +- html/search/all_b.html | 8 +- html/search/all_b.js | 16 +- html/search/all_c.html | 8 +- html/search/all_c.js | 6 +- html/search/all_d.html | 8 +- html/search/all_d.js | 4 +- html/search/all_e.html | 8 +- html/search/all_e.js | 7 +- html/search/classes_0.html | 8 +- html/search/classes_0.js | 8 +- html/search/classes_1.html | 8 +- html/search/classes_1.js | 2 +- html/search/classes_2.html | 8 +- html/search/classes_2.js | 6 +- html/search/classes_3.html | 8 +- html/search/classes_3.js | 2 +- html/search/classes_4.html | 8 +- html/search/classes_4.js | 4 +- html/search/classes_5.html | 8 +- html/search/classes_5.js | 16 +- html/search/classes_6.html | 8 +- html/search/classes_6.js | 4 +- html/search/functions_0.html | 8 +- html/search/functions_0.js | 2 +- html/search/functions_1.html | 8 +- html/search/functions_1.js | 6 +- html/search/functions_2.html | 8 +- html/search/functions_2.js | 4 +- html/search/functions_3.html | 8 +- html/search/functions_3.js | 14 +- html/search/functions_4.html | 8 +- html/search/functions_4.js | 2 +- html/search/functions_5.html | 8 +- html/search/functions_5.js | 13 +- html/search/functions_6.html | 8 +- html/search/functions_6.js | 6 +- html/search/functions_7.html | 8 +- html/search/functions_7.js | 6 +- html/search/functions_8.html | 8 +- html/search/functions_8.js | 18 +- html/search/functions_9.html | 8 +- html/search/functions_9.js | 4 +- html/search/functions_a.html | 8 +- html/search/functions_a.js | 2 +- html/search/functions_b.html | 8 +- html/search/functions_b.js | 2 +- html/search/functions_c.html | 8 +- html/search/functions_c.js | 7 +- html/search/mag_sel.png | Bin 563 -> 465 bytes html/search/nomatches.html | 2 +- html/search/search.js | 25 +- html/search/search_l.png | Bin 604 -> 567 bytes html/search/search_r.png | Bin 612 -> 553 bytes html/search/searchdata.js | 2 +- html/search/variables_0.html | 8 +- html/search/variables_0.js | 2 +- html/search/variables_1.html | 8 +- html/search/variables_1.js | 2 +- html/search/variables_2.html | 8 +- html/search/variables_2.js | 2 +- html/search/variables_3.html | 8 +- html/search/variables_3.js | 2 +- html/search/variables_4.html | 8 +- html/search/variables_4.js | 2 +- html/search/variables_5.html | 30 + html/search/variables_5.js | 4 + html/tabs.css | 2 +- latex/Makefile | 10 +- latex/annotated.tex | 44 +- latex/classcore_1_1Command.tex | 60 +- latex/classcore_1_1CommandList.tex | 92 +- .../classcore_1_1CommandList__coll__graph.md5 | 2 +- .../classcore_1_1CommandList__coll__graph.pdf | Bin 12826 -> 13537 bytes ...asscore_1_1CommandList__inherit__graph.md5 | 2 +- ...asscore_1_1CommandList__inherit__graph.pdf | Bin 12826 -> 13537 bytes latex/classcore_1_1Command__coll__graph.md5 | 2 +- latex/classcore_1_1Command__coll__graph.pdf | Bin 12306 -> 12704 bytes .../classcore_1_1Command__inherit__graph.md5 | 2 +- .../classcore_1_1Command__inherit__graph.pdf | Bin 14612 -> 16985 bytes latex/classcore_1_1ConsoleServer.tex | 28 +- ...lasscore_1_1ConsoleServer__coll__graph.md5 | 2 +- ...lasscore_1_1ConsoleServer__coll__graph.pdf | Bin 16679 -> 19612 bytes ...score_1_1ConsoleServer__inherit__graph.md5 | 2 +- ...score_1_1ConsoleServer__inherit__graph.pdf | Bin 14796 -> 16386 bytes latex/classcore_1_1ConsoleSession.tex | 38 +- ...asscore_1_1ConsoleSession__coll__graph.md5 | 2 +- ...asscore_1_1ConsoleSession__coll__graph.pdf | Bin 16672 -> 20236 bytes ...core_1_1ConsoleSession__inherit__graph.md5 | 2 +- ...core_1_1ConsoleSession__inherit__graph.pdf | Bin 13544 -> 15021 bytes latex/classcore_1_1EPoll.tex | 136 +- latex/classcore_1_1EPoll__coll__graph.md5 | 2 +- latex/classcore_1_1EPoll__coll__graph.pdf | Bin 12834 -> 13548 bytes latex/classcore_1_1EPoll__inherit__graph.md5 | 2 +- latex/classcore_1_1EPoll__inherit__graph.pdf | Bin 12834 -> 13548 bytes latex/classcore_1_1INotify.tex | 12 +- latex/classcore_1_1INotify__coll__graph.md5 | 2 +- latex/classcore_1_1INotify__coll__graph.pdf | Bin 14279 -> 15638 bytes .../classcore_1_1INotify__inherit__graph.md5 | 2 +- .../classcore_1_1INotify__inherit__graph.pdf | Bin 12202 -> 12915 bytes latex/classcore_1_1IPAddress.tex | 18 +- latex/classcore_1_1IPAddressList.tex | 14 +- latex/classcore_1_1IPAddress__coll__graph.md5 | 2 +- latex/classcore_1_1IPAddress__coll__graph.pdf | Bin 11924 -> 12330 bytes ...classcore_1_1IPAddress__inherit__graph.md5 | 2 +- ...classcore_1_1IPAddress__inherit__graph.pdf | Bin 11924 -> 12330 bytes latex/classcore_1_1Object.tex | 8 +- latex/classcore_1_1Object__inherit__graph.md5 | 2 +- latex/classcore_1_1Object__inherit__graph.pdf | Bin 16820 -> 23139 bytes latex/classcore_1_1SessionFilter.tex | 14 +- ...lasscore_1_1SessionFilter__coll__graph.md5 | 2 +- ...lasscore_1_1SessionFilter__coll__graph.pdf | Bin 12105 -> 12501 bytes ...score_1_1SessionFilter__inherit__graph.md5 | 2 +- ...score_1_1SessionFilter__inherit__graph.pdf | Bin 12105 -> 12501 bytes latex/classcore_1_1Socket.tex | 171 +- latex/classcore_1_1Socket__coll__graph.md5 | 2 +- latex/classcore_1_1Socket__coll__graph.pdf | Bin 13577 -> 14627 bytes latex/classcore_1_1Socket__inherit__graph.md5 | 2 +- latex/classcore_1_1Socket__inherit__graph.pdf | Bin 15098 -> 19361 bytes latex/classcore_1_1TCPServer.tex | 130 +- latex/classcore_1_1TCPServer__coll__graph.md5 | 2 +- latex/classcore_1_1TCPServer__coll__graph.pdf | Bin 15859 -> 18540 bytes ...classcore_1_1TCPServer__inherit__graph.md5 | 2 +- ...classcore_1_1TCPServer__inherit__graph.pdf | Bin 13985 -> 16002 bytes latex/classcore_1_1TCPSession.tex | 156 +- .../classcore_1_1TCPSession__coll__graph.md5 | 2 +- .../classcore_1_1TCPSession__coll__graph.pdf | Bin 16480 -> 19452 bytes ...lasscore_1_1TCPSession__inherit__graph.md5 | 2 +- ...lasscore_1_1TCPSession__inherit__graph.pdf | Bin 13556 -> 15645 bytes latex/classcore_1_1TCPSocket.tex | 40 +- latex/classcore_1_1TCPSocket__coll__graph.md5 | 2 +- latex/classcore_1_1TCPSocket__coll__graph.pdf | Bin 14845 -> 16629 bytes ...classcore_1_1TCPSocket__inherit__graph.md5 | 2 +- ...classcore_1_1TCPSocket__inherit__graph.pdf | Bin 13958 -> 16936 bytes latex/classcore_1_1TLSServer.tex | 40 +- latex/classcore_1_1TLSServer__coll__graph.md5 | 2 +- latex/classcore_1_1TLSServer__coll__graph.pdf | Bin 15929 -> 18937 bytes ...classcore_1_1TLSServer__inherit__graph.md5 | 2 +- ...classcore_1_1TLSServer__inherit__graph.pdf | Bin 13979 -> 15332 bytes latex/classcore_1_1TLSSession.tex | 82 +- .../classcore_1_1TLSSession__coll__graph.md5 | 2 +- .../classcore_1_1TLSSession__coll__graph.pdf | Bin 16554 -> 19848 bytes ...lasscore_1_1TLSSession__inherit__graph.md5 | 2 +- ...lasscore_1_1TLSSession__inherit__graph.pdf | Bin 13561 -> 14133 bytes latex/classcore_1_1TerminalSession.tex | 50 +- ...sscore_1_1TerminalSession__coll__graph.md5 | 2 +- ...sscore_1_1TerminalSession__coll__graph.pdf | Bin 16624 -> 19864 bytes ...ore_1_1TerminalSession__inherit__graph.md5 | 2 +- ...ore_1_1TerminalSession__inherit__graph.pdf | Bin 13550 -> 15032 bytes latex/classcore_1_1Thread.tex | 30 +- latex/classcore_1_1Thread__coll__graph.md5 | 2 +- latex/classcore_1_1Thread__coll__graph.pdf | Bin 11958 -> 12364 bytes latex/classcore_1_1Thread__inherit__graph.md5 | 2 +- latex/classcore_1_1Thread__inherit__graph.pdf | Bin 11958 -> 12364 bytes latex/classcore_1_1Timer.tex | 62 +- latex/classcore_1_1Timer__coll__graph.md5 | 2 +- latex/classcore_1_1Timer__coll__graph.pdf | Bin 13882 -> 15244 bytes latex/classcore_1_1Timer__inherit__graph.md5 | 2 +- latex/classcore_1_1Timer__inherit__graph.pdf | Bin 12007 -> 12721 bytes latex/classcore_1_1UDPServerSocket.tex | 34 +- ...sscore_1_1UDPServerSocket__coll__graph.md5 | 2 +- ...sscore_1_1UDPServerSocket__coll__graph.pdf | Bin 14226 -> 15892 bytes ...ore_1_1UDPServerSocket__inherit__graph.md5 | 2 +- ...ore_1_1UDPServerSocket__inherit__graph.pdf | Bin 13630 -> 14965 bytes latex/classcore_1_1UDPSocket.tex | 14 +- latex/classcore_1_1UDPSocket__coll__graph.md5 | 2 +- latex/classcore_1_1UDPSocket__coll__graph.pdf | Bin 13925 -> 15285 bytes ...classcore_1_1UDPSocket__inherit__graph.md5 | 2 +- ...classcore_1_1UDPSocket__inherit__graph.pdf | Bin 12149 -> 13181 bytes latex/doxygen.sty | 155 +- latex/hierarchy.tex | 62 +- latex/html/_command_8h_source.html | 81 + latex/html/_command_list_8h_source.html | 82 + latex/html/_console_server_8h_source.html | 80 + latex/html/_console_session_8h_source.html | 79 + latex/html/_e_poll_8h_source.html | 89 + latex/html/_i_notify_8h_source.html | 77 + latex/html/_i_p_address_8h_source.html | 79 + latex/html/_i_p_address_list_8h_source.html | 76 + latex/html/_object_8h_source.html | 75 + latex/html/_session_filter_8h_source.html | 77 + latex/html/_socket_8h_source.html | 86 + latex/html/_t_c_p_server_8h_source.html | 92 + latex/html/_t_c_p_session_8h_source.html | 87 + latex/html/_t_c_p_socket_8h_source.html | 79 + latex/html/_t_l_s_server_8h_source.html | 81 + latex/html/_t_l_s_session_8h_source.html | 82 + latex/html/_terminal_session_8h_source.html | 81 + latex/html/_thread_8h_source.html | 78 + latex/html/_timer_8h_source.html | 81 + .../html/_u_d_p_server_socket_8h_source.html | 79 + latex/html/_u_d_p_socket_8h_source.html | 77 + latex/html/annotated.html | 99 + latex/html/bc_s.png | Bin 0 -> 676 bytes latex/html/bdwn.png | Bin 0 -> 147 bytes latex/html/classcore_1_1_command-members.html | 86 + latex/html/classcore_1_1_command.html | 283 ++ .../classcore_1_1_command__coll__graph.map | 3 + .../classcore_1_1_command__coll__graph.md5 | 1 + .../classcore_1_1_command__coll__graph.png | Bin 0 -> 3394 bytes .../classcore_1_1_command__inherit__graph.map | 9 + .../classcore_1_1_command__inherit__graph.md5 | 1 + .../classcore_1_1_command__inherit__graph.png | Bin 0 -> 15326 bytes .../classcore_1_1_command_list-members.html | 92 + latex/html/classcore_1_1_command_list.html | 340 +++ ...lasscore_1_1_command_list__coll__graph.map | 4 + ...lasscore_1_1_command_list__coll__graph.md5 | 1 + ...lasscore_1_1_command_list__coll__graph.png | Bin 0 -> 6222 bytes ...score_1_1_command_list__inherit__graph.map | 4 + ...score_1_1_command_list__inherit__graph.md5 | 1 + ...score_1_1_command_list__inherit__graph.png | Bin 0 -> 6222 bytes .../classcore_1_1_console_server-members.html | 127 + latex/html/classcore_1_1_console_server.html | 282 ++ ...sscore_1_1_console_server__coll__graph.map | 11 + ...sscore_1_1_console_server__coll__graph.md5 | 1 + ...sscore_1_1_console_server__coll__graph.png | Bin 0 -> 45436 bytes ...ore_1_1_console_server__inherit__graph.map | 7 + ...ore_1_1_console_server__inherit__graph.md5 | 1 + ...ore_1_1_console_server__inherit__graph.png | Bin 0 -> 17408 bytes ...classcore_1_1_console_session-members.html | 135 + latex/html/classcore_1_1_console_session.html | 324 +++ ...score_1_1_console_session__coll__graph.map | 13 + ...score_1_1_console_session__coll__graph.md5 | 1 + ...score_1_1_console_session__coll__graph.png | Bin 0 -> 58078 bytes ...re_1_1_console_session__inherit__graph.map | 7 + ...re_1_1_console_session__inherit__graph.md5 | 1 + ...re_1_1_console_session__inherit__graph.png | Bin 0 -> 12920 bytes latex/html/classcore_1_1_e_poll-members.html | 97 + latex/html/classcore_1_1_e_poll.html | 464 +++ .../classcore_1_1_e_poll__coll__graph.map | 4 + .../classcore_1_1_e_poll__coll__graph.md5 | 1 + .../classcore_1_1_e_poll__coll__graph.png | Bin 0 -> 5244 bytes .../classcore_1_1_e_poll__inherit__graph.map | 4 + .../classcore_1_1_e_poll__inherit__graph.md5 | 1 + .../classcore_1_1_e_poll__inherit__graph.png | Bin 0 -> 5244 bytes .../html/classcore_1_1_i_notify-members.html | 120 + latex/html/classcore_1_1_i_notify.html | 156 + .../classcore_1_1_i_notify__coll__graph.map | 6 + .../classcore_1_1_i_notify__coll__graph.md5 | 1 + .../classcore_1_1_i_notify__coll__graph.png | Bin 0 -> 12833 bytes ...classcore_1_1_i_notify__inherit__graph.map | 4 + ...classcore_1_1_i_notify__inherit__graph.md5 | 1 + ...classcore_1_1_i_notify__inherit__graph.png | Bin 0 -> 4647 bytes .../classcore_1_1_i_p_address-members.html | 92 + latex/html/classcore_1_1_i_p_address.html | 142 + ...classcore_1_1_i_p_address__coll__graph.map | 3 + ...classcore_1_1_i_p_address__coll__graph.md5 | 1 + ...classcore_1_1_i_p_address__coll__graph.png | Bin 0 -> 3747 bytes ...sscore_1_1_i_p_address__inherit__graph.map | 3 + ...sscore_1_1_i_p_address__inherit__graph.md5 | 1 + ...sscore_1_1_i_p_address__inherit__graph.png | Bin 0 -> 3747 bytes ...lasscore_1_1_i_p_address_list-members.html | 85 + .../html/classcore_1_1_i_p_address_list.html | 100 + latex/html/classcore_1_1_object-members.html | 82 + latex/html/classcore_1_1_object.html | 119 + .../classcore_1_1_object__inherit__graph.map | 21 + .../classcore_1_1_object__inherit__graph.md5 | 1 + .../classcore_1_1_object__inherit__graph.png | Bin 0 -> 50520 bytes .../classcore_1_1_session_filter-members.html | 83 + latex/html/classcore_1_1_session_filter.html | 116 + ...sscore_1_1_session_filter__coll__graph.map | 3 + ...sscore_1_1_session_filter__coll__graph.md5 | 1 + ...sscore_1_1_session_filter__coll__graph.png | Bin 0 -> 3447 bytes ...ore_1_1_session_filter__inherit__graph.map | 3 + ...ore_1_1_session_filter__inherit__graph.md5 | 1 + ...ore_1_1_session_filter__inherit__graph.png | Bin 0 -> 3447 bytes latex/html/classcore_1_1_socket-members.html | 104 + latex/html/classcore_1_1_socket.html | 434 +++ .../classcore_1_1_socket__coll__graph.map | 5 + .../classcore_1_1_socket__coll__graph.md5 | 1 + .../classcore_1_1_socket__coll__graph.png | Bin 0 -> 10987 bytes .../classcore_1_1_socket__inherit__graph.map | 15 + .../classcore_1_1_socket__inherit__graph.md5 | 1 + .../classcore_1_1_socket__inherit__graph.png | Bin 0 -> 27581 bytes .../classcore_1_1_t_c_p_server-members.html | 125 + latex/html/classcore_1_1_t_c_p_server.html | 500 ++++ ...lasscore_1_1_t_c_p_server__coll__graph.map | 10 + ...lasscore_1_1_t_c_p_server__coll__graph.md5 | 1 + ...lasscore_1_1_t_c_p_server__coll__graph.png | Bin 0 -> 39679 bytes ...score_1_1_t_c_p_server__inherit__graph.map | 8 + ...score_1_1_t_c_p_server__inherit__graph.md5 | 1 + ...score_1_1_t_c_p_server__inherit__graph.png | Bin 0 -> 16393 bytes .../classcore_1_1_t_c_p_session-members.html | 119 + latex/html/classcore_1_1_t_c_p_session.html | 478 +++ ...asscore_1_1_t_c_p_session__coll__graph.map | 11 + ...asscore_1_1_t_c_p_session__coll__graph.md5 | 1 + ...asscore_1_1_t_c_p_session__coll__graph.png | Bin 0 -> 52711 bytes ...core_1_1_t_c_p_session__inherit__graph.map | 8 + ...core_1_1_t_c_p_session__inherit__graph.md5 | 1 + ...core_1_1_t_c_p_session__inherit__graph.png | Bin 0 -> 15884 bytes .../classcore_1_1_t_c_p_socket-members.html | 109 + latex/html/classcore_1_1_t_c_p_socket.html | 246 ++ ...lasscore_1_1_t_c_p_socket__coll__graph.map | 7 + ...lasscore_1_1_t_c_p_socket__coll__graph.md5 | 1 + ...lasscore_1_1_t_c_p_socket__coll__graph.png | Bin 0 -> 18243 bytes ...score_1_1_t_c_p_socket__inherit__graph.map | 11 + ...score_1_1_t_c_p_socket__inherit__graph.md5 | 1 + ...score_1_1_t_c_p_socket__inherit__graph.png | Bin 0 -> 21558 bytes .../classcore_1_1_t_l_s_server-members.html | 129 + latex/html/classcore_1_1_t_l_s_server.html | 323 +++ ...lasscore_1_1_t_l_s_server__coll__graph.map | 11 + ...lasscore_1_1_t_l_s_server__coll__graph.md5 | 1 + ...lasscore_1_1_t_l_s_server__coll__graph.png | Bin 0 -> 41668 bytes ...score_1_1_t_l_s_server__inherit__graph.map | 7 + ...score_1_1_t_l_s_server__inherit__graph.md5 | 1 + ...score_1_1_t_l_s_server__inherit__graph.png | Bin 0 -> 14046 bytes .../classcore_1_1_t_l_s_session-members.html | 121 + latex/html/classcore_1_1_t_l_s_session.html | 384 +++ ...asscore_1_1_t_l_s_session__coll__graph.map | 12 + ...asscore_1_1_t_l_s_session__coll__graph.md5 | 1 + ...asscore_1_1_t_l_s_session__coll__graph.png | Bin 0 -> 55202 bytes ...core_1_1_t_l_s_session__inherit__graph.map | 6 + ...core_1_1_t_l_s_session__inherit__graph.md5 | 1 + ...core_1_1_t_l_s_session__inherit__graph.png | Bin 0 -> 6646 bytes ...lasscore_1_1_terminal_session-members.html | 132 + .../html/classcore_1_1_terminal_session.html | 333 +++ ...core_1_1_terminal_session__coll__graph.map | 12 + ...core_1_1_terminal_session__coll__graph.md5 | 1 + ...core_1_1_terminal_session__coll__graph.png | Bin 0 -> 55509 bytes ...e_1_1_terminal_session__inherit__graph.map | 7 + ...e_1_1_terminal_session__inherit__graph.md5 | 1 + ...e_1_1_terminal_session__inherit__graph.png | Bin 0 -> 12934 bytes latex/html/classcore_1_1_thread-members.html | 90 + latex/html/classcore_1_1_thread.html | 158 + .../classcore_1_1_thread__coll__graph.map | 3 + .../classcore_1_1_thread__coll__graph.md5 | 1 + .../classcore_1_1_thread__coll__graph.png | Bin 0 -> 3072 bytes .../classcore_1_1_thread__inherit__graph.map | 3 + .../classcore_1_1_thread__inherit__graph.md5 | 1 + .../classcore_1_1_thread__inherit__graph.png | Bin 0 -> 3072 bytes latex/html/classcore_1_1_timer-members.html | 111 + latex/html/classcore_1_1_timer.html | 223 ++ .../html/classcore_1_1_timer__coll__graph.map | 6 + .../html/classcore_1_1_timer__coll__graph.md5 | 1 + .../html/classcore_1_1_timer__coll__graph.png | Bin 0 -> 12565 bytes .../classcore_1_1_timer__inherit__graph.map | 4 + .../classcore_1_1_timer__inherit__graph.md5 | 1 + .../classcore_1_1_timer__inherit__graph.png | Bin 0 -> 4368 bytes ...score_1_1_u_d_p_server_socket-members.html | 116 + .../classcore_1_1_u_d_p_server_socket.html | 263 ++ ...e_1_1_u_d_p_server_socket__coll__graph.map | 7 + ...e_1_1_u_d_p_server_socket__coll__graph.md5 | 1 + ...e_1_1_u_d_p_server_socket__coll__graph.png | Bin 0 -> 20132 bytes ..._1_u_d_p_server_socket__inherit__graph.map | 6 + ..._1_u_d_p_server_socket__inherit__graph.md5 | 1 + ..._1_u_d_p_server_socket__inherit__graph.png | Bin 0 -> 14016 bytes .../classcore_1_1_u_d_p_socket-members.html | 106 + latex/html/classcore_1_1_u_d_p_socket.html | 188 ++ ...lasscore_1_1_u_d_p_socket__coll__graph.map | 6 + ...lasscore_1_1_u_d_p_socket__coll__graph.md5 | 1 + ...lasscore_1_1_u_d_p_socket__coll__graph.png | Bin 0 -> 13461 bytes ...score_1_1_u_d_p_socket__inherit__graph.map | 5 + ...score_1_1_u_d_p_socket__inherit__graph.md5 | 1 + ...score_1_1_u_d_p_socket__inherit__graph.png | Bin 0 -> 7571 bytes latex/html/classes.html | 94 + latex/html/closed.png | Bin 0 -> 132 bytes latex/html/doc.png | Bin 0 -> 746 bytes latex/html/doxygen.css | 1596 ++++++++++ latex/html/doxygen.png | Bin 0 -> 3779 bytes latex/html/dynsections.js | 97 + latex/html/files.html | 98 + latex/html/folderclosed.png | Bin 0 -> 616 bytes latex/html/folderopen.png | Bin 0 -> 597 bytes latex/html/functions.html | 293 ++ latex/html/functions_func.html | 269 ++ latex/html/functions_vars.html | 87 + latex/html/graph_legend.html | 102 + latex/html/graph_legend.md5 | 1 + latex/html/graph_legend.png | Bin 0 -> 20374 bytes latex/html/hierarchy.html | 104 + latex/html/index.html | 73 + latex/html/inherit_graph_0.map | 3 + latex/html/inherit_graph_0.md5 | 1 + latex/html/inherit_graph_0.png | Bin 0 -> 1693 bytes latex/html/inherit_graph_1.map | 22 + latex/html/inherit_graph_1.md5 | 1 + latex/html/inherit_graph_1.png | Bin 0 -> 53708 bytes latex/html/inherits.html | 106 + latex/html/jquery.js | 87 + latex/html/menu.js | 26 + latex/html/menudata.js | 40 + latex/html/nav_f.png | Bin 0 -> 153 bytes latex/html/nav_g.png | Bin 0 -> 95 bytes latex/html/nav_h.png | Bin 0 -> 98 bytes latex/html/open.png | Bin 0 -> 123 bytes latex/html/search/all_0.html | 26 + latex/html/search/all_0.js | 4 + latex/html/search/all_1.html | 26 + latex/html/search/all_1.js | 4 + latex/html/search/all_2.html | 26 + latex/html/search/all_2.js | 12 + latex/html/search/all_3.html | 26 + latex/html/search/all_3.js | 5 + latex/html/search/all_4.html | 26 + latex/html/search/all_4.js | 10 + latex/html/search/all_5.html | 26 + latex/html/search/all_5.js | 7 + latex/html/search/all_6.html | 26 + latex/html/search/all_6.js | 4 + latex/html/search/all_7.html | 26 + latex/html/search/all_7.js | 10 + latex/html/search/all_8.html | 26 + latex/html/search/all_8.js | 6 + latex/html/search/all_9.html | 26 + latex/html/search/all_9.js | 6 + latex/html/search/all_a.html | 26 + latex/html/search/all_a.js | 15 + latex/html/search/all_b.html | 26 + latex/html/search/all_b.js | 11 + latex/html/search/all_c.html | 26 + latex/html/search/all_c.js | 6 + latex/html/search/all_d.html | 26 + latex/html/search/all_d.js | 5 + latex/html/search/all_e.html | 26 + latex/html/search/all_e.js | 6 + latex/html/search/classes_0.html | 26 + latex/html/search/classes_0.js | 7 + latex/html/search/classes_1.html | 26 + latex/html/search/classes_1.js | 4 + latex/html/search/classes_2.html | 26 + latex/html/search/classes_2.js | 6 + latex/html/search/classes_3.html | 26 + latex/html/search/classes_3.js | 4 + latex/html/search/classes_4.html | 26 + latex/html/search/classes_4.js | 5 + latex/html/search/classes_5.html | 26 + latex/html/search/classes_5.js | 11 + latex/html/search/classes_6.html | 26 + latex/html/search/classes_6.js | 5 + latex/html/search/close.png | Bin 0 -> 273 bytes latex/html/search/functions_0.html | 26 + latex/html/search/functions_0.js | 4 + latex/html/search/functions_1.html | 26 + latex/html/search/functions_1.js | 7 + latex/html/search/functions_2.html | 26 + latex/html/search/functions_2.js | 5 + latex/html/search/functions_3.html | 26 + latex/html/search/functions_3.js | 10 + latex/html/search/functions_4.html | 26 + latex/html/search/functions_4.js | 4 + latex/html/search/functions_5.html | 26 + latex/html/search/functions_5.js | 9 + latex/html/search/functions_6.html | 26 + latex/html/search/functions_6.js | 6 + latex/html/search/functions_7.html | 26 + latex/html/search/functions_7.js | 6 + latex/html/search/functions_8.html | 26 + latex/html/search/functions_8.js | 12 + latex/html/search/functions_9.html | 26 + latex/html/search/functions_9.js | 5 + latex/html/search/functions_a.html | 26 + latex/html/search/functions_a.js | 4 + latex/html/search/functions_b.html | 26 + latex/html/search/functions_b.js | 4 + latex/html/search/functions_c.html | 26 + latex/html/search/functions_c.js | 6 + latex/html/search/mag_sel.png | Bin 0 -> 563 bytes latex/html/search/nomatches.html | 12 + latex/html/search/search.css | 271 ++ latex/html/search/search.js | 791 +++++ latex/html/search/search_l.png | Bin 0 -> 604 bytes latex/html/search/search_m.png | Bin 0 -> 158 bytes latex/html/search/search_r.png | Bin 0 -> 612 bytes latex/html/search/searchdata.js | 24 + latex/html/search/variables_0.html | 26 + latex/html/search/variables_0.js | 4 + latex/html/search/variables_1.html | 26 + latex/html/search/variables_1.js | 4 + latex/html/search/variables_2.html | 26 + latex/html/search/variables_2.js | 4 + latex/html/search/variables_3.html | 26 + latex/html/search/variables_3.js | 4 + latex/html/search/variables_4.html | 26 + latex/html/search/variables_4.js | 4 + latex/html/splitbar.png | Bin 0 -> 314 bytes latex/html/sync_off.png | Bin 0 -> 853 bytes latex/html/sync_on.png | Bin 0 -> 845 bytes latex/html/tab_a.png | Bin 0 -> 142 bytes latex/html/tab_b.png | Bin 0 -> 169 bytes latex/html/tab_h.png | Bin 0 -> 177 bytes latex/html/tab_s.png | Bin 0 -> 184 bytes latex/html/tabs.css | 1 + latex/latex/Makefile | 21 + latex/latex/annotated.tex | 24 + latex/latex/classcore_1_1_command.tex | 121 + .../classcore_1_1_command__coll__graph.md5 | 1 + .../classcore_1_1_command__coll__graph.pdf | Bin 0 -> 12306 bytes .../classcore_1_1_command__inherit__graph.md5 | 1 + .../classcore_1_1_command__inherit__graph.pdf | Bin 0 -> 14664 bytes latex/latex/classcore_1_1_command_list.tex | 117 + ...lasscore_1_1_command_list__coll__graph.md5 | 1 + ...lasscore_1_1_command_list__coll__graph.pdf | Bin 0 -> 12826 bytes ...score_1_1_command_list__inherit__graph.md5 | 1 + ...score_1_1_command_list__inherit__graph.pdf | Bin 0 -> 12826 bytes latex/latex/classcore_1_1_console_server.tex | 53 + ...sscore_1_1_console_server__coll__graph.md5 | 1 + ...sscore_1_1_console_server__coll__graph.pdf | Bin 0 -> 16605 bytes ...ore_1_1_console_server__inherit__graph.md5 | 1 + ...ore_1_1_console_server__inherit__graph.pdf | Bin 0 -> 14710 bytes latex/latex/classcore_1_1_console_session.tex | 65 + ...score_1_1_console_session__coll__graph.md5 | 1 + ...score_1_1_console_session__coll__graph.pdf | Bin 0 -> 16618 bytes ...re_1_1_console_session__inherit__graph.md5 | 1 + ...re_1_1_console_session__inherit__graph.pdf | Bin 0 -> 13349 bytes latex/latex/classcore_1_1_e_poll.tex | 224 ++ .../classcore_1_1_e_poll__coll__graph.md5 | 1 + .../classcore_1_1_e_poll__coll__graph.pdf | Bin 0 -> 12834 bytes .../classcore_1_1_e_poll__inherit__graph.md5 | 1 + .../classcore_1_1_e_poll__inherit__graph.pdf | Bin 0 -> 12834 bytes latex/latex/classcore_1_1_i_notify.tex | 79 + .../classcore_1_1_i_notify__coll__graph.md5 | 1 + .../classcore_1_1_i_notify__coll__graph.pdf | Bin 0 -> 14279 bytes ...classcore_1_1_i_notify__inherit__graph.md5 | 1 + ...classcore_1_1_i_notify__inherit__graph.pdf | Bin 0 -> 12202 bytes latex/latex/classcore_1_1_i_p_address.tex | 58 + ...classcore_1_1_i_p_address__coll__graph.md5 | 1 + ...classcore_1_1_i_p_address__coll__graph.pdf | Bin 0 -> 11924 bytes ...sscore_1_1_i_p_address__inherit__graph.md5 | 1 + ...sscore_1_1_i_p_address__inherit__graph.pdf | Bin 0 -> 11924 bytes .../latex/classcore_1_1_i_p_address_list.tex | 23 + latex/latex/classcore_1_1_object.tex | 26 + .../classcore_1_1_object__inherit__graph.md5 | 1 + .../classcore_1_1_object__inherit__graph.pdf | Bin 0 -> 16941 bytes latex/latex/classcore_1_1_session_filter.tex | 34 + ...sscore_1_1_session_filter__coll__graph.md5 | 1 + ...sscore_1_1_session_filter__coll__graph.pdf | Bin 0 -> 12105 bytes ...ore_1_1_session_filter__inherit__graph.md5 | 1 + ...ore_1_1_session_filter__inherit__graph.pdf | Bin 0 -> 12105 bytes latex/latex/classcore_1_1_socket.tex | 208 ++ .../classcore_1_1_socket__coll__graph.md5 | 1 + .../classcore_1_1_socket__coll__graph.pdf | Bin 0 -> 13577 bytes .../classcore_1_1_socket__inherit__graph.md5 | 1 + .../classcore_1_1_socket__inherit__graph.pdf | Bin 0 -> 15088 bytes latex/latex/classcore_1_1_t_c_p_server.tex | 185 ++ ...lasscore_1_1_t_c_p_server__coll__graph.md5 | 1 + ...lasscore_1_1_t_c_p_server__coll__graph.pdf | Bin 0 -> 15859 bytes ...score_1_1_t_c_p_server__inherit__graph.md5 | 1 + ...score_1_1_t_c_p_server__inherit__graph.pdf | Bin 0 -> 14017 bytes latex/latex/classcore_1_1_t_c_p_session.tex | 165 ++ ...asscore_1_1_t_c_p_session__coll__graph.md5 | 1 + ...asscore_1_1_t_c_p_session__coll__graph.pdf | Bin 0 -> 16480 bytes ...core_1_1_t_c_p_session__inherit__graph.md5 | 1 + ...core_1_1_t_c_p_session__inherit__graph.pdf | Bin 0 -> 13647 bytes latex/latex/classcore_1_1_t_c_p_socket.tex | 73 + ...lasscore_1_1_t_c_p_socket__coll__graph.md5 | 1 + ...lasscore_1_1_t_c_p_socket__coll__graph.pdf | Bin 0 -> 14845 bytes ...score_1_1_t_c_p_socket__inherit__graph.md5 | 1 + ...score_1_1_t_c_p_socket__inherit__graph.pdf | Bin 0 -> 13966 bytes latex/latex/classcore_1_1_t_l_s_server.tex | 85 + ...lasscore_1_1_t_l_s_server__coll__graph.md5 | 1 + ...lasscore_1_1_t_l_s_server__coll__graph.pdf | Bin 0 -> 15929 bytes ...score_1_1_t_l_s_server__inherit__graph.md5 | 1 + ...score_1_1_t_l_s_server__inherit__graph.pdf | Bin 0 -> 13661 bytes latex/latex/classcore_1_1_t_l_s_session.tex | 107 + ...asscore_1_1_t_l_s_session__coll__graph.md5 | 1 + ...asscore_1_1_t_l_s_session__coll__graph.pdf | Bin 0 -> 16554 bytes ...core_1_1_t_l_s_session__inherit__graph.md5 | 1 + ...core_1_1_t_l_s_session__inherit__graph.pdf | Bin 0 -> 12768 bytes .../latex/classcore_1_1_terminal_session.tex | 86 + ...core_1_1_terminal_session__coll__graph.md5 | 1 + ...core_1_1_terminal_session__coll__graph.pdf | Bin 0 -> 16571 bytes ...e_1_1_terminal_session__inherit__graph.md5 | 1 + ...e_1_1_terminal_session__inherit__graph.pdf | Bin 0 -> 13356 bytes latex/latex/classcore_1_1_thread.tex | 70 + .../classcore_1_1_thread__coll__graph.md5 | 1 + .../classcore_1_1_thread__coll__graph.pdf | Bin 0 -> 11958 bytes .../classcore_1_1_thread__inherit__graph.md5 | 1 + .../classcore_1_1_thread__inherit__graph.pdf | Bin 0 -> 11958 bytes latex/latex/classcore_1_1_timer.tex | 96 + .../classcore_1_1_timer__coll__graph.md5 | 1 + .../classcore_1_1_timer__coll__graph.pdf | Bin 0 -> 13882 bytes .../classcore_1_1_timer__inherit__graph.md5 | 1 + .../classcore_1_1_timer__inherit__graph.pdf | Bin 0 -> 12007 bytes .../classcore_1_1_u_d_p_server_socket.tex | 82 + ...e_1_1_u_d_p_server_socket__coll__graph.md5 | 1 + ...e_1_1_u_d_p_server_socket__coll__graph.pdf | Bin 0 -> 14226 bytes ..._1_u_d_p_server_socket__inherit__graph.md5 | 1 + ..._1_u_d_p_server_socket__inherit__graph.pdf | Bin 0 -> 13630 bytes latex/latex/classcore_1_1_u_d_p_socket.tex | 35 + ...lasscore_1_1_u_d_p_socket__coll__graph.md5 | 1 + ...lasscore_1_1_u_d_p_socket__coll__graph.pdf | Bin 0 -> 13925 bytes ...score_1_1_u_d_p_socket__inherit__graph.md5 | 1 + ...score_1_1_u_d_p_socket__inherit__graph.pdf | Bin 0 -> 12149 bytes latex/latex/doxygen.sty | 503 ++++ latex/latex/hierarchy.tex | 45 + latex/latex/refman.tex | 177 ++ latex/longtable_doxygen.sty | 448 +++ latex/refman.tex | 47 +- latex/tabu_doxygen.sty | 2557 +++++++++++++++++ 835 files changed, 26499 insertions(+), 3119 deletions(-) create mode 100644 html/search/variables_5.html create mode 100644 html/search/variables_5.js create mode 100644 latex/html/_command_8h_source.html create mode 100644 latex/html/_command_list_8h_source.html create mode 100644 latex/html/_console_server_8h_source.html create mode 100644 latex/html/_console_session_8h_source.html create mode 100644 latex/html/_e_poll_8h_source.html create mode 100644 latex/html/_i_notify_8h_source.html create mode 100644 latex/html/_i_p_address_8h_source.html create mode 100644 latex/html/_i_p_address_list_8h_source.html create mode 100644 latex/html/_object_8h_source.html create mode 100644 latex/html/_session_filter_8h_source.html create mode 100644 latex/html/_socket_8h_source.html create mode 100644 latex/html/_t_c_p_server_8h_source.html create mode 100644 latex/html/_t_c_p_session_8h_source.html create mode 100644 latex/html/_t_c_p_socket_8h_source.html create mode 100644 latex/html/_t_l_s_server_8h_source.html create mode 100644 latex/html/_t_l_s_session_8h_source.html create mode 100644 latex/html/_terminal_session_8h_source.html create mode 100644 latex/html/_thread_8h_source.html create mode 100644 latex/html/_timer_8h_source.html create mode 100644 latex/html/_u_d_p_server_socket_8h_source.html create mode 100644 latex/html/_u_d_p_socket_8h_source.html create mode 100644 latex/html/annotated.html create mode 100644 latex/html/bc_s.png create mode 100644 latex/html/bdwn.png create mode 100644 latex/html/classcore_1_1_command-members.html create mode 100644 latex/html/classcore_1_1_command.html create mode 100644 latex/html/classcore_1_1_command__coll__graph.map create mode 100644 latex/html/classcore_1_1_command__coll__graph.md5 create mode 100644 latex/html/classcore_1_1_command__coll__graph.png create mode 100644 latex/html/classcore_1_1_command__inherit__graph.map create mode 100644 latex/html/classcore_1_1_command__inherit__graph.md5 create mode 100644 latex/html/classcore_1_1_command__inherit__graph.png create mode 100644 latex/html/classcore_1_1_command_list-members.html create mode 100644 latex/html/classcore_1_1_command_list.html create mode 100644 latex/html/classcore_1_1_command_list__coll__graph.map create mode 100644 latex/html/classcore_1_1_command_list__coll__graph.md5 create mode 100644 latex/html/classcore_1_1_command_list__coll__graph.png create mode 100644 latex/html/classcore_1_1_command_list__inherit__graph.map create mode 100644 latex/html/classcore_1_1_command_list__inherit__graph.md5 create mode 100644 latex/html/classcore_1_1_command_list__inherit__graph.png create mode 100644 latex/html/classcore_1_1_console_server-members.html create mode 100644 latex/html/classcore_1_1_console_server.html create mode 100644 latex/html/classcore_1_1_console_server__coll__graph.map create mode 100644 latex/html/classcore_1_1_console_server__coll__graph.md5 create mode 100644 latex/html/classcore_1_1_console_server__coll__graph.png create mode 100644 latex/html/classcore_1_1_console_server__inherit__graph.map create mode 100644 latex/html/classcore_1_1_console_server__inherit__graph.md5 create mode 100644 latex/html/classcore_1_1_console_server__inherit__graph.png create mode 100644 latex/html/classcore_1_1_console_session-members.html create mode 100644 latex/html/classcore_1_1_console_session.html create mode 100644 latex/html/classcore_1_1_console_session__coll__graph.map create mode 100644 latex/html/classcore_1_1_console_session__coll__graph.md5 create mode 100644 latex/html/classcore_1_1_console_session__coll__graph.png create mode 100644 latex/html/classcore_1_1_console_session__inherit__graph.map create mode 100644 latex/html/classcore_1_1_console_session__inherit__graph.md5 create mode 100644 latex/html/classcore_1_1_console_session__inherit__graph.png create mode 100644 latex/html/classcore_1_1_e_poll-members.html create mode 100644 latex/html/classcore_1_1_e_poll.html create mode 100644 latex/html/classcore_1_1_e_poll__coll__graph.map create mode 100644 latex/html/classcore_1_1_e_poll__coll__graph.md5 create mode 100644 latex/html/classcore_1_1_e_poll__coll__graph.png create mode 100644 latex/html/classcore_1_1_e_poll__inherit__graph.map create mode 100644 latex/html/classcore_1_1_e_poll__inherit__graph.md5 create mode 100644 latex/html/classcore_1_1_e_poll__inherit__graph.png create mode 100644 latex/html/classcore_1_1_i_notify-members.html create mode 100644 latex/html/classcore_1_1_i_notify.html create mode 100644 latex/html/classcore_1_1_i_notify__coll__graph.map create mode 100644 latex/html/classcore_1_1_i_notify__coll__graph.md5 create mode 100644 latex/html/classcore_1_1_i_notify__coll__graph.png create mode 100644 latex/html/classcore_1_1_i_notify__inherit__graph.map create mode 100644 latex/html/classcore_1_1_i_notify__inherit__graph.md5 create mode 100644 latex/html/classcore_1_1_i_notify__inherit__graph.png create mode 100644 latex/html/classcore_1_1_i_p_address-members.html create mode 100644 latex/html/classcore_1_1_i_p_address.html create mode 100644 latex/html/classcore_1_1_i_p_address__coll__graph.map create mode 100644 latex/html/classcore_1_1_i_p_address__coll__graph.md5 create mode 100644 latex/html/classcore_1_1_i_p_address__coll__graph.png create mode 100644 latex/html/classcore_1_1_i_p_address__inherit__graph.map create mode 100644 latex/html/classcore_1_1_i_p_address__inherit__graph.md5 create mode 100644 latex/html/classcore_1_1_i_p_address__inherit__graph.png create mode 100644 latex/html/classcore_1_1_i_p_address_list-members.html create mode 100644 latex/html/classcore_1_1_i_p_address_list.html create mode 100644 latex/html/classcore_1_1_object-members.html create mode 100644 latex/html/classcore_1_1_object.html create mode 100644 latex/html/classcore_1_1_object__inherit__graph.map create mode 100644 latex/html/classcore_1_1_object__inherit__graph.md5 create mode 100644 latex/html/classcore_1_1_object__inherit__graph.png create mode 100644 latex/html/classcore_1_1_session_filter-members.html create mode 100644 latex/html/classcore_1_1_session_filter.html create mode 100644 latex/html/classcore_1_1_session_filter__coll__graph.map create mode 100644 latex/html/classcore_1_1_session_filter__coll__graph.md5 create mode 100644 latex/html/classcore_1_1_session_filter__coll__graph.png create mode 100644 latex/html/classcore_1_1_session_filter__inherit__graph.map create mode 100644 latex/html/classcore_1_1_session_filter__inherit__graph.md5 create mode 100644 latex/html/classcore_1_1_session_filter__inherit__graph.png create mode 100644 latex/html/classcore_1_1_socket-members.html create mode 100644 latex/html/classcore_1_1_socket.html create mode 100644 latex/html/classcore_1_1_socket__coll__graph.map create mode 100644 latex/html/classcore_1_1_socket__coll__graph.md5 create mode 100644 latex/html/classcore_1_1_socket__coll__graph.png create mode 100644 latex/html/classcore_1_1_socket__inherit__graph.map create mode 100644 latex/html/classcore_1_1_socket__inherit__graph.md5 create mode 100644 latex/html/classcore_1_1_socket__inherit__graph.png create mode 100644 latex/html/classcore_1_1_t_c_p_server-members.html create mode 100644 latex/html/classcore_1_1_t_c_p_server.html create mode 100644 latex/html/classcore_1_1_t_c_p_server__coll__graph.map create mode 100644 latex/html/classcore_1_1_t_c_p_server__coll__graph.md5 create mode 100644 latex/html/classcore_1_1_t_c_p_server__coll__graph.png create mode 100644 latex/html/classcore_1_1_t_c_p_server__inherit__graph.map create mode 100644 latex/html/classcore_1_1_t_c_p_server__inherit__graph.md5 create mode 100644 latex/html/classcore_1_1_t_c_p_server__inherit__graph.png create mode 100644 latex/html/classcore_1_1_t_c_p_session-members.html create mode 100644 latex/html/classcore_1_1_t_c_p_session.html create mode 100644 latex/html/classcore_1_1_t_c_p_session__coll__graph.map create mode 100644 latex/html/classcore_1_1_t_c_p_session__coll__graph.md5 create mode 100644 latex/html/classcore_1_1_t_c_p_session__coll__graph.png create mode 100644 latex/html/classcore_1_1_t_c_p_session__inherit__graph.map create mode 100644 latex/html/classcore_1_1_t_c_p_session__inherit__graph.md5 create mode 100644 latex/html/classcore_1_1_t_c_p_session__inherit__graph.png create mode 100644 latex/html/classcore_1_1_t_c_p_socket-members.html create mode 100644 latex/html/classcore_1_1_t_c_p_socket.html create mode 100644 latex/html/classcore_1_1_t_c_p_socket__coll__graph.map create mode 100644 latex/html/classcore_1_1_t_c_p_socket__coll__graph.md5 create mode 100644 latex/html/classcore_1_1_t_c_p_socket__coll__graph.png create mode 100644 latex/html/classcore_1_1_t_c_p_socket__inherit__graph.map create mode 100644 latex/html/classcore_1_1_t_c_p_socket__inherit__graph.md5 create mode 100644 latex/html/classcore_1_1_t_c_p_socket__inherit__graph.png create mode 100644 latex/html/classcore_1_1_t_l_s_server-members.html create mode 100644 latex/html/classcore_1_1_t_l_s_server.html create mode 100644 latex/html/classcore_1_1_t_l_s_server__coll__graph.map create mode 100644 latex/html/classcore_1_1_t_l_s_server__coll__graph.md5 create mode 100644 latex/html/classcore_1_1_t_l_s_server__coll__graph.png create mode 100644 latex/html/classcore_1_1_t_l_s_server__inherit__graph.map create mode 100644 latex/html/classcore_1_1_t_l_s_server__inherit__graph.md5 create mode 100644 latex/html/classcore_1_1_t_l_s_server__inherit__graph.png create mode 100644 latex/html/classcore_1_1_t_l_s_session-members.html create mode 100644 latex/html/classcore_1_1_t_l_s_session.html create mode 100644 latex/html/classcore_1_1_t_l_s_session__coll__graph.map create mode 100644 latex/html/classcore_1_1_t_l_s_session__coll__graph.md5 create mode 100644 latex/html/classcore_1_1_t_l_s_session__coll__graph.png create mode 100644 latex/html/classcore_1_1_t_l_s_session__inherit__graph.map create mode 100644 latex/html/classcore_1_1_t_l_s_session__inherit__graph.md5 create mode 100644 latex/html/classcore_1_1_t_l_s_session__inherit__graph.png create mode 100644 latex/html/classcore_1_1_terminal_session-members.html create mode 100644 latex/html/classcore_1_1_terminal_session.html create mode 100644 latex/html/classcore_1_1_terminal_session__coll__graph.map create mode 100644 latex/html/classcore_1_1_terminal_session__coll__graph.md5 create mode 100644 latex/html/classcore_1_1_terminal_session__coll__graph.png create mode 100644 latex/html/classcore_1_1_terminal_session__inherit__graph.map create mode 100644 latex/html/classcore_1_1_terminal_session__inherit__graph.md5 create mode 100644 latex/html/classcore_1_1_terminal_session__inherit__graph.png create mode 100644 latex/html/classcore_1_1_thread-members.html create mode 100644 latex/html/classcore_1_1_thread.html create mode 100644 latex/html/classcore_1_1_thread__coll__graph.map create mode 100644 latex/html/classcore_1_1_thread__coll__graph.md5 create mode 100644 latex/html/classcore_1_1_thread__coll__graph.png create mode 100644 latex/html/classcore_1_1_thread__inherit__graph.map create mode 100644 latex/html/classcore_1_1_thread__inherit__graph.md5 create mode 100644 latex/html/classcore_1_1_thread__inherit__graph.png create mode 100644 latex/html/classcore_1_1_timer-members.html create mode 100644 latex/html/classcore_1_1_timer.html create mode 100644 latex/html/classcore_1_1_timer__coll__graph.map create mode 100644 latex/html/classcore_1_1_timer__coll__graph.md5 create mode 100644 latex/html/classcore_1_1_timer__coll__graph.png create mode 100644 latex/html/classcore_1_1_timer__inherit__graph.map create mode 100644 latex/html/classcore_1_1_timer__inherit__graph.md5 create mode 100644 latex/html/classcore_1_1_timer__inherit__graph.png create mode 100644 latex/html/classcore_1_1_u_d_p_server_socket-members.html create mode 100644 latex/html/classcore_1_1_u_d_p_server_socket.html create mode 100644 latex/html/classcore_1_1_u_d_p_server_socket__coll__graph.map create mode 100644 latex/html/classcore_1_1_u_d_p_server_socket__coll__graph.md5 create mode 100644 latex/html/classcore_1_1_u_d_p_server_socket__coll__graph.png create mode 100644 latex/html/classcore_1_1_u_d_p_server_socket__inherit__graph.map create mode 100644 latex/html/classcore_1_1_u_d_p_server_socket__inherit__graph.md5 create mode 100644 latex/html/classcore_1_1_u_d_p_server_socket__inherit__graph.png create mode 100644 latex/html/classcore_1_1_u_d_p_socket-members.html create mode 100644 latex/html/classcore_1_1_u_d_p_socket.html create mode 100644 latex/html/classcore_1_1_u_d_p_socket__coll__graph.map create mode 100644 latex/html/classcore_1_1_u_d_p_socket__coll__graph.md5 create mode 100644 latex/html/classcore_1_1_u_d_p_socket__coll__graph.png create mode 100644 latex/html/classcore_1_1_u_d_p_socket__inherit__graph.map create mode 100644 latex/html/classcore_1_1_u_d_p_socket__inherit__graph.md5 create mode 100644 latex/html/classcore_1_1_u_d_p_socket__inherit__graph.png create mode 100644 latex/html/classes.html create mode 100644 latex/html/closed.png create mode 100644 latex/html/doc.png create mode 100644 latex/html/doxygen.css create mode 100644 latex/html/doxygen.png create mode 100644 latex/html/dynsections.js create mode 100644 latex/html/files.html create mode 100644 latex/html/folderclosed.png create mode 100644 latex/html/folderopen.png create mode 100644 latex/html/functions.html create mode 100644 latex/html/functions_func.html create mode 100644 latex/html/functions_vars.html create mode 100644 latex/html/graph_legend.html create mode 100644 latex/html/graph_legend.md5 create mode 100644 latex/html/graph_legend.png create mode 100644 latex/html/hierarchy.html create mode 100644 latex/html/index.html create mode 100644 latex/html/inherit_graph_0.map create mode 100644 latex/html/inherit_graph_0.md5 create mode 100644 latex/html/inherit_graph_0.png create mode 100644 latex/html/inherit_graph_1.map create mode 100644 latex/html/inherit_graph_1.md5 create mode 100644 latex/html/inherit_graph_1.png create mode 100644 latex/html/inherits.html create mode 100644 latex/html/jquery.js create mode 100644 latex/html/menu.js create mode 100644 latex/html/menudata.js create mode 100644 latex/html/nav_f.png create mode 100644 latex/html/nav_g.png create mode 100644 latex/html/nav_h.png create mode 100644 latex/html/open.png create mode 100644 latex/html/search/all_0.html create mode 100644 latex/html/search/all_0.js create mode 100644 latex/html/search/all_1.html create mode 100644 latex/html/search/all_1.js create mode 100644 latex/html/search/all_2.html create mode 100644 latex/html/search/all_2.js create mode 100644 latex/html/search/all_3.html create mode 100644 latex/html/search/all_3.js create mode 100644 latex/html/search/all_4.html create mode 100644 latex/html/search/all_4.js create mode 100644 latex/html/search/all_5.html create mode 100644 latex/html/search/all_5.js create mode 100644 latex/html/search/all_6.html create mode 100644 latex/html/search/all_6.js create mode 100644 latex/html/search/all_7.html create mode 100644 latex/html/search/all_7.js create mode 100644 latex/html/search/all_8.html create mode 100644 latex/html/search/all_8.js create mode 100644 latex/html/search/all_9.html create mode 100644 latex/html/search/all_9.js create mode 100644 latex/html/search/all_a.html create mode 100644 latex/html/search/all_a.js create mode 100644 latex/html/search/all_b.html create mode 100644 latex/html/search/all_b.js create mode 100644 latex/html/search/all_c.html create mode 100644 latex/html/search/all_c.js create mode 100644 latex/html/search/all_d.html create mode 100644 latex/html/search/all_d.js create mode 100644 latex/html/search/all_e.html create mode 100644 latex/html/search/all_e.js create mode 100644 latex/html/search/classes_0.html create mode 100644 latex/html/search/classes_0.js create mode 100644 latex/html/search/classes_1.html create mode 100644 latex/html/search/classes_1.js create mode 100644 latex/html/search/classes_2.html create mode 100644 latex/html/search/classes_2.js create mode 100644 latex/html/search/classes_3.html create mode 100644 latex/html/search/classes_3.js create mode 100644 latex/html/search/classes_4.html create mode 100644 latex/html/search/classes_4.js create mode 100644 latex/html/search/classes_5.html create mode 100644 latex/html/search/classes_5.js create mode 100644 latex/html/search/classes_6.html create mode 100644 latex/html/search/classes_6.js create mode 100644 latex/html/search/close.png create mode 100644 latex/html/search/functions_0.html create mode 100644 latex/html/search/functions_0.js create mode 100644 latex/html/search/functions_1.html create mode 100644 latex/html/search/functions_1.js create mode 100644 latex/html/search/functions_2.html create mode 100644 latex/html/search/functions_2.js create mode 100644 latex/html/search/functions_3.html create mode 100644 latex/html/search/functions_3.js create mode 100644 latex/html/search/functions_4.html create mode 100644 latex/html/search/functions_4.js create mode 100644 latex/html/search/functions_5.html create mode 100644 latex/html/search/functions_5.js create mode 100644 latex/html/search/functions_6.html create mode 100644 latex/html/search/functions_6.js create mode 100644 latex/html/search/functions_7.html create mode 100644 latex/html/search/functions_7.js create mode 100644 latex/html/search/functions_8.html create mode 100644 latex/html/search/functions_8.js create mode 100644 latex/html/search/functions_9.html create mode 100644 latex/html/search/functions_9.js create mode 100644 latex/html/search/functions_a.html create mode 100644 latex/html/search/functions_a.js create mode 100644 latex/html/search/functions_b.html create mode 100644 latex/html/search/functions_b.js create mode 100644 latex/html/search/functions_c.html create mode 100644 latex/html/search/functions_c.js create mode 100644 latex/html/search/mag_sel.png create mode 100644 latex/html/search/nomatches.html create mode 100644 latex/html/search/search.css create mode 100644 latex/html/search/search.js create mode 100644 latex/html/search/search_l.png create mode 100644 latex/html/search/search_m.png create mode 100644 latex/html/search/search_r.png create mode 100644 latex/html/search/searchdata.js create mode 100644 latex/html/search/variables_0.html create mode 100644 latex/html/search/variables_0.js create mode 100644 latex/html/search/variables_1.html create mode 100644 latex/html/search/variables_1.js create mode 100644 latex/html/search/variables_2.html create mode 100644 latex/html/search/variables_2.js create mode 100644 latex/html/search/variables_3.html create mode 100644 latex/html/search/variables_3.js create mode 100644 latex/html/search/variables_4.html create mode 100644 latex/html/search/variables_4.js create mode 100644 latex/html/splitbar.png create mode 100644 latex/html/sync_off.png create mode 100644 latex/html/sync_on.png create mode 100644 latex/html/tab_a.png create mode 100644 latex/html/tab_b.png create mode 100644 latex/html/tab_h.png create mode 100644 latex/html/tab_s.png create mode 100644 latex/html/tabs.css create mode 100644 latex/latex/Makefile create mode 100644 latex/latex/annotated.tex create mode 100644 latex/latex/classcore_1_1_command.tex create mode 100644 latex/latex/classcore_1_1_command__coll__graph.md5 create mode 100644 latex/latex/classcore_1_1_command__coll__graph.pdf create mode 100644 latex/latex/classcore_1_1_command__inherit__graph.md5 create mode 100644 latex/latex/classcore_1_1_command__inherit__graph.pdf create mode 100644 latex/latex/classcore_1_1_command_list.tex create mode 100644 latex/latex/classcore_1_1_command_list__coll__graph.md5 create mode 100644 latex/latex/classcore_1_1_command_list__coll__graph.pdf create mode 100644 latex/latex/classcore_1_1_command_list__inherit__graph.md5 create mode 100644 latex/latex/classcore_1_1_command_list__inherit__graph.pdf create mode 100644 latex/latex/classcore_1_1_console_server.tex create mode 100644 latex/latex/classcore_1_1_console_server__coll__graph.md5 create mode 100644 latex/latex/classcore_1_1_console_server__coll__graph.pdf create mode 100644 latex/latex/classcore_1_1_console_server__inherit__graph.md5 create mode 100644 latex/latex/classcore_1_1_console_server__inherit__graph.pdf create mode 100644 latex/latex/classcore_1_1_console_session.tex create mode 100644 latex/latex/classcore_1_1_console_session__coll__graph.md5 create mode 100644 latex/latex/classcore_1_1_console_session__coll__graph.pdf create mode 100644 latex/latex/classcore_1_1_console_session__inherit__graph.md5 create mode 100644 latex/latex/classcore_1_1_console_session__inherit__graph.pdf create mode 100644 latex/latex/classcore_1_1_e_poll.tex create mode 100644 latex/latex/classcore_1_1_e_poll__coll__graph.md5 create mode 100644 latex/latex/classcore_1_1_e_poll__coll__graph.pdf create mode 100644 latex/latex/classcore_1_1_e_poll__inherit__graph.md5 create mode 100644 latex/latex/classcore_1_1_e_poll__inherit__graph.pdf create mode 100644 latex/latex/classcore_1_1_i_notify.tex create mode 100644 latex/latex/classcore_1_1_i_notify__coll__graph.md5 create mode 100644 latex/latex/classcore_1_1_i_notify__coll__graph.pdf create mode 100644 latex/latex/classcore_1_1_i_notify__inherit__graph.md5 create mode 100644 latex/latex/classcore_1_1_i_notify__inherit__graph.pdf create mode 100644 latex/latex/classcore_1_1_i_p_address.tex create mode 100644 latex/latex/classcore_1_1_i_p_address__coll__graph.md5 create mode 100644 latex/latex/classcore_1_1_i_p_address__coll__graph.pdf create mode 100644 latex/latex/classcore_1_1_i_p_address__inherit__graph.md5 create mode 100644 latex/latex/classcore_1_1_i_p_address__inherit__graph.pdf create mode 100644 latex/latex/classcore_1_1_i_p_address_list.tex create mode 100644 latex/latex/classcore_1_1_object.tex create mode 100644 latex/latex/classcore_1_1_object__inherit__graph.md5 create mode 100644 latex/latex/classcore_1_1_object__inherit__graph.pdf create mode 100644 latex/latex/classcore_1_1_session_filter.tex create mode 100644 latex/latex/classcore_1_1_session_filter__coll__graph.md5 create mode 100644 latex/latex/classcore_1_1_session_filter__coll__graph.pdf create mode 100644 latex/latex/classcore_1_1_session_filter__inherit__graph.md5 create mode 100644 latex/latex/classcore_1_1_session_filter__inherit__graph.pdf create mode 100644 latex/latex/classcore_1_1_socket.tex create mode 100644 latex/latex/classcore_1_1_socket__coll__graph.md5 create mode 100644 latex/latex/classcore_1_1_socket__coll__graph.pdf create mode 100644 latex/latex/classcore_1_1_socket__inherit__graph.md5 create mode 100644 latex/latex/classcore_1_1_socket__inherit__graph.pdf create mode 100644 latex/latex/classcore_1_1_t_c_p_server.tex create mode 100644 latex/latex/classcore_1_1_t_c_p_server__coll__graph.md5 create mode 100644 latex/latex/classcore_1_1_t_c_p_server__coll__graph.pdf create mode 100644 latex/latex/classcore_1_1_t_c_p_server__inherit__graph.md5 create mode 100644 latex/latex/classcore_1_1_t_c_p_server__inherit__graph.pdf create mode 100644 latex/latex/classcore_1_1_t_c_p_session.tex create mode 100644 latex/latex/classcore_1_1_t_c_p_session__coll__graph.md5 create mode 100644 latex/latex/classcore_1_1_t_c_p_session__coll__graph.pdf create mode 100644 latex/latex/classcore_1_1_t_c_p_session__inherit__graph.md5 create mode 100644 latex/latex/classcore_1_1_t_c_p_session__inherit__graph.pdf create mode 100644 latex/latex/classcore_1_1_t_c_p_socket.tex create mode 100644 latex/latex/classcore_1_1_t_c_p_socket__coll__graph.md5 create mode 100644 latex/latex/classcore_1_1_t_c_p_socket__coll__graph.pdf create mode 100644 latex/latex/classcore_1_1_t_c_p_socket__inherit__graph.md5 create mode 100644 latex/latex/classcore_1_1_t_c_p_socket__inherit__graph.pdf create mode 100644 latex/latex/classcore_1_1_t_l_s_server.tex create mode 100644 latex/latex/classcore_1_1_t_l_s_server__coll__graph.md5 create mode 100644 latex/latex/classcore_1_1_t_l_s_server__coll__graph.pdf create mode 100644 latex/latex/classcore_1_1_t_l_s_server__inherit__graph.md5 create mode 100644 latex/latex/classcore_1_1_t_l_s_server__inherit__graph.pdf create mode 100644 latex/latex/classcore_1_1_t_l_s_session.tex create mode 100644 latex/latex/classcore_1_1_t_l_s_session__coll__graph.md5 create mode 100644 latex/latex/classcore_1_1_t_l_s_session__coll__graph.pdf create mode 100644 latex/latex/classcore_1_1_t_l_s_session__inherit__graph.md5 create mode 100644 latex/latex/classcore_1_1_t_l_s_session__inherit__graph.pdf create mode 100644 latex/latex/classcore_1_1_terminal_session.tex create mode 100644 latex/latex/classcore_1_1_terminal_session__coll__graph.md5 create mode 100644 latex/latex/classcore_1_1_terminal_session__coll__graph.pdf create mode 100644 latex/latex/classcore_1_1_terminal_session__inherit__graph.md5 create mode 100644 latex/latex/classcore_1_1_terminal_session__inherit__graph.pdf create mode 100644 latex/latex/classcore_1_1_thread.tex create mode 100644 latex/latex/classcore_1_1_thread__coll__graph.md5 create mode 100644 latex/latex/classcore_1_1_thread__coll__graph.pdf create mode 100644 latex/latex/classcore_1_1_thread__inherit__graph.md5 create mode 100644 latex/latex/classcore_1_1_thread__inherit__graph.pdf create mode 100644 latex/latex/classcore_1_1_timer.tex create mode 100644 latex/latex/classcore_1_1_timer__coll__graph.md5 create mode 100644 latex/latex/classcore_1_1_timer__coll__graph.pdf create mode 100644 latex/latex/classcore_1_1_timer__inherit__graph.md5 create mode 100644 latex/latex/classcore_1_1_timer__inherit__graph.pdf create mode 100644 latex/latex/classcore_1_1_u_d_p_server_socket.tex create mode 100644 latex/latex/classcore_1_1_u_d_p_server_socket__coll__graph.md5 create mode 100644 latex/latex/classcore_1_1_u_d_p_server_socket__coll__graph.pdf create mode 100644 latex/latex/classcore_1_1_u_d_p_server_socket__inherit__graph.md5 create mode 100644 latex/latex/classcore_1_1_u_d_p_server_socket__inherit__graph.pdf create mode 100644 latex/latex/classcore_1_1_u_d_p_socket.tex create mode 100644 latex/latex/classcore_1_1_u_d_p_socket__coll__graph.md5 create mode 100644 latex/latex/classcore_1_1_u_d_p_socket__coll__graph.pdf create mode 100644 latex/latex/classcore_1_1_u_d_p_socket__inherit__graph.md5 create mode 100644 latex/latex/classcore_1_1_u_d_p_socket__inherit__graph.pdf create mode 100644 latex/latex/doxygen.sty create mode 100644 latex/latex/hierarchy.tex create mode 100644 latex/latex/refman.tex create mode 100644 latex/longtable_doxygen.sty create mode 100644 latex/tabu_doxygen.sty diff --git a/Command.cpp b/Command.cpp index ad83ac5..549da7e 100644 --- a/Command.cpp +++ b/Command.cpp @@ -3,7 +3,9 @@ namespace core { - int Command::processCommand(std::string request, TCPSession *session, std::stringstream &data) {} + int Command::processCommand(std::string request, TCPSession *session, std::stringstream &data) { + return 0; + } void Command::output(Session *session) {} diff --git a/CommandList.cpp b/CommandList.cpp index 434a2a0..451a517 100644 --- a/CommandList.cpp +++ b/CommandList.cpp @@ -32,6 +32,7 @@ namespace core { bool CommandList::grabInput(TCPSession *session, Command &command) { session->grab = &command; + return true; } void CommandList::clearGrab(TCPSession *session) { @@ -41,9 +42,8 @@ namespace core { int CommandList::processCommand(std::string request, TCPSession *session, std::stringstream &data) { for(Command *command : commands) data << command->getName() << std::endl; + return true; } - - } diff --git a/ConsoleServer.cpp b/ConsoleServer.cpp index e85eaf3..68a46c3 100644 --- a/ConsoleServer.cpp +++ b/ConsoleServer.cpp @@ -5,7 +5,7 @@ namespace core { - ConsoleServer::ConsoleServer(EPoll &ePoll, IPAddress address) : TLSServer(ePoll, address) { + ConsoleServer::ConsoleServer(EPoll &ePoll, IPAddress address) : TCPServer(ePoll, address, "Console") { coreutils::Log(this); } diff --git a/ConsoleServer.h b/ConsoleServer.h index b84fa35..83349ad 100644 --- a/ConsoleServer.h +++ b/ConsoleServer.h @@ -16,7 +16,7 @@ namespace core { /// /// - class ConsoleServer : public TLSServer, public coreutils::LogListener { + class ConsoleServer : public TCPServer, public coreutils::LogListener { public: diff --git a/ConsoleSession.cpp b/ConsoleSession.cpp index 8a5d3e0..4a9b869 100644 --- a/ConsoleSession.cpp +++ b/ConsoleSession.cpp @@ -9,8 +9,9 @@ namespace core { ConsoleSession::~ConsoleSession() {} - void ConsoleSession::protocol(std::stringstream &out, std::string data = "") { - + void ConsoleSession::protocol(std::string data = "") { + + coreutils::Log(coreutils::LOG_DEBUG_1) << "ConsoleSession protocol " << status; switch (status) { case WELCOME: @@ -23,7 +24,7 @@ namespace core { setCursorLocation(2, 1); setBackColor(BG_BLACK); status = LOGIN; - protocol(out); + protocol(); break; case LOGIN: @@ -34,7 +35,7 @@ namespace core { case WAIT_USER_PROFILE: status = PASSWORD; - protocol(out); + protocol(); break; case PASSWORD: @@ -54,7 +55,7 @@ namespace core { setBackColor(BG_BLACK); scrollArea(2, 16); status = PROMPT; - protocol(out); + protocol(); break; case PROMPT: @@ -68,13 +69,13 @@ namespace core { command = std::string(data); command.erase(command.find_last_not_of("\r\n\t") + 1); status = PROCESS; - protocol(out); + protocol(); break; case PROCESS: doCommand(command); status = (command == "exit")? DONE: PROMPT; - protocol(out); + protocol(); break; case DONE: @@ -91,17 +92,16 @@ namespace core { saveCursor(); setCursorLocation(16, 1); restoreCursor(); - send(data); + send(); } void ConsoleSession::doCommand(std::string request) { saveCursor(); setCursorLocation(16, 1); - std::stringstream out; out << "--> " << request << std::endl; server.commands.processRequest(request, this, out); restoreCursor(); - send(out.str()); + send(); } } diff --git a/ConsoleSession.h b/ConsoleSession.h index 6bb7683..d0202b2 100644 --- a/ConsoleSession.h +++ b/ConsoleSession.h @@ -24,7 +24,7 @@ namespace core { void writeLog(std::string data); protected: - void protocol(std::stringstream &out, std::string data) override; + void protocol(std::string data) override; private: enum Status {WELCOME, LOGIN, WAIT_USER_PROFILE, PASSWORD, WAIT_PASSWORD, PROMPT, INPUT, PROCESS, DONE}; diff --git a/EPoll.cpp b/EPoll.cpp index 5ec15bc..d778e3b 100644 --- a/EPoll.cpp +++ b/EPoll.cpp @@ -69,17 +69,14 @@ namespace core { } bool EPoll::registerSocket(Socket *socket) { - coreutils::Log(coreutils::LOG_DEBUG_2) << "0001-" << socket->getDescriptor(); + lock.lock(); std::map::iterator temp = sockets.find(socket->getDescriptor()); - coreutils::Log(coreutils::LOG_DEBUG_2) << "0002-" << socket->getDescriptor(); if(temp != sockets.end()) throw coreutils::Exception("Attempt to register socket that is already registered."); - coreutils::Log(coreutils::LOG_DEBUG_2) << "0003-" << socket->getDescriptor(); coreutils::Log(coreutils::LOG_DEBUG_3) << "Registering socket " << socket->getDescriptor() << "."; sockets.insert(std::pair(socket->getDescriptor(), socket)); - coreutils::Log(coreutils::LOG_DEBUG_2) << "0004-" << socket->getDescriptor(); enableSocket(socket); - coreutils::Log(coreutils::LOG_DEBUG_2) << "0005-" << socket->getDescriptor(); + lock.unlock(); return true; } @@ -95,17 +92,16 @@ namespace core { return true; } - void EPoll::eventReceived(struct epoll_event event) { + void EPoll::eventReceived(struct epoll_event event, pid_t threadId) { + lock.lock(); std::map::iterator socket = sockets.find(event.data.fd); + lock.unlock(); if(socket != sockets.end()) { - if(socket->second->eventReceived(event)) { - coreutils::Log(coreutils::LOG_DEBUG_4) << "resetSocket from eventReceived."; - resetSocket(socket->second); - } + if(socket->second->eventReceived(event, threadId)) + resetSocket(socket->second); } else - throw coreutils::Exception("Reference to socket that has no object."); - + throw coreutils::Exception("Reference to socket that has no object."); } int EPoll::getDescriptor() { @@ -119,6 +115,7 @@ namespace core { threadx.output(data); data << "|" << std::endl; } + return 1; } void EPoll::enableSocket(Socket *socket) { @@ -139,8 +136,6 @@ namespace core { } void EPoll::resetSocket(Socket *socket) { - if(!socket->active) - return; coreutils::Log(coreutils::LOG_DEBUG_4) << "ResetSocket " << socket; struct epoll_event event; event.data.fd = socket->getDescriptor(); diff --git a/EPoll.h b/EPoll.h index c23cb01..3bbfbad 100644 --- a/EPoll.h +++ b/EPoll.h @@ -18,7 +18,7 @@ namespace core { /// /// Use this object to establish the basis of working with multiple sockets of all sorts /// using the epoll capabilities of the Linux platform. - /// Socket objects can register with BMAEPoll which will establish a communication mechanism + /// Socket objects can register with EPoll which will establish a communication mechanism /// with that socket. /// /// The maximum number of sockets to communicate with is specified on the @@ -101,7 +101,7 @@ namespace core { /// Receive the epoll events and dispatch the event to the socket making the request. /// - void eventReceived(struct epoll_event event); ///< Dispatch event to appropriate socket. + void eventReceived(struct epoll_event event, pid_t threadId); ///< Dispatch event to appropriate socket. /// /// The processCommand() method displays the thread array to the requesting console via the diff --git a/IPAddressList.cpp b/IPAddressList.cpp index d13ec16..163cfce 100644 --- a/IPAddressList.cpp +++ b/IPAddressList.cpp @@ -8,12 +8,12 @@ namespace core { return list; } - bool IPAddressList::add(IPAddress ipAddress) { + void IPAddressList::add(IPAddress ipAddress) { list.insert(std::make_pair(ipAddress.getClientAddress(), ipAddress)); } bool IPAddressList::remove(IPAddress ipAddress) { - + return false; } bool IPAddressList::contains(std::string ipAddress) { diff --git a/IPAddressList.h b/IPAddressList.h index 4079fec..0dac766 100644 --- a/IPAddressList.h +++ b/IPAddressList.h @@ -12,7 +12,7 @@ namespace core { IPAddressList(); std::map getList(); - bool add(IPAddress ipAddress); + void add(IPAddress ipAddress); bool remove(IPAddress ipAddress); bool contains(std::string ipAddress); diff --git a/Socket.cpp b/Socket.cpp index 24293e7..df89c8b 100644 --- a/Socket.cpp +++ b/Socket.cpp @@ -5,12 +5,6 @@ namespace core { - Socket::Socket(EPoll &ePoll) : ePoll(ePoll) { - coreutils::Log(coreutils::LOG_DEBUG_2) << "BMASocket object created."; - buffer = (char *)malloc(4096); - length = 4096; - } - Socket::Socket(EPoll &ePoll, std::string text) : ePoll(ePoll), text(text) { coreutils::Log(coreutils::LOG_DEBUG_2) << "BMASocket object created [" << text << "]."; buffer = (char *)malloc(4096); @@ -32,7 +26,7 @@ namespace core { shutdown("Too many files open"); coreutils::Exception("Too many files open. Refusing connection.");; } - socketLock.lock(); + lock.lock(); coreutils::Log(coreutils::LOG_DEBUG_3) << "Descriptor set to " << descriptor << " for Socket."; if(descriptor < 3) throw coreutils::Exception("Descriptor out of range", __FILE__, __LINE__); @@ -40,7 +34,7 @@ namespace core { onRegister(); ePoll.registerSocket(this); onRegistered(); - socketLock.unlock(); + lock.unlock(); } int Socket::getDescriptor() { @@ -48,26 +42,33 @@ namespace core { } void Socket::setBufferSize(int length) { - buffer = (char *)realloc(buffer, length); this->length = length; + buffer = (char *)realloc(buffer, length); } - + + int Socket::getBufferSize() { + return length; + } + void Socket::onRegister() {} void Socket::onRegistered() {} void Socket::onUnregister() {} + + void Socket::onUnregistered() {} - bool Socket::eventReceived(struct epoll_event event) { + bool Socket::eventReceived(struct epoll_event event, int threadId) { coreutils::Log(coreutils::LOG_DEBUG_1) << "eventReceived on " << descriptor << "; shutDown = " << shutDown << "; active = " << active << ";"; - socketLock.lock(); + lock.lock(); if(event.events & EPOLLRDHUP) { coreutils::Log(coreutils::LOG_DEBUG_1) << "start EPOLLRDHUP " << descriptor; readHangup = true; shutdown("hangup received"); + lock.unlock(); return false; } @@ -85,11 +86,12 @@ namespace core { coreutils::Log(coreutils::LOG_DEBUG_1) << "start EPOLLHUP " << descriptor; coreutils::Log(coreutils::LOG_DEBUG_1) << "end shutting down" << descriptor; shutdown(); + lock.unlock(); return false; } coreutils::Log(coreutils::LOG_DEBUG_1) << "end with active = " << active << " on socket " << descriptor; - socketLock.unlock(); + lock.unlock(); return active; } @@ -110,8 +112,10 @@ namespace core { int len; int error = -1; - if((len = ::read(getDescriptor(), buffer, bufferLength)) >= 0) - onDataReceived(buffer, len); + if((len = ::read(getDescriptor(), buffer, bufferLength)) >= 0) { +// coreutils::Log(coreutils::LOG_DEBUG_4) << "data[" << std::string(buffer, bufferLength) << "]"; + onDataReceived(buffer, len); + } else { error = errno; @@ -138,27 +142,27 @@ namespace core { if(shutDown) return; - lock.lock(); if(fifo.size() > 0) { + outlock.lock(); ::write(descriptor, fifo.front().c_str(), fifo.front().length()); fifo.pop(); - coreutils::Log(coreutils::LOG_DEBUG_4) << "reseSocket from writeSocket."; + coreutils::Log(coreutils::LOG_DEBUG_4) << "resetSocket from writeSocket."; if(active) ePoll.resetSocket(this); + outlock.unlock(); } - lock.unlock(); } int Socket::write(std::string data) { if(!active) - return -1; - - lock.lock(); + return -1; + + outlock.lock(); fifo.emplace(data); coreutils::Log(coreutils::LOG_DEBUG_4) << "resetSocket from write. active is " << active; if(active) ePoll.resetSocket(this); - lock.unlock(); + outlock.unlock(); return 1; } diff --git a/Socket.h b/Socket.h index e30c35e..3c3f126 100644 --- a/Socket.h +++ b/Socket.h @@ -18,12 +18,13 @@ namespace core { /// data threading through use of the EPoll object and also provides buffering for output data /// requests to the socket. /// - /// A program using a socket object can request to open a socket (file or network or whatever) and + /// A program using a socket object can request to open a socket (network or device) and /// communicate through the streambuffer interface of the socket object. /// /// The socket side of the Socket accepts EPOLLIN event and will maintain the data in a buffer /// for the stream readers to read. A onDataReceived event is then sent with the data received in - /// the buffer that can be read through the stream. + /// the buffer that can be read through the stream. Only sockets that send events to epoll can be + /// used with this object. /// /// When writing to the stream the data is written into a buffer and a EPOLLOUT is scheduled. Upon /// receiving the EPOLLOUT event then the buffer is written to the socket output. @@ -33,8 +34,19 @@ namespace core { public: - Socket(EPoll &ePoll); - Socket(EPoll &ePoll, std::string text); + /// + /// Constructor + /// + /// @param ePoll The EPoll socket descriptor. + /// @param text A title for this socket. + /// + + Socket(EPoll &ePoll, std::string text = ""); + + /// + /// Destructor + /// + ~Socket(); /// @@ -53,15 +65,6 @@ namespace core { void setDescriptor(int descriptor); /// The descriptor to monitor for this socket. /// /// The event received from epoll is sent through the eventReceived @@ -73,7 +76,7 @@ namespace core { /// simulated. /// - bool eventReceived(struct epoll_event event); ///< Parse epoll event and call specified callbacks. + bool eventReceived(struct epoll_event event, pid_t threadId); ///< Parse epoll event and call specified callbacks. /// /// Write data to the socket. @@ -91,17 +94,19 @@ namespace core { /// descriptor is set using setDescriptor for the socket. /// - virtual void onRegister(); ///< Called when the socket has finished registering with the epoll processing. - virtual void onRegistered(); + virtual void onRegister(); ///< Called before the socket has registered with the epoll processing. + virtual void onRegistered(); ///< Called after the socket has been registered with epoll processing. + + virtual void onUnregister(); /// - /// The onUnregister method is called whenever the socket is unregistered with + /// The onUnregistered method is called whenever the socket is unregistered with /// ePoll and socket communcation events will be stopped. The default method will /// close the socket and clean up the connection. If this is overridden by an /// extended object then the object should call this method to clean the socket up. /// - virtual void onUnregister(); ///< Called when the socket has finished unregistering for the epoll processing. + virtual void onUnregistered(); ///< Called when the socket has finished unregistering for the epoll processing. bool needsToWrite(); @@ -110,11 +115,13 @@ namespace core { protected: EPoll &ePoll; // The EPoll control object. - + bool shutDown = false; void setBufferSize(int length); - + + int getBufferSize(); + /// /// The onConnected method is called when the socket is ready to communicate. /// Writing to the socket can begin on this call to initiate a contact with the @@ -153,7 +160,7 @@ namespace core { std::string text; int descriptor = -1; std::mutex lock; - std::mutex socketLock; + std::mutex outlock; bool readHangup = false; // struct epoll_event event; // Event selection construction structure. diff --git a/TCPServer.cpp b/TCPServer.cpp index 5100253..1164e46 100644 --- a/TCPServer.cpp +++ b/TCPServer.cpp @@ -23,26 +23,28 @@ namespace core { } void TCPServer::onDataReceived(std::string data) { + coreutils::Log(coreutils::LOG_DEBUG_2) << "entering TCPServer::onDataReceived socket " << getDescriptor() << "."; + lock.lock(); TCPSession *session = accept(); - if(session) sessions.push_back(session); + if(session) + sessions.push_back(session); + lock.unlock(); + coreutils::Log(coreutils::LOG_DEBUG_2) << "Leaving TCPServer::onDataReceived socket " << getDescriptor() << "."; } - TCPSession * TCPServer::accept() { + TCPSession * TCPServer::accept() { TCPSession *session = getSocketAccept(ePoll); - session->setDescriptor(::accept(getDescriptor(), (struct sockaddr *)&session->ipAddress.addr, &session->ipAddress.addressLength)); - + session->setDescriptor(::accept(getDescriptor(), (struct sockaddr *)&session->ipAddress.addr, &session->ipAddress.addressLength)); // if(blackList && blackList->contains(session->ipAddress.getClientAddress())) { // session->shutdown(); // Log(LOG_WARN) << "Client at IP address " << session->ipAddress.getClientAddress() << " is blacklisted and was denied a connection."; // return NULL; // } - // // if(whiteList && !whiteList->contains(session->ipAddress.getClientAddress())) { // session->shutdown(); // Log(LOG_WARN) << "Client at IP address " << session->ipAddress.getClientAddress() << " is not authorized and was denied a connection."; // return NULL; // } - // coreutils::Log(coreutils::LOG_DEBUG_2) << "Session started on socket " << session->getDescriptor() << "."; return session; } @@ -65,7 +67,7 @@ namespace core { void TCPServer::output(TCPSession *session) { std::stringstream out; out << "|" << session->ipAddress.getClientAddressAndPort(); - session->send(out.str()); + session->send(); } int TCPServer::processCommand(std::string command, TCPSession *session, std::stringstream &data) { @@ -75,6 +77,7 @@ namespace core { sessionx->output(data); data << "|" << std::endl; } + return 1; } } diff --git a/TCPServer.h b/TCPServer.h index 436c0f1..f4f951e 100644 --- a/TCPServer.h +++ b/TCPServer.h @@ -114,6 +114,7 @@ namespace core { private: TCPSession * accept(); + std::mutex lock; }; diff --git a/TCPSession.cpp b/TCPSession.cpp index e608fe7..35f54cd 100644 --- a/TCPSession.cpp +++ b/TCPSession.cpp @@ -5,8 +5,6 @@ namespace core { - TCPSession::TCPSession(EPoll &ePoll, TCPServer &server) : TCPSocket(ePoll), server(server) {} - TCPSession::TCPSession(EPoll &ePoll, TCPServer &server, std::string text) : TCPSocket(ePoll, text), server(server) {} TCPSession::~TCPSession() { @@ -17,45 +15,44 @@ namespace core { data << "|" << ipAddress.getClientAddressAndPort(); } - void TCPSession::protocol(std::stringstream &out, std::string data = "") { + void TCPSession::protocol(std::string data = "") { if(data.length() > 0) { if(!server.commands.processRequest(data, this, out)) server.sessionErrorHandler("Invalid data received.", out); - } - else { - onConnected(out); - } + } } - void TCPSession::onRegister() { - std::stringstream out; - protocol(out); - send(out.str()); + void TCPSession::onRegistered() { + onConnected(); + protocol(); + send(); } - void TCPSession::onConnected(std::stringstream &out) {} + void TCPSession::onConnected() {} void TCPSession::onDataReceived(std::string data) { - std::stringstream out; - protocol(out, data); - send(out.str()); + protocol(data); + send(); } - void TCPSession::sendToAll(std::string data) { + void TCPSession::sendToAll() { for(auto session : server.sessions) if(session != this) - session->write(data); + session->write(out.str()); + out.str(""); } - void TCPSession::sendToAll(SessionFilter filter, std::string data) { + void TCPSession::sendToAll(SessionFilter filter) { for(auto session : server.sessions) if(filter.test(*session)) if(session != this) - session->write(data); + session->write(out.str()); + out.str(""); } - void TCPSession::send(std::string data) { - write(data); + void TCPSession::send() { + write(out.str()); + out.str(""); } } diff --git a/TCPSession.h b/TCPSession.h index abfd349..10fd19a 100644 --- a/TCPSession.h +++ b/TCPSession.h @@ -23,27 +23,32 @@ namespace core { class TCPSession : public TCPSocket { public: - TCPSession(EPoll &ePoll, TCPServer &server); - TCPSession(EPoll &ePoll, TCPServer &server, std::string text); + TCPSession(EPoll &ePoll, TCPServer &server, std::string text = ""); ~TCPSession(); Command *grab = NULL; virtual void output(std::stringstream &data); + + /// + /// Use out to send data to the session socket or other session sockets. + /// + + std::stringstream out; /// /// The send method is used to output the contents of the out stream /// to the session containing the stream. /// - void send(std::string data); + void send(); /// /// Use this sendToAll method to output the contents of the out stream /// to all the connections on the server excluding the sender session. /// - void sendToAll(std::string data); + void sendToAll(); /// /// Use this sendToAll method to output the contents of the out stream @@ -51,14 +56,14 @@ namespace core { /// and the entries identified by the passed in filter object. /// - void sendToAll(SessionFilter filter, std::string data); + void sendToAll(SessionFilter filter); TCPServer &server; protected: virtual void onDataReceived(std::string data) override; - virtual void onRegister() override; + virtual void onRegistered() override; /// /// This method is called from within the protocol method when protocol is called @@ -66,7 +71,7 @@ namespace core { /// to deliver a message to the connection upon connection. /// - virtual void onConnected(std::stringstream &out); + virtual void onConnected(); /// /// Override the protocol method to manage and control the session communications @@ -75,7 +80,7 @@ namespace core { /// processRequest method on the session input. /// - virtual void protocol(std::stringstream &out, std::string data); + virtual void protocol(std::string data); private: diff --git a/TLSSession.cpp b/TLSSession.cpp index c207379..503a24a 100644 --- a/TLSSession.cpp +++ b/TLSSession.cpp @@ -78,13 +78,9 @@ namespace core { } - TLSSession::~TLSSession() { - - } + TLSSession::~TLSSession() {} - void TLSSession::protocol(std::stringstream &out, std::string data) { - - } + void TLSSession::protocol(std::string data) {} void TLSSession::receiveData(char *buffer, int bufferLength) { diff --git a/TLSSession.h b/TLSSession.h index 9a667c8..12da72d 100644 --- a/TLSSession.h +++ b/TLSSession.h @@ -35,7 +35,7 @@ namespace core { /// virtual void output(std::stringstream &out); - virtual void protocol(std::stringstream &out, std::string data) override; + virtual void protocol(std::string data) override; protected: void receiveData(char *buffer, int bufferLength) override; diff --git a/TerminalSession.cpp b/TerminalSession.cpp index 0cc995d..0bd6dbd 100644 --- a/TerminalSession.cpp +++ b/TerminalSession.cpp @@ -2,7 +2,7 @@ namespace core { - TerminalSession::TerminalSession(EPoll &ePoll, TCPServer &server) : TLSSession(ePoll, server) { + TerminalSession::TerminalSession(EPoll &ePoll, TCPServer &server) : TCPSession(ePoll, server) { } TerminalSession::~TerminalSession() { diff --git a/TerminalSession.h b/TerminalSession.h index 3054c56..38daf91 100644 --- a/TerminalSession.h +++ b/TerminalSession.h @@ -27,16 +27,30 @@ namespace core { static const char esc = 0x1b; - class TerminalSession : public TLSSession { + class TerminalSession : public TCPSession { public: TerminalSession(EPoll &ePoll, TCPServer &server); ~TerminalSession(); int getLines(); + + /// + /// Clear the display. + /// void clear(); + + /// + /// Clear the display from the cursor to the end of line. + /// + void clearEOL(); + + /// + /// Set the location of the cursor on the display. + /// + void setCursorLocation(int x, int y); void setColor(int color); void setBackColor(int color); @@ -45,8 +59,6 @@ namespace core { void NextLine(int lines); void PreviousLine(int lines); void scrollArea(int start, int end); - - std::stringstream out; }; diff --git a/Thread.cpp b/Thread.cpp index 88238bc..4a65e09 100644 --- a/Thread.cpp +++ b/Thread.cpp @@ -60,13 +60,13 @@ namespace core { } else if(rc > 0) { for(int ix = 0; ix < rc; ++ix) { ++count; - std::cout << "Event " << events[ix].events << " on socket " << events[ix].data.fd << " on thread " << getThreadId() << ": "; - std::cout << ((events[ix].events & EPOLLIN) ? "EPOLLIN ": ""); - std::cout << ((events[ix].events & EPOLLWRNORM) ? "EPOLLWRNORM ": ""); - std::cout << ((events[ix].events & EPOLLRDHUP) ? "EPOLLRDHUP ": ""); - std::cout << ((events[ix].events & EPOLLHUP) ? "EPOLLHUP ": ""); - std::cout << "." << std::endl; - ePoll.eventReceived(events[ix]); +// std::cout << "Event " << events[ix].events << " on socket " << events[ix].data.fd << " on thread " << getThreadId() << ": "; +// std::cout << ((events[ix].events & EPOLLIN) ? "EPOLLIN ": ""); +// std::cout << ((events[ix].events & EPOLLWRNORM) ? "EPOLLWRNORM ": ""); +// std::cout << ((events[ix].events & EPOLLRDHUP) ? "EPOLLRDHUP ": ""); +// std::cout << ((events[ix].events & EPOLLHUP) ? "EPOLLHUP ": ""); +// std::cout << "." << std::endl; + ePoll.eventReceived(events[ix], threadId); } } } diff --git a/UDPServerSocket.cpp b/UDPServerSocket.cpp index edc0a65..efc9b47 100644 --- a/UDPServerSocket.cpp +++ b/UDPServerSocket.cpp @@ -53,7 +53,8 @@ namespace core { // session->output(data); // data << "|" << std::endl; // } - + + return 1; } } diff --git a/html/CommandList_8h_source.html b/html/CommandList_8h_source.html index 655df2b..168899d 100644 --- a/html/CommandList_8h_source.html +++ b/html/CommandList_8h_source.html @@ -1,9 +1,9 @@ - + - + My Project: CommandList.h Source File @@ -29,18 +29,21 @@ - + +/* @license-end */ @@ -62,21 +65,63 @@ $(function() {
CommandList.h
-
1 #ifndef __CommandList_h__
2 #define __CommandList_h__
3 
4 #include "TCPSession.h"
5 #include "Command.h"
6 #include "Log.h"
7 
8 namespace core {
9 
17 
18  class CommandList : public Command {
19 
20  public:
21 
25 
26  void add(Command &command, std::string name = "");
27 
31 
32  void remove(Command &command);
33 
40 
41  bool processRequest(std::string request, TCPSession *session, std::stringstream &data);
42 
48 
49  bool grabInput(TCPSession *session, Command &command);
50 
54 
55  void clearGrab(TCPSession *session);
56 
60 
61  int processCommand(std::string request, TCPSession *session, std::stringstream &data);
62 
63  protected:
64 
68 
69  std::vector<Command *> commands;
70 
71  };
72 
73 }
74 
75 #endif
bool processRequest(std::string request, TCPSession *session, std::stringstream &data)
Definition: CommandList.cpp:15
-
bool grabInput(TCPSession *session, Command &command)
Definition: CommandList.cpp:33
-
Definition: Command.cpp:4
-
Definition: CommandList.h:18
-
Definition: TCPSession.h:23
-
Definition: Command.h:20
-
std::vector< Command * > commands
Definition: CommandList.h:69
-
void add(Command &command, std::string name="")
Definition: CommandList.cpp:6
-
int processCommand(std::string request, TCPSession *session, std::stringstream &data)
Definition: CommandList.cpp:41
+
1 #ifndef __CommandList_h__
+
2 #define __CommandList_h__
+
3 
+
4 #include "TCPSession.h"
+
5 #include "Command.h"
+
6 #include "Log.h"
+
7 
+
8 namespace core {
+
9 
+
17 
+
18  class CommandList : public Command {
+
19 
+
20  public:
+
21 
+
25 
+
26  void add(Command &command, std::string name = "");
+
27 
+
31 
+
32  void remove(Command &command);
+
33 
+
40 
+
41  bool processRequest(std::string request, TCPSession *session, std::stringstream &data);
+
42 
+
48 
+
49  bool grabInput(TCPSession *session, Command &command);
+
50 
+
54 
+
55  void clearGrab(TCPSession *session);
+
56 
+
60 
+
61  int processCommand(std::string request, TCPSession *session, std::stringstream &data);
+
62 
+
63  protected:
+
64 
+
68 
+
69  std::vector<Command *> commands;
+
70 
+
71  };
+
72 
+
73 }
+
74 
+
75 #endif
+
bool grabInput(TCPSession *session, Command &command)
Definition: CommandList.cpp:33
+
Definition: TCPSession.h:23
+
std::vector< Command * > commands
Definition: CommandList.h:69
+
int processCommand(std::string request, TCPSession *session, std::stringstream &data)
Definition: CommandList.cpp:42
+
void add(Command &command, std::string name="")
Definition: CommandList.cpp:6
+
void remove(Command &command)
Definition: CommandList.cpp:11
+
Definition: Command.h:20
+
Definition: CommandList.h:18
+
bool processRequest(std::string request, TCPSession *session, std::stringstream &data)
Definition: CommandList.cpp:15
diff --git a/html/Command_8h_source.html b/html/Command_8h_source.html index 04c9209..79de7f5 100644 --- a/html/Command_8h_source.html +++ b/html/Command_8h_source.html @@ -1,9 +1,9 @@ - + - + My Project: Command.h Source File @@ -29,18 +29,21 @@
- + +/* @license-end */ @@ -62,20 +65,58 @@ $(function() {
Command.h
-
1 #ifndef __Command_h__
2 #define __Command_h__
3 
4 #include "includes"
5 #include "Object.h"
6 #include "TCPSession.h"
7 #include "PString.h"
8 
9 namespace core {
10 
11  class Session;
12 
19 
20  class Command : public Object {
21 
22  public:
23 
37 
38  virtual bool check(std::string request);
39 
50 
51  virtual int processCommand(std::string request, TCPSession *session, std::stringstream &data);
52 
58 
59  virtual void output(Session *session);
60 
69 
70  void setName(std::string name);
71 
72  std::string getName();
73 
74  private:
75  std::string name;
76 
77  };
78 
79 }
80 
81 #endif
Definition: Command.cpp:4
-
Definition: Object.h:8
-
Definition: TCPSession.h:23
-
void setName(std::string name)
Definition: Command.cpp:18
-
Definition: Command.h:20
-
virtual void output(Session *session)
Definition: Command.cpp:8
-
virtual int processCommand(std::string request, TCPSession *session, std::stringstream &data)
Definition: Command.cpp:6
-
virtual bool check(std::string request)
Definition: Command.cpp:10
+
1 #ifndef __Command_h__
+
2 #define __Command_h__
+
3 
+
4 #include "includes"
+
5 #include "Object.h"
+
6 #include "TCPSession.h"
+
7 #include "PString.h"
+
8 
+
9 namespace core {
+
10 
+
11  class Session;
+
12 
+
19 
+
20  class Command : public Object {
+
21 
+
22  public:
+
23 
+
37 
+
38  virtual bool check(std::string request);
+
39 
+
50 
+
51  virtual int processCommand(std::string request, TCPSession *session, std::stringstream &data);
+
52 
+
58 
+
59  virtual void output(Session *session);
+
60 
+
69 
+
70  void setName(std::string name);
+
71 
+
72  std::string getName();
+
73 
+
74  private:
+
75  std::string name;
+
76 
+
77  };
+
78 
+
79 }
+
80 
+
81 #endif
+
Definition: TCPSession.h:23
+
virtual bool check(std::string request)
Definition: Command.cpp:12
+
virtual void output(Session *session)
Definition: Command.cpp:10
+
Definition: Command.h:20
+
virtual int processCommand(std::string request, TCPSession *session, std::stringstream &data)
Definition: Command.cpp:6
+
Definition: Object.h:8
+
void setName(std::string name)
Definition: Command.cpp:20
diff --git a/html/ConsoleServer_8h_source.html b/html/ConsoleServer_8h_source.html index 4524d34..b5e3b54 100644 --- a/html/ConsoleServer_8h_source.html +++ b/html/ConsoleServer_8h_source.html @@ -1,9 +1,9 @@ - + - + My Project: ConsoleServer.h Source File @@ -29,18 +29,21 @@
- + +/* @license-end */ @@ -62,19 +65,56 @@ $(function() {
ConsoleServer.h
-
1 #ifndef __ConsoleServer_h__
2 #define __ConsoleServer_h__
3 
4 #include "includes"
5 #include "TLSServer.h"
6 #include "Command.h"
7 #include "EPoll.h"
8 #include "LogListener.h"
9 
10 namespace core {
11 
12  class TCPSocket;
13  class TCPSession;
14 
18 
19  class ConsoleServer : public TLSServer, public coreutils::LogListener {
20 
21  public:
22 
23  //
24  //
25  //
26 
27  ConsoleServer(EPoll &ePoll, IPAddress address);
28 
29  //
30  //
31  //
32 
33  void logSend(std::string out) override;
34 
35  TCPSession * getSocketAccept(EPoll &ePoll) override;
36 
37  };
38 
39 }
40 
41 #endif
Definition: TLSServer.h:19
-
Definition: Command.cpp:4
-
Definition: EPoll.h:31
-
Definition: IPAddress.h:9
-
Definition: TCPSession.h:23
-
TCPSession * getSocketAccept(EPoll &ePoll) override
Definition: ConsoleServer.cpp:17
-
Definition: ConsoleServer.h:19
+
1 #ifndef __ConsoleServer_h__
+
2 #define __ConsoleServer_h__
+
3 
+
4 #include "includes"
+
5 #include "TLSServer.h"
+
6 #include "Command.h"
+
7 #include "EPoll.h"
+
8 #include "LogListener.h"
+
9 
+
10 namespace core {
+
11 
+
12  class TCPSocket;
+
13  class TCPSession;
+
14 
+
18 
+
19  class ConsoleServer : public TCPServer, public coreutils::LogListener {
+
20 
+
21  public:
+
22 
+
23  //
+
24  //
+
25  //
+
26 
+
27  ConsoleServer(EPoll &ePoll, IPAddress address);
+
28 
+
29  //
+
30  //
+
31  //
+
32 
+
33  void logSend(std::string out) override;
+
34 
+
35  TCPSession * getSocketAccept(EPoll &ePoll) override;
+
36 
+
37  };
+
38 
+
39 }
+
40 
+
41 #endif
+
Definition: TCPSession.h:23
+
Definition: IPAddress.h:9
+
Definition: EPoll.h:31
+
Definition: ConsoleServer.h:19
+
Definition: TCPServer.h:24
+
TCPSession * getSocketAccept(EPoll &ePoll) override
Definition: ConsoleServer.cpp:17
diff --git a/html/ConsoleSession_8h_source.html b/html/ConsoleSession_8h_source.html index 6c13fd4..89115e5 100644 --- a/html/ConsoleSession_8h_source.html +++ b/html/ConsoleSession_8h_source.html @@ -1,9 +1,9 @@ - + - + My Project: ConsoleSession.h Source File @@ -29,18 +29,21 @@
- + +/* @license-end */ @@ -62,18 +65,49 @@ $(function() {
ConsoleSession.h
-
1 #ifndef __ConsoleSession_h__
2 #define __ConsoleSession_h__
3 
4 #include "TerminalSession.h"
5 #include "TCPSession.h"
6 #include "CommandList.h"
7 
8 namespace core {
9 
17 
19 
20  public:
21  ConsoleSession(EPoll &ePoll, TCPServer &server);
22  ~ConsoleSession();
23 
24  void writeLog(std::string data);
25 
26  protected:
27  void protocol(std::stringstream &out, std::string data) override;
28 
29  private:
30  enum Status {WELCOME, LOGIN, WAIT_USER_PROFILE, PASSWORD, WAIT_PASSWORD, PROMPT, INPUT, PROCESS, DONE};
31  Status status = WELCOME;
32  void doCommand(std::string request);
33  std::string command;
34 
35  };
36 
37 }
38 
39 #endif
Definition: ConsoleSession.h:18
-
Definition: Command.cpp:4
-
Definition: EPoll.h:31
-
void protocol(std::stringstream &out, std::string data) override
Definition: ConsoleSession.cpp:12
-
Definition: TCPServer.h:24
-
Definition: TerminalSession.h:30
+
1 #ifndef __ConsoleSession_h__
+
2 #define __ConsoleSession_h__
+
3 
+
4 #include "TerminalSession.h"
+
5 #include "TCPSession.h"
+
6 #include "CommandList.h"
+
7 
+
8 namespace core {
+
9 
+
17 
+ +
19 
+
20  public:
+
21  ConsoleSession(EPoll &ePoll, TCPServer &server);
+
22  ~ConsoleSession();
+
23 
+
24  void writeLog(std::string data);
+
25 
+
26  protected:
+
27  void protocol(std::string data) override;
+
28 
+
29  private:
+
30  enum Status {WELCOME, LOGIN, WAIT_USER_PROFILE, PASSWORD, WAIT_PASSWORD, PROMPT, INPUT, PROCESS, DONE};
+
31  Status status = WELCOME;
+
32  void doCommand(std::string request);
+
33  std::string command;
+
34 
+
35  };
+
36 
+
37 }
+
38 
+
39 #endif
+
Definition: EPoll.h:31
+
Definition: ConsoleSession.h:18
+
void protocol(std::string data) override
Definition: ConsoleSession.cpp:12
+
Definition: TCPServer.h:24
+
Definition: TerminalSession.h:30
diff --git a/html/EPoll_8h_source.html b/html/EPoll_8h_source.html index 3d3b853..85e177b 100644 --- a/html/EPoll_8h_source.html +++ b/html/EPoll_8h_source.html @@ -1,9 +1,9 @@ - + - + My Project: EPoll.h Source File @@ -29,18 +29,21 @@
- + +/* @license-end */ @@ -62,28 +65,95 @@ $(function() {
EPoll.h
-
1 #ifndef __EPoll_h__
2 #define __EPoll_h__
3 
4 #include "Log.h"
5 #include "Socket.h"
6 #include "Thread.h"
7 #include "TCPSession.h"
8 #include "Command.h"
9 
10 namespace core {
11 
30 
31  class EPoll : public Command {
32 
33  public:
34 
38 
39  EPoll();
40 
44 
45  ~EPoll();
46 
53 
54  bool start(int numberOfThreads, int maxSockets);
55 
61 
62  bool stop();
63 
68 
69  bool isStopping();
70 
79 
80  bool registerSocket(Socket *socket);
81 
85 
86  bool unregisterSocket(Socket *socket);
87 
91 
92  int getDescriptor();
93 
97 
98  int maxSockets;
99 
103 
104  void eventReceived(struct epoll_event event);
105 
112 
113  int processCommand(std::string command, TCPSession *session, std::stringstream &data) override;
114 
115  void resetSocket(Socket *socket);
116 
117  private:
118 
119  int epfd;
120  int numberOfThreads;
121  std::map<int, Socket *> sockets;
122  std::vector<Thread> threads;
123  volatile bool terminateThreads;
124  std::mutex lock;
125  void enableSocket(Socket *socket);
126  void disableSocket(Socket *socket);
127 
128  };
129 
130 }
131 
132 #endif
133 
void eventReceived(struct epoll_event event)
Dispatch event to appropriate socket.
Definition: EPoll.cpp:98
-
int processCommand(std::string command, TCPSession *session, std::stringstream &data) override
Output the threads array to the console.
Definition: EPoll.cpp:115
-
Definition: Command.cpp:4
-
Definition: EPoll.h:31
-
Definition: Socket.h:32
-
~EPoll()
Definition: EPoll.cpp:17
-
Definition: TCPSession.h:23
-
bool registerSocket(Socket *socket)
Register a BMASocket for monitoring by BMAEPoll.
Definition: EPoll.cpp:71
-
bool stop()
Stop and shut down the BMAEPoll processing.
Definition: EPoll.cpp:47
-
EPoll()
Definition: EPoll.cpp:8
-
bool start(int numberOfThreads, int maxSockets)
Start the BMAEPoll processing.
Definition: EPoll.cpp:21
-
Definition: Command.h:20
-
bool unregisterSocket(Socket *socket)
Unregister a BMASocket from monitoring by BMAEPoll.
Definition: EPoll.cpp:86
-
int maxSockets
The maximum number of socket allowed.
Definition: EPoll.h:98
-
bool isStopping()
Returns a true if the stop command has been requested.
Definition: EPoll.cpp:67
-
int getDescriptor()
Return the descriptor for the ePoll socket.
Definition: EPoll.cpp:111
+
1 #ifndef __EPoll_h__
+
2 #define __EPoll_h__
+
3 
+
4 #include "Log.h"
+
5 #include "Socket.h"
+
6 #include "Thread.h"
+
7 #include "TCPSession.h"
+
8 #include "Command.h"
+
9 
+
10 namespace core {
+
11 
+
30 
+
31  class EPoll : public Command {
+
32 
+
33  public:
+
34 
+
38 
+
39  EPoll();
+
40 
+
44 
+
45  ~EPoll();
+
46 
+
53 
+
54  bool start(int numberOfThreads, int maxSockets);
+
55 
+
61 
+
62  bool stop();
+
63 
+
68 
+
69  bool isStopping();
+
70 
+
79 
+
80  bool registerSocket(Socket *socket);
+
81 
+
85 
+
86  bool unregisterSocket(Socket *socket);
+
87 
+
91 
+
92  int getDescriptor();
+
93 
+
97 
+
98  int maxSockets;
+
99 
+
103 
+
104  void eventReceived(struct epoll_event event, pid_t threadId);
+
105 
+
112 
+
113  int processCommand(std::string command, TCPSession *session, std::stringstream &data) override;
+
114 
+
115  void resetSocket(Socket *socket);
+
116 
+
117  private:
+
118 
+
119  int epfd;
+
120  int numberOfThreads;
+
121  std::map<int, Socket *> sockets;
+
122  std::vector<Thread> threads;
+
123  volatile bool terminateThreads;
+
124  std::mutex lock;
+
125  void enableSocket(Socket *socket);
+
126  void disableSocket(Socket *socket);
+
127 
+
128  };
+
129 
+
130 }
+
131 
+
132 #endif
+
133 
+
bool isStopping()
Returns a true if the stop command has been requested.
Definition: EPoll.cpp:67
+
bool start(int numberOfThreads, int maxSockets)
Start the BMAEPoll processing.
Definition: EPoll.cpp:21
+
Definition: TCPSession.h:23
+
Definition: Socket.h:33
+
bool unregisterSocket(Socket *socket)
Unregister a BMASocket from monitoring by BMAEPoll.
Definition: EPoll.cpp:83
+
Definition: EPoll.h:31
+
bool stop()
Stop and shut down the BMAEPoll processing.
Definition: EPoll.cpp:47
+
void eventReceived(struct epoll_event event, pid_t threadId)
Dispatch event to appropriate socket.
Definition: EPoll.cpp:95
+
int maxSockets
The maximum number of socket allowed.
Definition: EPoll.h:98
+
Definition: Command.h:20
+
int getDescriptor()
Return the descriptor for the ePoll socket.
Definition: EPoll.cpp:107
+
int processCommand(std::string command, TCPSession *session, std::stringstream &data) override
Output the threads array to the console.
Definition: EPoll.cpp:111
+
~EPoll()
Definition: EPoll.cpp:17
+
EPoll()
Definition: EPoll.cpp:8
+
bool registerSocket(Socket *socket)
Register a BMASocket for monitoring by BMAEPoll.
Definition: EPoll.cpp:71
diff --git a/html/INotify_8h_source.html b/html/INotify_8h_source.html index b0d8ba4..8f7a20c 100644 --- a/html/INotify_8h_source.html +++ b/html/INotify_8h_source.html @@ -1,9 +1,9 @@ - + - + My Project: INotify.h Source File @@ -29,18 +29,21 @@
- + +/* @license-end */ @@ -62,16 +65,52 @@ $(function() {
INotify.h
-
1 #ifndef __INotify_h__
2 # define __INotify_h__
3 
4 #include "includes"
5 #include "Socket.h"
6 
7 namespace core {
8 
9  class INotify : Socket {
10 
11  public:
12  INotify(EPoll &ePoll);
13  ~INotify();
14 
15  int addWatch(std::string watch);
16  void removeWatch(int wd);
17 
18  void onDataReceived(char *buffer, int len) override;
19 
20  virtual void inAccess(std::string name) {}
21  virtual void inAttrib(std::string name) {}
22  virtual void inCloseWrite(std::string name) {}
23  virtual void inCloseNoWrite(std::string name) {}
24  virtual void inCreate(std::string name) {}
25  virtual void inDelete(std::string name) {}
26  virtual void inDeleteSelf(std::string name) {}
27  virtual void inModify(std::string name) {}
28  virtual void inMoveSelf(std::string name) {}
29  virtual void inMovedFrom(std::string name) {}
30  virtual void inMovedTo(std::string name) {}
31  virtual void inOpen(std::string name) {}
32 
33  };
34 
35 }
36 
37 #endif
Definition: Command.cpp:4
-
Definition: EPoll.h:31
-
Definition: Socket.h:32
-
Definition: INotify.h:9
+
1 #ifndef __INotify_h__
+
2 # define __INotify_h__
+
3 
+
4 #include "includes"
+
5 #include "Socket.h"
+
6 
+
7 namespace core {
+
8 
+
9  class INotify : Socket {
+
10 
+
11  public:
+
12  INotify(EPoll &ePoll);
+
13  ~INotify();
+
14 
+
15  int addWatch(std::string watch);
+
16  void removeWatch(int wd);
+
17 
+
18  void onDataReceived(char *buffer, int len) override;
+
19 
+
20  virtual void inAccess(std::string name) {}
+
21  virtual void inAttrib(std::string name) {}
+
22  virtual void inCloseWrite(std::string name) {}
+
23  virtual void inCloseNoWrite(std::string name) {}
+
24  virtual void inCreate(std::string name) {}
+
25  virtual void inDelete(std::string name) {}
+
26  virtual void inDeleteSelf(std::string name) {}
+
27  virtual void inModify(std::string name) {}
+
28  virtual void inMoveSelf(std::string name) {}
+
29  virtual void inMovedFrom(std::string name) {}
+
30  virtual void inMovedTo(std::string name) {}
+
31  virtual void inOpen(std::string name) {}
+
32 
+
33  };
+
34 
+
35 }
+
36 
+
37 #endif
+
Definition: Socket.h:33
+
Definition: EPoll.h:31
+
Definition: INotify.h:9
diff --git a/html/IPAddressList_8h_source.html b/html/IPAddressList_8h_source.html index 30c8efd..87697f0 100644 --- a/html/IPAddressList_8h_source.html +++ b/html/IPAddressList_8h_source.html @@ -1,9 +1,9 @@ - + - + My Project: IPAddressList.h Source File @@ -29,18 +29,21 @@
- + +/* @license-end */ @@ -62,15 +65,40 @@ $(function() {
IPAddressList.h
-
1 #ifndef __IPAddressList_h__
2 #define __IPAddressList_h__
3 
4 #include "includes"
5 #include "IPAddress.h"
6 
7 namespace core {
8 
9  class IPAddressList {
10 
11  public:
12  IPAddressList();
13 
14  std::map<std::string, IPAddress> getList();
15  bool add(IPAddress ipAddress);
16  bool remove(IPAddress ipAddress);
17  bool contains(std::string ipAddress);
18 
19  private:
20  std::map<std::string, IPAddress> list;
21  std::map<std::string, IPAddress>::iterator it = list.begin();
22  };
23 
24 }
25 
26 #endif
Definition: Command.cpp:4
-
Definition: IPAddress.h:9
-
Definition: IPAddressList.h:9
+
1 #ifndef __IPAddressList_h__
+
2 #define __IPAddressList_h__
+
3 
+
4 #include "includes"
+
5 #include "IPAddress.h"
+
6 
+
7 namespace core {
+
8 
+
9  class IPAddressList {
+
10 
+
11  public:
+
12  IPAddressList();
+
13 
+
14  std::map<std::string, IPAddress> getList();
+
15  void add(IPAddress ipAddress);
+
16  bool remove(IPAddress ipAddress);
+
17  bool contains(std::string ipAddress);
+
18 
+
19  private:
+
20  std::map<std::string, IPAddress> list;
+
21  std::map<std::string, IPAddress>::iterator it = list.begin();
+
22  };
+
23 
+
24 }
+
25 
+
26 #endif
+
Definition: IPAddress.h:9
+
Definition: IPAddressList.h:9
diff --git a/html/IPAddress_8h_source.html b/html/IPAddress_8h_source.html index 7d4c6f4..81f1f45 100644 --- a/html/IPAddress_8h_source.html +++ b/html/IPAddress_8h_source.html @@ -1,9 +1,9 @@ - + - + My Project: IPAddress.h Source File @@ -29,18 +29,21 @@
- + +/* @license-end */ @@ -62,18 +65,46 @@ $(function() {
IPAddress.h
-
1 #ifndef __IPAddress_h__
2 #define __IPAddress_h__
3 
4 #include "includes"
5 #include "Object.h"
6 
7 namespace core {
8 
9  class IPAddress : public Object {
10 
11  public:
12  IPAddress();
13  IPAddress(std::string address);
14  IPAddress(std::string address, int port);
15  ~IPAddress();
16 
17  struct sockaddr_in addr;
18  socklen_t addressLength;
19 
20  struct sockaddr * getPointer();
21  std::string getClientAddress();
22  std::string getClientAddressAndPort();
23  int getClientPort();
24 
25  };
26 
27 }
28 
29 #endif
Definition: Command.cpp:4
-
std::string getClientAddress()
Get the client network address as xxx.xxx.xxx.xxx.
Definition: IPAddress.cpp:35
-
Definition: IPAddress.h:9
-
Definition: Object.h:8
-
int getClientPort()
Get the client network port number.
Definition: IPAddress.cpp:47
-
std::string getClientAddressAndPort()
Get the client network address and port as xxx.xxx.xxx.xxx:ppppp.
Definition: IPAddress.cpp:40
+
1 #ifndef __IPAddress_h__
+
2 #define __IPAddress_h__
+
3 
+
4 #include "includes"
+
5 #include "Object.h"
+
6 
+
7 namespace core {
+
8 
+
9  class IPAddress : public Object {
+
10 
+
11  public:
+
12  IPAddress();
+
13  IPAddress(std::string address);
+
14  IPAddress(std::string address, int port);
+
15  ~IPAddress();
+
16 
+
17  struct sockaddr_in addr;
+
18  socklen_t addressLength;
+
19 
+
20  struct sockaddr * getPointer();
+
21  std::string getClientAddress();
+
22  std::string getClientAddressAndPort();
+
23  int getClientPort();
+
24 
+
25  };
+
26 
+
27 }
+
28 
+
29 #endif
+
std::string getClientAddress()
Get the client network address as xxx.xxx.xxx.xxx.
Definition: IPAddress.cpp:35
+
Definition: IPAddress.h:9
+
int getClientPort()
Get the client network port number.
Definition: IPAddress.cpp:47
+
Definition: Object.h:8
+
std::string getClientAddressAndPort()
Get the client network address and port as xxx.xxx.xxx.xxx:ppppp.
Definition: IPAddress.cpp:40
diff --git a/html/Object_8h_source.html b/html/Object_8h_source.html index f27335a..b001c78 100644 --- a/html/Object_8h_source.html +++ b/html/Object_8h_source.html @@ -1,9 +1,9 @@ - + - + My Project: Object.h Source File @@ -29,18 +29,21 @@
- + +/* @license-end */ @@ -62,14 +65,32 @@ $(function() {
Object.h
-
1 #ifndef __Object_h__
2 #define __Object_h__
3 
4 #include "includes"
5 
6 namespace core {
7 
8  class Object {
9 
10  public:
11 
12  std::string name;
13  std::string tag;
14 
15  };
16 
17 }
18 
19 #endif
Definition: Command.cpp:4
-
Definition: Object.h:8
+
1 #ifndef __Object_h__
+
2 #define __Object_h__
+
3 
+
4 #include "includes"
+
5 
+
6 namespace core {
+
7 
+
8  class Object {
+
9 
+
10  public:
+
11 
+
12  std::string name;
+
13  std::string tag;
+
14 
+
15  };
+
16 
+
17 }
+
18 
+
19 #endif
+
Definition: Object.h:8
diff --git a/html/SessionFilter_8h_source.html b/html/SessionFilter_8h_source.html index 1a5fad0..aa6f270 100644 --- a/html/SessionFilter_8h_source.html +++ b/html/SessionFilter_8h_source.html @@ -1,9 +1,9 @@ - + - + My Project: SessionFilter.h Source File @@ -29,18 +29,21 @@
- + +/* @license-end */ @@ -62,16 +65,36 @@ $(function() {
SessionFilter.h
-
1 #ifndef __SessionFilter_h__
2 #define __SessionFilter_h__
3 
4 //#include "Session.h"
5 
6 namespace core {
7 
8  class TCPSession;
9 
10  class SessionFilter : public Object {
11 
12  public:
13  virtual bool test(TCPSession &session) {
14  return true;
15  }
16 
17  };
18 
19 }
20 
21 #endif
Definition: SessionFilter.h:10
-
Definition: Command.cpp:4
-
Definition: Object.h:8
-
Definition: TCPSession.h:23
+
1 #ifndef __SessionFilter_h__
+
2 #define __SessionFilter_h__
+
3 
+
4 //#include "Session.h"
+
5 
+
6 namespace core {
+
7 
+
8  class TCPSession;
+
9 
+
10  class SessionFilter : public Object {
+
11 
+
12  public:
+
13  virtual bool test(TCPSession &session) {
+
14  return true;
+
15  }
+
16 
+
17  };
+
18 
+
19 }
+
20 
+
21 #endif
+
Definition: SessionFilter.h:10
+
Definition: TCPSession.h:23
+
Definition: Object.h:8
diff --git a/html/Socket_8h_source.html b/html/Socket_8h_source.html index 949616a..d236f37 100644 --- a/html/Socket_8h_source.html +++ b/html/Socket_8h_source.html @@ -1,9 +1,9 @@ - + - + My Project: Socket.h Source File @@ -29,18 +29,21 @@
- + +/* @license-end */ @@ -62,25 +65,141 @@ $(function() {
Socket.h
-
1 #ifndef __Socket_h__
2 #define __Socket_h__
3 
4 #include "includes"
5 #include "Object.h"
6 
7 namespace core {
8 
9  class EPoll;
10 
31 
32  class Socket : public core::Object {
33 
34  public:
35 
36  Socket(EPoll &ePoll);
37  Socket(EPoll &ePoll, std::string text);
38  ~Socket();
39 
45 
46  void shutdown(std::string text = "unknown");
47 
52 
53  void setDescriptor(int descriptor);
54 
55  int getDescriptor();
56 
57  class {
58  int value;
59 
60  public:
61  int & operator = (const int &i) { return value = i; }
62  operator int () const { return value; }
63 
64  } bufferSize;
65 
75 
76  bool eventReceived(struct epoll_event event);
77 
81 
82  int write(std::string data);
83  void write(char *buffer, int length);
84 
85  void output(std::stringstream &out);
86 
93 
94  virtual void onRegister();
95  virtual void onRegistered();
96 
103 
104  virtual void onUnregister();
105 
106  bool needsToWrite();
107 
108  bool active = false;
109 
110  protected:
111 
112  EPoll &ePoll; // The EPoll control object.
113 
114  bool shutDown = false;
115 
116  void setBufferSize(int length);
117 
123 
124 // virtual void onConnected(); ///< Called when socket is open and ready to communicate.
125 
129 
130 // virtual void onDisconnected(); ///< Called when socket is closing and no longer ready to communicate.
131 
139 
140  virtual void onDataReceived(std::string data);
141 
142  virtual void onDataReceived(char *buffer, int len);
143 
148 
149  virtual void receiveData(char *buffer, int bufferLength);
150 
151  private:
152 
153  std::string text;
154  int descriptor = -1;
155  std::mutex lock;
156  std::mutex socketLock;
157  bool readHangup = false;
158 
159 // struct epoll_event event; // Event selection construction structure.
160 
161  //-------------------------------------------------------------------------------------
162  // the writeSocket is called when epoll has received a write request for a socket.
163  // Writing data to this socket is queued in the streambuf and permission is requested
164  // to write to the socket. This routine handles the writing of the streambuf data
165  // buffer to the socket.
166  //-------------------------------------------------------------------------------------
167 
168  void writeSocket();
169 
170  // int_type underflow();
171 // int_type uflow();
172 // int_type pbackfail(int_type ch);
173 // streamsize showmanyc();
174 
175  char *buffer; // This is a pointer to the managed buffer space.
176  int length; // This is the length of the buffer.
177 
178 // const char * const begin_;
179 // const char * const end_;
180 // const char * const current_;
181 
182  std::queue<std::string> fifo;
183 
184  };
185 
186 }
187 
188 #endif
189 
Definition: Command.cpp:4
-
Definition: EPoll.h:31
-
Definition: Socket.h:32
-
Definition: Object.h:8
-
virtual void onRegister()
Called when the socket has finished registering with the epoll processing.
Definition: Socket.cpp:57
-
virtual void receiveData(char *buffer, int bufferLength)
Definition: Socket.cpp:107
-
int write(std::string data)
Definition: Socket.cpp:154
-
bool eventReceived(struct epoll_event event)
Parse epoll event and call specified callbacks.
Definition: Socket.cpp:63
-
virtual void onDataReceived(std::string data)
Called when data is received from the socket.
Definition: Socket.cpp:99
-
void setDescriptor(int descriptor)
Set the descriptor for the socket.
Definition: Socket.cpp:32
-
int getDescriptor()
Get the descriptor for the socket.
Definition: Socket.cpp:48
-
virtual void onUnregister()
Called when the socket has finished unregistering for the epoll processing.
Definition: Socket.cpp:61
-
void shutdown(std::string text="unknown")
Definition: Socket.cpp:175
+
1 #ifndef __Socket_h__
+
2 #define __Socket_h__
+
3 
+
4 #include "includes"
+
5 #include "Object.h"
+
6 
+
7 namespace core {
+
8 
+
9  class EPoll;
+
10 
+
32 
+
33  class Socket : public core::Object {
+
34 
+
35  public:
+
36 
+
43 
+
44  Socket(EPoll &ePoll, std::string text = "");
+
45 
+
49 
+
50  ~Socket();
+
51 
+
57 
+
58  void shutdown(std::string text = "unknown");
+
59 
+
64 
+
65  void setDescriptor(int descriptor);
+
66 
+
67  int getDescriptor();
+
68 
+
78 
+
79  bool eventReceived(struct epoll_event event, pid_t threadId);
+
80 
+
84 
+
85  int write(std::string data);
+
86  void write(char *buffer, int length);
+
87 
+
88  void output(std::stringstream &out);
+
89 
+
96 
+
97  virtual void onRegister();
+
98  virtual void onRegistered();
+
99 
+
100  virtual void onUnregister();
+
101 
+
108 
+
109  virtual void onUnregistered();
+
110 
+
111  bool needsToWrite();
+
112 
+
113  bool active = false;
+
114 
+
115  protected:
+
116 
+
117  EPoll &ePoll; // The EPoll control object.
+
118 
+
119  bool shutDown = false;
+
120 
+
121  void setBufferSize(int length);
+
122 
+
123  int getBufferSize();
+
124 
+
130 
+
131 // virtual void onConnected(); ///< Called when socket is open and ready to communicate.
+
132 
+
136 
+
137 // virtual void onDisconnected(); ///< Called when socket is closing and no longer ready to communicate.
+
138 
+
146 
+
147  virtual void onDataReceived(std::string data);
+
148 
+
149  virtual void onDataReceived(char *buffer, int len);
+
150 
+
155 
+
156  virtual void receiveData(char *buffer, int bufferLength);
+
157 
+
158  private:
+
159 
+
160  std::string text;
+
161  int descriptor = -1;
+
162  std::mutex lock;
+
163  std::mutex outlock;
+
164  bool readHangup = false;
+
165 
+
166 // struct epoll_event event; // Event selection construction structure.
+
167 
+
168  //-------------------------------------------------------------------------------------
+
169  // the writeSocket is called when epoll has received a write request for a socket.
+
170  // Writing data to this socket is queued in the streambuf and permission is requested
+
171  // to write to the socket. This routine handles the writing of the streambuf data
+
172  // buffer to the socket.
+
173  //-------------------------------------------------------------------------------------
+
174 
+
175  void writeSocket();
+
176 
+
177  // int_type underflow();
+
178 // int_type uflow();
+
179 // int_type pbackfail(int_type ch);
+
180 // streamsize showmanyc();
+
181 
+
182  char *buffer; // This is a pointer to the managed buffer space.
+
183  int length; // This is the length of the buffer.
+
184 
+
185 // const char * const begin_;
+
186 // const char * const end_;
+
187 // const char * const current_;
+
188 
+
189  std::queue<std::string> fifo;
+
190 
+
191  };
+
192 
+
193 }
+
194 
+
195 #endif
+
196 
+
Definition: Socket.h:33
+
int write(std::string data)
Definition: Socket.cpp:156
+
Definition: EPoll.h:31
+
virtual void onRegistered()
Called after the socket has been registered with epoll processing.
Definition: Socket.cpp:55
+
virtual void onDataReceived(std::string data)
Called when data is received from the socket.
Definition: Socket.cpp:99
+
Socket(EPoll &ePoll, std::string text="")
Definition: Socket.cpp:8
+
bool eventReceived(struct epoll_event event, pid_t threadId)
Parse epoll event and call specified callbacks.
Definition: Socket.cpp:61
+
void shutdown(std::string text="unknown")
Definition: Socket.cpp:177
+
virtual void onRegister()
Called before the socket has registered with the epoll processing.
Definition: Socket.cpp:53
+
virtual void receiveData(char *buffer, int bufferLength)
Definition: Socket.cpp:107
+
virtual void onUnregistered()
Called when the socket has finished unregistering for the epoll processing.
Definition: Socket.cpp:59
+
Definition: Object.h:8
+
int getDescriptor()
Get the descriptor for the socket.
Definition: Socket.cpp:40
+
~Socket()
Definition: Socket.cpp:14
+
void setDescriptor(int descriptor)
Set the descriptor for the socket.
Definition: Socket.cpp:24
diff --git a/html/TCPServer_8h_source.html b/html/TCPServer_8h_source.html index 8277498..eed4790 100644 --- a/html/TCPServer_8h_source.html +++ b/html/TCPServer_8h_source.html @@ -1,9 +1,9 @@ - + - + My Project: TCPServer.h Source File @@ -29,18 +29,21 @@
- + +/* @license-end */ @@ -62,31 +65,91 @@ $(function() {
TCPServer.h
-
1 #ifndef __TCPServer_h__
2 #define __TCPServer_h__
3 
4 #include "Socket.h"
5 #include "TCPSocket.h"
6 #include "IPAddressList.h"
7 #include "Command.h"
8 #include "CommandList.h"
9 
10 namespace core {
11 
23 
24  class TCPServer : public TCPSocket, public Command {
25 
26  public:
27 
37 
38  TCPServer(EPoll &ePoll, IPAddress address, std::string text = "");
39 
43 
44  ~TCPServer();
45 
51 
53 
59 
61 
62  void removeFromSessionList(TCPSession *session);
63 
64  virtual void sessionErrorHandler(std::string errorString, std::stringstream &out);
65 
73 
74  virtual TCPSession * getSocketAccept(EPoll &epoll);
75 
76  void output(TCPSession *session);
77 
81 
82  std::vector<TCPSession *> sessions;
83 
88 
90 
91  protected:
92 
102 
103  void onDataReceived(std::string data) override;
104 
111 
112  int processCommand(std::string command, TCPSession *session, std::stringstream &data) override;
113 
114  private:
115 
116  TCPSession * accept();
117 
118  };
119 
120 }
121 
122 #endif
IPAddressList * blackList
Definition: TCPServer.h:52
-
void onDataReceived(std::string data) override
Definition: TCPServer.cpp:25
-
TCPServer(EPoll &ePoll, IPAddress address, std::string text="")
Definition: TCPServer.cpp:9
-
Definition: Command.cpp:4
-
Definition: EPoll.h:31
-
std::vector< TCPSession * > sessions
Definition: TCPServer.h:82
-
Definition: IPAddress.h:9
-
Definition: CommandList.h:18
-
int processCommand(std::string command, TCPSession *session, std::stringstream &data) override
Definition: TCPServer.cpp:71
-
Definition: TCPSocket.h:20
-
Definition: TCPSession.h:23
-
IPAddressList * whiteList
Definition: TCPServer.h:60
-
Definition: Command.h:20
-
Definition: TCPServer.h:24
-
void output(TCPSession *session)
Output the consoles array to the console.
Definition: TCPServer.cpp:65
-
~TCPServer()
Definition: TCPServer.cpp:20
-
Definition: IPAddressList.h:9
-
CommandList commands
Definition: TCPServer.h:89
-
virtual TCPSession * getSocketAccept(EPoll &epoll)
Definition: TCPServer.cpp:61
+
1 #ifndef __TCPServer_h__
+
2 #define __TCPServer_h__
+
3 
+
4 #include "Socket.h"
+
5 #include "TCPSocket.h"
+
6 #include "IPAddressList.h"
+
7 #include "Command.h"
+
8 #include "CommandList.h"
+
9 
+
10 namespace core {
+
11 
+
23 
+
24  class TCPServer : public TCPSocket, public Command {
+
25 
+
26  public:
+
27 
+
37 
+
38  TCPServer(EPoll &ePoll, IPAddress address, std::string text = "");
+
39 
+
43 
+
44  ~TCPServer();
+
45 
+
51 
+ +
53 
+
59 
+ +
61 
+
62  void removeFromSessionList(TCPSession *session);
+
63 
+
64  virtual void sessionErrorHandler(std::string errorString, std::stringstream &out);
+
65 
+
73 
+
74  virtual TCPSession * getSocketAccept(EPoll &epoll);
+
75 
+
76  void output(TCPSession *session);
+
77 
+
81 
+
82  std::vector<TCPSession *> sessions;
+
83 
+
88 
+ +
90 
+
91  protected:
+
92 
+
102 
+
103  void onDataReceived(std::string data) override;
+
104 
+
111 
+
112  int processCommand(std::string command, TCPSession *session, std::stringstream &data) override;
+
113 
+
114  private:
+
115 
+
116  TCPSession * accept();
+
117  std::mutex lock;
+
118 
+
119  };
+
120 
+
121 }
+
122 
+
123 #endif
+
IPAddressList * blackList
Definition: TCPServer.h:52
+
Definition: TCPSession.h:23
+
Definition: IPAddress.h:9
+
std::vector< TCPSession * > sessions
Definition: TCPServer.h:82
+
int processCommand(std::string command, TCPSession *session, std::stringstream &data) override
Definition: TCPServer.cpp:73
+
void onDataReceived(std::string data) override
Definition: TCPServer.cpp:25
+
TCPServer(EPoll &ePoll, IPAddress address, std::string text="")
Definition: TCPServer.cpp:9
+
Definition: EPoll.h:31
+
Definition: Command.h:20
+
Definition: TCPSocket.h:20
+
IPAddressList * whiteList
Definition: TCPServer.h:60
+
Definition: CommandList.h:18
+
Definition: IPAddressList.h:9
+
~TCPServer()
Definition: TCPServer.cpp:20
+
Definition: TCPServer.h:24
+
CommandList commands
Definition: TCPServer.h:89
+
virtual TCPSession * getSocketAccept(EPoll &epoll)
Definition: TCPServer.cpp:63
+
void output(TCPSession *session)
Output the consoles array to the console.
Definition: TCPServer.cpp:67
diff --git a/html/TCPSession_8h_source.html b/html/TCPSession_8h_source.html index f5b5003..d12dee1 100644 --- a/html/TCPSession_8h_source.html +++ b/html/TCPSession_8h_source.html @@ -1,9 +1,9 @@ - + - + My Project: TCPSession.h Source File @@ -29,18 +29,21 @@
- + +/* @license-end */ @@ -62,26 +65,83 @@ $(function() {
TCPSession.h
-
1 #ifndef __Session_h__
2 #define __Session_h__
3 
4 #include "TCPSocket.h"
5 #include "SessionFilter.h"
6 
7 namespace core {
8 
9  class Command;
10 
11  class TCPServer;
12 
22 
23  class TCPSession : public TCPSocket {
24 
25  public:
26  TCPSession(EPoll &ePoll, TCPServer &server);
27  TCPSession(EPoll &ePoll, TCPServer &server, std::string text);
28  ~TCPSession();
29 
30  Command *grab = NULL;
31 
32  virtual void output(std::stringstream &data);
33 
38 
39  void send(std::string data);
40 
45 
46  void sendToAll(std::string data);
47 
53 
54  void sendToAll(SessionFilter filter, std::string data);
55 
56  TCPServer &server;
57 
58  protected:
59 
60  virtual void onDataReceived(std::string data) override;
61  virtual void onRegister() override;
62 
68 
69  virtual void onConnected(std::stringstream &out);
70 
77 
78  virtual void protocol(std::stringstream &out, std::string data);
79 
80  private:
81 
82  std::mutex mtx;
83 
84  };
85 
86 }
87 
88 #endif
virtual void onDataReceived(std::string data) override
Called when data is received from the socket.
Definition: TCPSession.cpp:38
-
virtual void onConnected(std::stringstream &out)
Definition: TCPSession.cpp:36
-
virtual void onRegister() override
Called when the socket has finished registering with the epoll processing.
Definition: TCPSession.cpp:30
-
Definition: SessionFilter.h:10
-
Definition: Command.cpp:4
-
Definition: EPoll.h:31
-
void sendToAll(std::string data)
Definition: TCPSession.cpp:44
-
Definition: TCPSocket.h:20
-
void send(std::string data)
Definition: TCPSession.cpp:57
-
Definition: TCPSession.h:23
-
Definition: Command.h:20
-
virtual void output(std::stringstream &data)
Definition: TCPSession.cpp:16
-
Definition: TCPServer.h:24
-
virtual void protocol(std::stringstream &out, std::string data)
Definition: TCPSession.cpp:20
+
1 #ifndef __Session_h__
+
2 #define __Session_h__
+
3 
+
4 #include "TCPSocket.h"
+
5 #include "SessionFilter.h"
+
6 
+
7 namespace core {
+
8 
+
9  class Command;
+
10 
+
11  class TCPServer;
+
12 
+
22 
+
23  class TCPSession : public TCPSocket {
+
24 
+
25  public:
+
26  TCPSession(EPoll &ePoll, TCPServer &server, std::string text = "");
+
27  ~TCPSession();
+
28 
+
29  Command *grab = NULL;
+
30 
+
31  virtual void output(std::stringstream &data);
+
32 
+
36 
+
37  std::stringstream out;
+
38 
+
43 
+
44  void send();
+
45 
+
50 
+
51  void sendToAll();
+
52 
+
58 
+
59  void sendToAll(SessionFilter filter);
+
60 
+
61  TCPServer &server;
+
62 
+
63  protected:
+
64 
+
65  virtual void onDataReceived(std::string data) override;
+
66  virtual void onRegistered() override;
+
67 
+
73 
+
74  virtual void onConnected();
+
75 
+
82 
+
83  virtual void protocol(std::string data);
+
84 
+
85  private:
+
86 
+
87  std::mutex mtx;
+
88 
+
89  };
+
90 
+
91 }
+
92 
+
93 #endif
+
void send()
Definition: TCPSession.cpp:53
+
Definition: SessionFilter.h:10
+
Definition: TCPSession.h:23
+
virtual void protocol(std::string data)
Definition: TCPSession.cpp:18
+
Definition: EPoll.h:31
+
void sendToAll()
Definition: TCPSession.cpp:38
+
std::stringstream out
Definition: TCPSession.h:37
+
virtual void onRegistered() override
Called after the socket has been registered with epoll processing.
Definition: TCPSession.cpp:25
+
Definition: Command.h:20
+
Definition: TCPSocket.h:20
+
virtual void onDataReceived(std::string data) override
Called when data is received from the socket.
Definition: TCPSession.cpp:33
+
virtual void output(std::stringstream &data)
Definition: TCPSession.cpp:14
+
virtual void onConnected()
Definition: TCPSession.cpp:31
+
Definition: TCPServer.h:24
diff --git a/html/TCPSocket_8h_source.html b/html/TCPSocket_8h_source.html index 10e54d4..cb17c19 100644 --- a/html/TCPSocket_8h_source.html +++ b/html/TCPSocket_8h_source.html @@ -1,9 +1,9 @@ - + - + My Project: TCPSocket.h Source File @@ -29,18 +29,21 @@
- + +/* @license-end */ @@ -62,18 +65,47 @@ $(function() {
TCPSocket.h
-
1 #ifndef __TCPSocket_h__
2 #define __TCPSocket_h__
3 
4 #include "includes"
5 #include "Socket.h"
6 #include "IPAddress.h"
7 
8 namespace core {
9 
19 
20  class TCPSocket : public Socket {
21 
22  public:
23 
24  TCPSocket(EPoll &ePoll);
25  TCPSocket(EPoll &ePoll, std::string text);
26  ~TCPSocket();
27 
28  void connect(IPAddress &address);
29 
30  IPAddress ipAddress;
31 
38 
39  virtual void output(std::stringstream &out);
40 
41  };
42 
43 }
44 
45 #endif
Definition: Command.cpp:4
-
Definition: EPoll.h:31
-
Definition: IPAddress.h:9
-
Definition: Socket.h:32
-
Definition: TCPSocket.h:20
-
virtual void output(std::stringstream &out)
Definition: TCPSocket.cpp:21
+
1 #ifndef __TCPSocket_h__
+
2 #define __TCPSocket_h__
+
3 
+
4 #include "includes"
+
5 #include "Socket.h"
+
6 #include "IPAddress.h"
+
7 
+
8 namespace core {
+
9 
+
19 
+
20  class TCPSocket : public Socket {
+
21 
+
22  public:
+
23 
+
24  TCPSocket(EPoll &ePoll);
+
25  TCPSocket(EPoll &ePoll, std::string text);
+
26  ~TCPSocket();
+
27 
+
28  void connect(IPAddress &address);
+
29 
+
30  IPAddress ipAddress;
+
31 
+
38 
+
39  virtual void output(std::stringstream &out);
+
40 
+
41  };
+
42 
+
43 }
+
44 
+
45 #endif
+
Definition: IPAddress.h:9
+
Definition: Socket.h:33
+
Definition: EPoll.h:31
+
Definition: TCPSocket.h:20
+
virtual void output(std::stringstream &out)
Definition: TCPSocket.cpp:21
diff --git a/html/TLSServer_8h_source.html b/html/TLSServer_8h_source.html index 5433d93..b4199c6 100644 --- a/html/TLSServer_8h_source.html +++ b/html/TLSServer_8h_source.html @@ -1,9 +1,9 @@ - + - + My Project: TLSServer.h Source File @@ -29,18 +29,21 @@
- + +/* @license-end */ @@ -62,20 +65,56 @@ $(function() {
TLSServer.h
-
1 #ifndef TLSServerSocket_h__
2 #define TLSServerSocket_h__
3 
4 #include "Socket.h"
5 #include "TCPServer.h"
6 #include "Command.h"
7 #include "TCPSession.h"
8 #include "IPAddress.h"
9 
10 namespace core {
11 
18 
19  class TLSServer : public TCPServer {
20 
21  public:
22 
31 
32  TLSServer(EPoll &ePoll, IPAddress address);
33 
37 
38  ~TLSServer();
39 
40  TCPSession * getSocketAccept();
41 
42  SSL_CTX *ctx;
43 
44  private:
45 
46  char *sip_cacert = (char *)"../testkeys/certs/pbxca.crt";
47  char *sip_cert = (char *)"../testkeys/certs/pbxserver.crt";
48  char *sip_key = (char *)"../testkeys/certs/pbxserver.key";
49 
50  };
51 
52 }
53 
54 #endif
Definition: TLSServer.h:19
-
Definition: Command.cpp:4
-
Definition: EPoll.h:31
-
TLSServer(EPoll &ePoll, IPAddress address)
Definition: TLSServer.cpp:22
-
Definition: IPAddress.h:9
-
Definition: TCPSession.h:23
-
~TLSServer()
Definition: TLSServer.cpp:58
-
Definition: TCPServer.h:24
+
1 #ifndef TLSServerSocket_h__
+
2 #define TLSServerSocket_h__
+
3 
+
4 #include "Socket.h"
+
5 #include "TCPServer.h"
+
6 #include "Command.h"
+
7 #include "TCPSession.h"
+
8 #include "IPAddress.h"
+
9 
+
10 namespace core {
+
11 
+
18 
+
19  class TLSServer : public TCPServer {
+
20 
+
21  public:
+
22 
+
31 
+
32  TLSServer(EPoll &ePoll, IPAddress address);
+
33 
+
37 
+
38  ~TLSServer();
+
39 
+
40  TCPSession * getSocketAccept();
+
41 
+
42  SSL_CTX *ctx;
+
43 
+
44  private:
+
45 
+
46  char *sip_cacert = (char *)"../testkeys/certs/pbxca.crt";
+
47  char *sip_cert = (char *)"../testkeys/certs/pbxserver.crt";
+
48  char *sip_key = (char *)"../testkeys/certs/pbxserver.key";
+
49 
+
50  };
+
51 
+
52 }
+
53 
+
54 #endif
+
Definition: TCPSession.h:23
+
Definition: IPAddress.h:9
+
Definition: EPoll.h:31
+
Definition: TLSServer.h:19
+
TLSServer(EPoll &ePoll, IPAddress address)
Definition: TLSServer.cpp:22
+
~TLSServer()
Definition: TLSServer.cpp:58
+
Definition: TCPServer.h:24
diff --git a/html/TLSSession_8h_source.html b/html/TLSSession_8h_source.html index 524e0d5..fa550b3 100644 --- a/html/TLSSession_8h_source.html +++ b/html/TLSSession_8h_source.html @@ -1,9 +1,9 @@ - + - + My Project: TLSSession.h Source File @@ -29,18 +29,21 @@
- + +/* @license-end */ @@ -62,21 +65,60 @@ $(function() {
TLSSession.h
-
1 #ifndef __TLSSession_h__
2 #define __TLSSession_h__
3 
4 #include "includes"
5 #include "TCPSession.h"
6 #include "TLSServer.h"
7 #include <openssl/ssl.h>
8 
9 namespace core {
10 
11  class TLSServer;
12 
22 
23  class TLSSession : public TCPSession {
24 
25  public:
26 
27  TLSSession(EPoll &ePoll, TCPServer &server);
28  ~TLSSession();
29 
36 
37  virtual void output(std::stringstream &out);
38  virtual void protocol(std::stringstream &out, std::string data) override;
39 
40  protected:
41  void receiveData(char *buffer, int bufferLength) override;
42  void onRegister();
43  void onRegistered();
44 
45  private:
46  bool initialized = false;
47  SSL *ssl;
48 
49  };
50 
51 }
52 
53 #endif
Definition: Command.cpp:4
-
Definition: EPoll.h:31
-
virtual void protocol(std::stringstream &out, std::string data) override
Definition: TLSSession.cpp:85
-
Definition: TCPSession.h:23
-
virtual void output(std::stringstream &out)
Definition: TLSSession.cpp:122
-
Definition: TCPServer.h:24
-
Definition: TLSSession.h:23
-
void receiveData(char *buffer, int bufferLength) override
Definition: TLSSession.cpp:89
-
void onRegister()
Called when the socket has finished registering with the epoll processing.
Definition: TLSSession.cpp:36
+
1 #ifndef __TLSSession_h__
+
2 #define __TLSSession_h__
+
3 
+
4 #include "includes"
+
5 #include "TCPSession.h"
+
6 #include "TLSServer.h"
+
7 #include <openssl/ssl.h>
+
8 
+
9 namespace core {
+
10 
+
11  class TLSServer;
+
12 
+
22 
+
23  class TLSSession : public TCPSession {
+
24 
+
25  public:
+
26 
+
27  TLSSession(EPoll &ePoll, TCPServer &server);
+
28  ~TLSSession();
+
29 
+
36 
+
37  virtual void output(std::stringstream &out);
+
38  virtual void protocol(std::string data) override;
+
39 
+
40  protected:
+
41  void receiveData(char *buffer, int bufferLength) override;
+
42  void onRegister();
+
43  void onRegistered();
+
44 
+
45  private:
+
46  bool initialized = false;
+
47  SSL *ssl;
+
48 
+
49  };
+
50 
+
51 }
+
52 
+
53 #endif
+
virtual void protocol(std::string data) override
Definition: TLSSession.cpp:83
+
virtual void output(std::stringstream &out)
Definition: TLSSession.cpp:118
+
Definition: TCPSession.h:23
+
void onRegistered()
Called after the socket has been registered with epoll processing.
Definition: TLSSession.cpp:58
+
Definition: EPoll.h:31
+
std::stringstream out
Definition: TCPSession.h:37
+
Definition: TLSSession.h:23
+
Definition: TCPServer.h:24
+
void receiveData(char *buffer, int bufferLength) override
Definition: TLSSession.cpp:85
+
void onRegister()
Called before the socket has registered with the epoll processing.
Definition: TLSSession.cpp:36
diff --git a/html/TerminalSession_8h_source.html b/html/TerminalSession_8h_source.html index 54d2513..9c8d808 100644 --- a/html/TerminalSession_8h_source.html +++ b/html/TerminalSession_8h_source.html @@ -1,9 +1,9 @@ - + - + My Project: TerminalSession.h Source File @@ -29,18 +29,21 @@
- + +/* @license-end */ @@ -62,17 +65,77 @@ $(function() {
TerminalSession.h
-
1 #ifndef __Terminal_h__
2 #define __Terminal_h__
3 
4 #include "includes"
5 #include "TLSSession.h"
6 #include "TCPServer.h"
7 
8 namespace core {
9 
10  static const int FG_BLACK = 30;
11  static const int FG_RED = 31;
12  static const int FG_GREEN = 32;
13  static const int FG_YELLOW = 33;
14  static const int FG_BLUE = 34;
15  static const int FG_MAGENTA = 35;
16  static const int FG_CYAN = 36;
17  static const int FG_WHITE = 37;
18 
19  static const int BG_BLACK = 40;
20  static const int BG_RED = 41;
21  static const int BG_GREEN = 42;
22  static const int BG_YELLOW = 43;
23  static const int BG_BLUE = 44;
24  static const int BG_MAGENTA = 45;
25  static const int BG_CYAN = 46;
26  static const int BG_WHITE = 47;
27 
28  static const char esc = 0x1b;
29 
30  class TerminalSession : public TLSSession {
31 
32  public:
33  TerminalSession(EPoll &ePoll, TCPServer &server);
34  ~TerminalSession();
35 
36  int getLines();
37 
38  void clear();
39  void clearEOL();
40  void setCursorLocation(int x, int y);
41  void setColor(int color);
42  void setBackColor(int color);
43  void saveCursor();
44  void restoreCursor();
45  void NextLine(int lines);
46  void PreviousLine(int lines);
47  void scrollArea(int start, int end);
48 
49  std::stringstream out;
50 
51  };
52 
53 }
54 
55 #endif
Definition: Command.cpp:4
-
Definition: EPoll.h:31
-
Definition: TCPServer.h:24
-
Definition: TerminalSession.h:30
-
Definition: TLSSession.h:23
+
1 #ifndef __Terminal_h__
+
2 #define __Terminal_h__
+
3 
+
4 #include "includes"
+
5 #include "TLSSession.h"
+
6 #include "TCPServer.h"
+
7 
+
8 namespace core {
+
9 
+
10  static const int FG_BLACK = 30;
+
11  static const int FG_RED = 31;
+
12  static const int FG_GREEN = 32;
+
13  static const int FG_YELLOW = 33;
+
14  static const int FG_BLUE = 34;
+
15  static const int FG_MAGENTA = 35;
+
16  static const int FG_CYAN = 36;
+
17  static const int FG_WHITE = 37;
+
18 
+
19  static const int BG_BLACK = 40;
+
20  static const int BG_RED = 41;
+
21  static const int BG_GREEN = 42;
+
22  static const int BG_YELLOW = 43;
+
23  static const int BG_BLUE = 44;
+
24  static const int BG_MAGENTA = 45;
+
25  static const int BG_CYAN = 46;
+
26  static const int BG_WHITE = 47;
+
27 
+
28  static const char esc = 0x1b;
+
29 
+
30  class TerminalSession : public TCPSession {
+
31 
+
32  public:
+
33  TerminalSession(EPoll &ePoll, TCPServer &server);
+
34  ~TerminalSession();
+
35 
+
36  int getLines();
+
37 
+
41 
+
42  void clear();
+
43 
+
47 
+
48  void clearEOL();
+
49 
+
53 
+
54  void setCursorLocation(int x, int y);
+
55  void setColor(int color);
+
56  void setBackColor(int color);
+
57  void saveCursor();
+
58  void restoreCursor();
+
59  void NextLine(int lines);
+
60  void PreviousLine(int lines);
+
61  void scrollArea(int start, int end);
+
62 
+
63  };
+
64 
+
65 }
+
66 
+
67 #endif
+
void clearEOL()
Definition: TerminalSession.cpp:21
+
Definition: TCPSession.h:23
+
void setCursorLocation(int x, int y)
Definition: TerminalSession.cpp:25
+
void clear()
Definition: TerminalSession.cpp:17
+
Definition: EPoll.h:31
+
Definition: TCPServer.h:24
+
Definition: TerminalSession.h:30
diff --git a/html/Thread_8h_source.html b/html/Thread_8h_source.html index 98710a3..002e4c8 100644 --- a/html/Thread_8h_source.html +++ b/html/Thread_8h_source.html @@ -1,9 +1,9 @@ - + - + My Project: Thread.h Source File @@ -29,18 +29,21 @@
- + +/* @license-end */ @@ -62,17 +65,57 @@ $(function() {
Thread.h
-
1 #ifndef __Thread_h__
2 #define __Thread_h__
3 
4 #include "includes"
5 #include "Log.h"
6 #include "Object.h"
7 #include "TCPSession.h"
8 
9 namespace core {
10 
11  class EPoll;
12 
20 
21  class Thread : public Object {
22 
23  public:
24  Thread(EPoll &ePoll);
25  ~Thread();
26 
30 
31  void start();
32  void join();
33  std::string getStatus();
34  pid_t getThreadId();
35  int getCount();
36  void output(std::stringstream &data);
37 
38  private:
39  EPoll &ePoll; // The EPoll control object.
40  std::string status;
41  int count;
42  std::thread *_thread;
43  void print_thread_start_log();
44  pid_t threadId;
45  void run();
46 
47  };
48 
49 }
50 
51 #endif
Definition: Thread.h:21
-
Definition: Command.cpp:4
-
Definition: EPoll.h:31
-
Definition: Object.h:8
-
void start()
Definition: Thread.cpp:10
+
1 #ifndef __Thread_h__
+
2 #define __Thread_h__
+
3 
+
4 #include "includes"
+
5 #include "Log.h"
+
6 #include "Object.h"
+
7 #include "TCPSession.h"
+
8 
+
9 namespace core {
+
10 
+
11  class EPoll;
+
12 
+
20 
+
21  class Thread : public Object {
+
22 
+
23  public:
+
24  Thread(EPoll &ePoll);
+
25  ~Thread();
+
26 
+
30 
+
31  void start();
+
32  void join();
+
33  std::string getStatus();
+
34  pid_t getThreadId();
+
35  int getCount();
+
36  void output(std::stringstream &data);
+
37 
+
38  private:
+
39  EPoll &ePoll; // The EPoll control object.
+
40  std::string status;
+
41  int count;
+
42  std::thread *_thread;
+
43  void print_thread_start_log();
+
44  pid_t threadId;
+
45  void run();
+
46 
+
47  };
+
48 
+
49 }
+
50 
+
51 #endif
+
Definition: EPoll.h:31
+
Definition: Object.h:8
+
void start()
Definition: Thread.cpp:10
+
Definition: Thread.h:21
diff --git a/html/Timer_8h_source.html b/html/Timer_8h_source.html index 50fdcfb..3145e90 100644 --- a/html/Timer_8h_source.html +++ b/html/Timer_8h_source.html @@ -1,9 +1,9 @@ - + - + My Project: Timer.h Source File @@ -29,18 +29,21 @@
- + +/* @license-end */ @@ -62,20 +65,60 @@ $(function() {
Timer.h
-
1 #ifndef __Timer_h__
2 #define __Timer_h__
3 
4 #include "Socket.h"
5 #include "EPoll.h"
6 
7 namespace core {
8 
17 
18  class Timer : Socket {
19 
20  public:
21  Timer(EPoll &ePoll);
22  Timer(EPoll &ePoll, double delay);
23  ~Timer();
24 
32 
33  void setTimer(double delay);
34 
38 
39  void clearTimer();
40 
45 
46  double getElapsed();
47 
48  double getEpoch();
49 
50  protected:
51 
55 
56  virtual void onTimeout() = 0;
57 
58  private:
59  void onDataReceived(std::string data) override;
60  double delayValue;
61 
62  };
63 
64 }
65 
66 #endif
virtual void onTimeout()=0
-
Definition: Command.cpp:4
-
Definition: EPoll.h:31
-
Definition: Socket.h:32
-
void clearTimer()
Definition: Timer.cpp:34
-
void setTimer(double delay)
Definition: Timer.cpp:14
-
double getElapsed()
Definition: Timer.cpp:47
-
Definition: Timer.h:18
+
1 #ifndef __Timer_h__
+
2 #define __Timer_h__
+
3 
+
4 #include "Socket.h"
+
5 #include "EPoll.h"
+
6 
+
7 namespace core {
+
8 
+
17 
+
18  class Timer : Socket {
+
19 
+
20  public:
+
21  Timer(EPoll &ePoll);
+
22  Timer(EPoll &ePoll, double delay);
+
23  ~Timer();
+
24 
+
32 
+
33  void setTimer(double delay);
+
34 
+
38 
+
39  void clearTimer();
+
40 
+
45 
+
46  double getElapsed();
+
47 
+
48  double getEpoch();
+
49 
+
50  protected:
+
51 
+
55 
+
56  virtual void onTimeout() = 0;
+
57 
+
58  private:
+
59  void onDataReceived(std::string data) override;
+
60  double delayValue;
+
61 
+
62  };
+
63 
+
64 }
+
65 
+
66 #endif
+
Definition: Socket.h:33
+
Definition: EPoll.h:31
+
double getElapsed()
Definition: Timer.cpp:47
+
Definition: Timer.h:18
+
void clearTimer()
Definition: Timer.cpp:34
+
virtual void onTimeout()=0
+
void setTimer(double delay)
Definition: Timer.cpp:14
diff --git a/html/UDPServerSocket_8h_source.html b/html/UDPServerSocket_8h_source.html index fd20e68..7a4ba35 100644 --- a/html/UDPServerSocket_8h_source.html +++ b/html/UDPServerSocket_8h_source.html @@ -1,9 +1,9 @@ - + - + My Project: UDPServerSocket.h Source File @@ -29,18 +29,21 @@
- + +/* @license-end */ @@ -62,18 +65,59 @@ $(function() {
UDPServerSocket.h
-
1 #ifndef __UDPServerSocket_h__
2 #define __UDPServerSocket_h__
3 
4 #include "Socket.h"
5 #include "UDPSocket.h"
6 #include "Command.h"
7 
8 namespace core {
9 
16 
17  class UDPServerSocket : public UDPSocket, public Command {
18 
19  public:
20 
21  UDPServerSocket(EPoll &ePoll, std::string url, short int port, std::string commandName);
22  ~UDPServerSocket();
23 
24  protected:
25 
26  //---------------------------------------------------------------
27  // Override the virtual dataReceived since for the server these
28  // are requests to accept the new connection socket.
29  //---------------------------------------------------------------
30 
31  void onDataReceived(std::string data) override;
32 
33  int processCommand(std::string request, std::stringstream &data);
34 
35  //------------------------------------------------------------------------------------
36  // The retrieved socket connections are placed into the client vector list.
37  //------------------------------------------------------------------------------------
38 
39  std::vector<Session *> sessions;
40 
41  private:
42 
43 
44  };
45 
46 }
47 
48 #endif
Definition: Command.cpp:4
-
Definition: EPoll.h:31
-
void onDataReceived(std::string data) override
Called when data is received from the socket.
Definition: UDPServerSocket.cpp:35
-
Definition: UDPServerSocket.h:17
-
Definition: Command.h:20
-
Definition: UDPSocket.h:8
+
1 #ifndef __UDPServerSocket_h__
+
2 #define __UDPServerSocket_h__
+
3 
+
4 #include "Socket.h"
+
5 #include "UDPSocket.h"
+
6 #include "Command.h"
+
7 
+
8 namespace core {
+
9 
+
16 
+
17  class UDPServerSocket : public UDPSocket, public Command {
+
18 
+
19  public:
+
20 
+
21  UDPServerSocket(EPoll &ePoll, std::string url, short int port, std::string commandName);
+
22  ~UDPServerSocket();
+
23 
+
24  protected:
+
25 
+
26  //---------------------------------------------------------------
+
27  // Override the virtual dataReceived since for the server these
+
28  // are requests to accept the new connection socket.
+
29  //---------------------------------------------------------------
+
30 
+
31  void onDataReceived(std::string data) override;
+
32 
+
33  int processCommand(std::string request, std::stringstream &data);
+
34 
+
35  //------------------------------------------------------------------------------------
+
36  // The retrieved socket connections are placed into the client vector list.
+
37  //------------------------------------------------------------------------------------
+
38 
+
39  std::vector<Session *> sessions;
+
40 
+
41  private:
+
42 
+
43 
+
44  };
+
45 
+
46 }
+
47 
+
48 #endif
+
Definition: UDPSocket.h:8
+
Definition: EPoll.h:31
+
void onDataReceived(std::string data) override
Called when data is received from the socket.
Definition: UDPServerSocket.cpp:35
+
Definition: Command.h:20
+
Definition: UDPServerSocket.h:17
diff --git a/html/UDPSocket_8h_source.html b/html/UDPSocket_8h_source.html index 0f04a6d..a1f2f33 100644 --- a/html/UDPSocket_8h_source.html +++ b/html/UDPSocket_8h_source.html @@ -1,9 +1,9 @@ - + - + My Project: UDPSocket.h Source File @@ -29,18 +29,21 @@
- + +/* @license-end */ @@ -62,16 +65,36 @@ $(function() {
UDPSocket.h
-
1 #ifndef UDPSocket_h__
2 #define UDPSocket_h__
3 
4 #include "Socket.h"
5 
6 namespace core {
7 
8  class UDPSocket : public Socket {
9 
10  public:
11  UDPSocket(EPoll &ePoll);
12  ~UDPSocket();
13 
14 // virtual int open(string address, short int port);
15 // virtual void write(istream data);
16 
17 };
18 
19 }
20 
21 #endif
Definition: Command.cpp:4
-
Definition: EPoll.h:31
-
Definition: Socket.h:32
-
Definition: UDPSocket.h:8
+
1 #ifndef UDPSocket_h__
+
2 #define UDPSocket_h__
+
3 
+
4 #include "Socket.h"
+
5 
+
6 namespace core {
+
7 
+
8  class UDPSocket : public Socket {
+
9 
+
10  public:
+
11  UDPSocket(EPoll &ePoll);
+
12  ~UDPSocket();
+
13 
+
14 // virtual int open(string address, short int port);
+
15 // virtual void write(istream data);
+
16 
+
17 };
+
18 
+
19 }
+
20 
+
21 #endif
+
Definition: UDPSocket.h:8
+
Definition: Socket.h:33
+
Definition: EPoll.h:31
diff --git a/html/annotated.html b/html/annotated.html index b490d4e..0d26ea2 100644 --- a/html/annotated.html +++ b/html/annotated.html @@ -1,9 +1,9 @@ - + - + My Project: Class List @@ -29,18 +29,21 @@
- + +/* @license-end */ @@ -93,7 +96,7 @@ $(function() { diff --git a/html/classcore_1_1Command-members.html b/html/classcore_1_1Command-members.html index 9060596..6a7b630 100644 --- a/html/classcore_1_1Command-members.html +++ b/html/classcore_1_1Command-members.html @@ -1,9 +1,9 @@ - + - + My Project: Member List @@ -29,18 +29,21 @@ - + +/* @license-end */ - + +/* @license-end */
Inheritance graph
- - - - - - - + + + + + + + +
[legend]
@@ -90,7 +94,8 @@ Collaboration diagram for core::Command:
Collaboration graph
- + +
[legend]
@@ -239,7 +244,7 @@ std::string 
Returns
Returns 0 if execution of the command was successful. Otherwise returns a non-zero value indicating an error condition.
-

Reimplemented in core::EPoll, core::TCPServer, and core::CommandList.

+

Reimplemented in core::CommandList, core::EPoll, and core::TCPServer.

@@ -277,7 +282,7 @@ std::string  diff --git a/html/classcore_1_1CommandList-members.html b/html/classcore_1_1CommandList-members.html index d5129f7..829d0f3 100644 --- a/html/classcore_1_1CommandList-members.html +++ b/html/classcore_1_1CommandList-members.html @@ -1,9 +1,9 @@ - + - +My Project: Member List @@ -29,18 +29,21 @@
tag tag
- + +/* @license-end */ - + +/* @license-end */
Inheritance graph
- - + + +
[legend]
@@ -86,8 +90,9 @@ Collaboration diagram for core::CommandList:
Collaboration graph
- - + + +
[legend]
@@ -334,7 +339,7 @@ std::string  diff --git a/html/classcore_1_1CommandList__coll__graph.map b/html/classcore_1_1CommandList__coll__graph.map index e1c01a8..95ab0db 100644 --- a/html/classcore_1_1CommandList__coll__graph.map +++ b/html/classcore_1_1CommandList__coll__graph.map @@ -1,4 +1,5 @@ - - + + + diff --git a/html/classcore_1_1CommandList__coll__graph.md5 b/html/classcore_1_1CommandList__coll__graph.md5 index cd5e62b..685d251 100644 --- a/html/classcore_1_1CommandList__coll__graph.md5 +++ b/html/classcore_1_1CommandList__coll__graph.md5 @@ -1 +1 @@ -251a4f705f19771aaaaf81524803aa62 \ No newline at end of file +20226c76e7fa481f1244ce2908d305c0 \ No newline at end of file diff --git a/html/classcore_1_1CommandList__coll__graph.png b/html/classcore_1_1CommandList__coll__graph.png index b008d2735e08fc7d3f75408312b80cc8cbeb2eb4..3fcd20cfa80c228d87c6e7d1912bbcc7faef1bbc 100644 GIT binary patch literal 6605 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 G82oR#B^N>f literal 6222 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 diff --git a/html/classcore_1_1CommandList__inherit__graph.map b/html/classcore_1_1CommandList__inherit__graph.map index e1c01a8..95ab0db 100644 --- a/html/classcore_1_1CommandList__inherit__graph.map +++ b/html/classcore_1_1CommandList__inherit__graph.map @@ -1,4 +1,5 @@ - - + + + diff --git a/html/classcore_1_1CommandList__inherit__graph.md5 b/html/classcore_1_1CommandList__inherit__graph.md5 index a49ab20..685d251 100644 --- a/html/classcore_1_1CommandList__inherit__graph.md5 +++ b/html/classcore_1_1CommandList__inherit__graph.md5 @@ -1 +1 @@ -92d6283d76fdfbefeb2fa5e34fa6b13f \ No newline at end of file +20226c76e7fa481f1244ce2908d305c0 \ No newline at end of file diff --git a/html/classcore_1_1CommandList__inherit__graph.png b/html/classcore_1_1CommandList__inherit__graph.png index b008d2735e08fc7d3f75408312b80cc8cbeb2eb4..3fcd20cfa80c228d87c6e7d1912bbcc7faef1bbc 100644 GIT binary patch literal 6605 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 G82oR#B^N>f literal 6222 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 diff --git a/html/classcore_1_1Command__coll__graph.map b/html/classcore_1_1Command__coll__graph.map index 50507c4..506b8ce 100644 --- a/html/classcore_1_1Command__coll__graph.map +++ b/html/classcore_1_1Command__coll__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/html/classcore_1_1Command__coll__graph.md5 b/html/classcore_1_1Command__coll__graph.md5 index a172a96..d6e49bb 100644 --- a/html/classcore_1_1Command__coll__graph.md5 +++ b/html/classcore_1_1Command__coll__graph.md5 @@ -1 +1 @@ -471dc6f91a8efb50ebaefdef3089f013 \ No newline at end of file +8503ee23f14367c839d780b18a886ac0 \ No newline at end of file diff --git a/html/classcore_1_1Command__coll__graph.png b/html/classcore_1_1Command__coll__graph.png index a0d4d947ac282331fbc07fef79efe1ae1e40671c..2ac9789cbc3ac74069c37f3d02963ad6387e6382 100644 GIT binary patch literal 3589 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 F{{;CBslEUJ diff --git a/html/classcore_1_1Command__inherit__graph.map b/html/classcore_1_1Command__inherit__graph.map index 7f7aeef..9fa46be 100644 --- a/html/classcore_1_1Command__inherit__graph.map +++ b/html/classcore_1_1Command__inherit__graph.map @@ -1,9 +1,10 @@ - - - - - - - + + + + + + + + diff --git a/html/classcore_1_1Command__inherit__graph.md5 b/html/classcore_1_1Command__inherit__graph.md5 index d8100bd..0996b62 100644 --- a/html/classcore_1_1Command__inherit__graph.md5 +++ b/html/classcore_1_1Command__inherit__graph.md5 @@ -1 +1 @@ -0bcaf936db61c2165b3294018e8b79cf \ No newline at end of file +7ec44b2f91bdeca7f03e5598df8c38f4 \ No newline at end of file diff --git a/html/classcore_1_1Command__inherit__graph.png b/html/classcore_1_1Command__inherit__graph.png index 5513de646ef336e82d5b444e4bc87a6a92f6e3a1..758334118dfb69feb83901573e4a4574edae654a 100644 GIT binary patch literal 16017 zcmdVBRa{-ovM)Mu0>Od=mjL0z-Q68Run;u3ySpX9-Q9x24DJ@(gS)%K#F@w)thLX* z_qWg5=j}e+=AmJXrn{>~byfAhszN_0Nu!|;YOtlJf~UKEJ@rArFi z0oRLp|L}AXdRW?(1hw$^zLH<8H+}%U?;8{(~%=XUC zm=FH}VOquP`NJclpj6k@ak8*rx{z;D3kc{;Q-H`}$j4y@S?pE?l$DiLq$%{)&6q%u zFmrprq@M`3d4Wz1(E}am5=FD%fb~sc_CV$WZ1kIdA2+y8IB<7xW+I#4rq)4a36Us* zhwK!m8?;^mRE;b$s^?@)_6NOVgHb@m@E+*?Qhx}zO>bOv@GJzrK@<1vvh;Jv3JN{LM4VAn;QLmd18}WR$lyV*=+Jz^B#Yrw$nm1fN)=J~;UFNtWi&*i8M+{ZoG86CuC+Yh&VVB(blW2=X*{E;}t_=*g&BIiF1Y`=f zqYF=NR5WV!ZYA+#9p!((4y$pR;&q0*-pc|8`=|54LEVbJ7$evZLh$}+0PpF@x6mUT zghL*cS|cL)_+xpF*|)6uKE_8yl2uV#4OG%p>66->TyLCxyR6)c+c_X3JJI=_Z!mp2 zg~~|wyivbiaU$$y*xt^wp48rD^Eh}$mDh0jrNOP2MVwDen9Ql&?@`TqV&>~ba?(yk zi%ap{)dmq#RsO9tlyCE{EG1-XD+F7wn_Hr)EQzjByM@B_B&BBL$xb)RcG7dRcYZ62 zPHZIz^yz&@1H9Tf_5S`8lb?6mym++8k1cKzlOJq6#)mViw@af@U;d7#M8zD1p&11& zE3K>;Mq+9YJFWQnW)ggV?+u$!xT4M084(q;^;qG=Xn!ndQ&qIUt~i?(t)_APal zW4T{%1NhBb8xmZ?&1XdMkWVve$!FD9gSR-9U@VGc*L%WC8AoJ_g84bKl;uQ4=xVa2 zR~(7g_L|7#%v|bs%v1<5Z-b3G|8APg8xTm;UjV7N)4L%0 zdI}9yNuqGaq@Dli_Bb-ugrPaBEZXPz=6;Ec+Ssgj^=r+(Ox2P(%}zEwmL;6jZS)c! zw1Z#28ZxC%mOVReF_Zr;*j}oqH(pcE%t&pk%JF4}zim29f0*ZgcTDV~pO1?=*P|zO84U(J(#G=2Mt|`jFg{5ln(U zWJ?2Sw2EEWSn6NU-mk)$iSWF8gpz0W;3xlNWQjd#Z^gfTy7>T862*< zV)T5Q+J5;>4xtY}c_kxf&FL_Vl?!nQQYxjpGPf-M&4|rISs1T@F$?V?ELEX{qxZ9< z(#(^ZQcz3p%4^FU_d)TWCTIB}zb3Mb1&@V^N$zk7Sx;yi!{hF!*1IvO8@Oq@gk-w`n zNMx4~IV`bcCP@vo&IDMH4C23@_lAS<-x7)yH#Tx`T;&&c!+Y4T{UL-I8P%-9@7O!4G!=# z;Q#G;5dA05g9RPI|Iq%lgtn@kC|S@ik6rgp|exOwXnb9sNhP3^%ByX%7G zLIn!p2gFycOA>rLst*zAH`-i_AFVTA$R^ELZt><_tv0EBqdHv$1G;dw3gzRZJjBW-W>Za}ZIC;^u%i6MA8G6`y*RvDv=OQcU1QA8I zbq~mshH@<@-p;!p8vfl#RN6^y$n+VPI$rMCzl7TT13f`*cD64(D1t*eGu8AKYI2_u zBxo>!Mp{~da{W5m$5QfrGq?Y?Db zD`2yT!d#pK42iDTtHo1{MS$&t~NpOlw5k1I7|#7aNLbQscX{urt5{o(gk3SdHbGz z{f41WkEYJH>BSfN)*P8a>8l)}uA*-2fM^Ig@Ml56pE%AZpFMO8A6Vde!M62|uJ-DP zCtQ^KbVYmb@!F~it}kuKKKsvitOmRO9NK1Q!oik`$K5tYojddKv?aOldeY;PE|H9R z%J}yt8toF8oXR<+R;9ZieVF_3hTz2-d3bq$s@dsnfn<<)?A}lXeIujUax=RL_8y}h z3h!_-=uaKT4Rc20r#U)%f0Gfd#60lw{Mgf;ZX%f3O!uf0`l;ICFpIEOaNWew*TL5M z9Pj16KW`ZGPZMjjSXLjNf!Y>p_lVVQXSF}|aMW_>V_aO;<3-nmI)C@{kBGxEB}}xs zUNTq*9^ycyB8qB;t& zy@Su}w*90=xgeRop^l*4Fd!T;V1DrS_6eG|c1rqj$XThbKiIJ$HGS@YM8MNpUBr^& z^EB6qkoPE=-Yf)}LM&Zc`=6GkGx?J7;8bRAYf|>w2$Shin-TYh#?cq1mIr0*?ejlbPJa|Rx%pqetW~68{CNVKVaf4U zJN)#OpL9H$bW~#HX8d@G`M}l6fmHMz4Os9Rn#yJ@L-!%U-QRY1ElbL1u+ip8o~q6;cU zgb-s2^7FSmy#I%}$PZfhlQnOm6oM4Z5X|}qpB2C0yJUS>nA{1%VgCl^;9z+H6*XLt zn2k+EVddEMVWO>GmhDo#2O%N#qfKsD7|O*3Wm%3$VeBvwKIYI6=O0%$H*O9NYg2rX z3|}J|;2fTwwqy%J|7^ruGjtpLU8Q-{T*o2o?}* z86IH46q}d`4MMWZOij%>QD387<9yKj=>4p0baQAzNcfN(smMGrX#czyq%1aM>Fw?OBh zJ;ng|kWkq+*OTi2IE=7x`uStR?A^DBnO!+2i=3wGol%i%07VnKqg~R`LU|MB>O@q? z1z_;a@xo;Dq%38d*X_!}eMg$;-qPw!2-Zj%FI(CO~%0k{Kkt>cB2YFpQQUpm5JZ%nGP zGE+yl!o@jFfD{Q726*W`O1{1aCrfsfy5Y@!FF}EU<>B&37}2L~o~e#J^NXGqN=iGA zdCq*Jv$J>WT@G|~k%q+l!cu9W+u#g+I@_WFzR>P)6%sc_a};CV%!>R z+i01XUQW2-%=T`?f4Z`=PS}p|!-_Zpkke*hH$}Ekq@derZzR!#HJ62*oseFj9)W<^45PvO7i5IuiRH)GlF{^7FP?o%tWDsN%& zJ#nV`&!5kF%!a|p>gv5MZtu?p*S}L;%vN-zbFcLQ=e73sY>tlZ*)y-Ywl*;R+;+`3 zJyylQxL{*@x@%^p+3U8R#SlRTcfd*HDlZ>y0m!64)7t(k$kBJym zSW<$6$+9x7R+OqJ;6uo7GQ?_S)g4bmGgpKEQ@q`qfb1RQxi50RvGJ{skGiz9yxAT) zIy#<$X{HemOwL9IZ7^JF7!rh=mDeY=CB~|lW*V=Z=q{9<)7JPO7 zEh2j@7viXN{aJu8l7)2w9qlQ;!v=ywmVMvxQUTq$Gi2GfSu}@-SFln#5OYaQ{qEpE zu+q|Cvkh6s5~QFw%g@JFSHpR@Vs&z~6t>U7jnIa{0boL8Z9TnHsx7WbA>7-{!`+Q3#BAZC#=y2_Xpf zb!}NK0_a9}N={CQcEjr50}g;Yr>85yeuw41e_L-4WHvSRBIiy|3!HjLdU%+sO zJqS^&&SrQoa~y=p9kVAg{6Ur&3+p`&j>Em9v5Jb;T&0bGKr;r}>aUx|Hx$Li>k%Yg z=cDNb^qQtMUm*F?XI?Kt1V&fTvls0a*Wk`{qnbe`-6S(pyblrz*{6-}7wh5g^+(fO zEUynYw)(lt2-~O=5)y=cAMX!m=DND>ibEKt0&oynjD8CI`a8 z=~I0)O;0`Wba%cy|Bba_!5UH3@v=a#sh7>qo$2KPZfx|1Z0Fye`ZW6ascg}orx{Nb zYHQcSgY^WL$H8n>HYkv@|pG;?qq?I-n)^ z`LPkFig}zq3XmIo-Rh4HLAf0s0%Ry#=og?^ zZjQ_jj+b-wJ8n==A~PjnK(WA09X`Ku)0UNXhR=h|dLqv$o!iUHVhP#7dwWe{r+jtC*c9794$iCWkyFp zravn12>3nw^EzcnlF0v>oJ3I`7d$w)*Q^|gEvJam()#|&I9EnGjw?#pO(xw49bJAj z0>g?jRBn7YLlg+{y6RSVizGc8TUWQyTnLsfx9t^<3j^o&HcnHMO>%6mek)IUujL;O zRKpL<;Jc0PA!r2-PC{DhL38uhmS$HrcB@$WOwc(RgxH+$IjlvJT1aSW)J7Z7-9OPI z-*>a(ym_N#Yr8Zu;;fvR_MxfaBQ3p=u-`K$&mBNv?7@M35G%PW`FMbog{eb>jIjxB zbF;0gsw$70?T`7W^pGeeVqVAOaQUB^{65rz^!8RVVq&XntprckRzH6H_`KGR2bhR; zL?e+}V2+0nSqE;i#_M$igkJyyCZ^Tix$s(!<8U-X8oA4_y zD`}+E{CusG>*@O8qO9~!>chYOwE(VZiP^AeD>Pk+l#INoFTAS2%PZ-2+S=i?_tfS^ zCMQQn(?`Tr9$r;ttfm1PMDRc-?sI+?~``42}V%nvkFa2giwogqnhnflR#3Ye9w8 zyW)-6?Rj1pxBPHnS}MevRazPtuj&Qp6~Ma3Im+UPun#y*N`4M&x$mq%A`@yo>Uas$ ze4W?x$(@~=${65Fi|6(AaPkEkTf}PHXhtUgTl~K&BS@pL4u~E~bTS$MYkFEqTT6;n z05a=n`kY)&ILu=b+uIEa4Us0{AjFBXhQJuAyw@>m|7%R0tLv$OiOD|zyNvw>q($Sj zmq(G_lp@*D$;|>(d+grBROia$y#kaLJMZ6WCo`9)>^N2!e zG@2R94407^i2Dn0QN|pgR;AsyHT5tBADoYaz5(MBAVAYqtOjgoumac+Z3&rO;n|wg z=^D7T3%{??$&6BSPN}kTmXD8xHLEsAfX1U(6Bry?2@JL<0|qZIZec-y?8qBFp9pK<^;6x92+@|N1NxI%B1BHpIpD|?D&#e;B|PIuu<4!hFjhK~Bv zgS>*OVq$K&Z6*49P4h zstPDU2MTpSSaR$EZiqfL8aUAOmH7s-{@YlnRDV$A6V1YArDXuNxO3E%j&j(qEmlVq z(FP!%0ihTFz(FzwWXyoiTu=aPtKJrEwf5i!@RD+Ub=FHi_OFWCNv%7iZrhcm^>*`H^oaiG^V&aS6_!TMe$ZDI_e zz+hQX(Sr)@Nj-quC9kpq&{fE1%W^{$PR)GyR|JlHypG|YQ(JV}|024*y!?;Xt&mO& z9xmZSEETJpVJn4rxr@sNq7k6(bmRjzPfg<%f%6gg;Gi-%Oz(U58{$ikfRKp2)%2>) zrf^-%a{vq(7O{5)mSX36T@m4WD^Fdc&-eM!%Kp5iOp|hI>UA*x|v>N=H}Ln!&-Xc`&P3W+d%GkcubJy?a3G zKdc7e@1dcgqiagTP2RjhA3ivZWvp>N!Q=O&YiLHmnxv^lR!`x75hg9G5oa)M+p_cBE9P8N6>lKrbw0*>>vqZ|C`$w?N zj64THQv0v&9v?8|h)_VJ&+cTD(4&5T5AGmv3jHdX(()TVRJcUsnne2g)GPzH-78GK zsQ#;*W7yX|*HwCOZ*usl;ODo{1u^zt--=L51=U@@;gnsM|3wML+&eiO6Mp#K7o%xs zwpVlGYACrAXgF&%YFD*6p<^`seSDq~dkteVbIfXdbn0CkUztXJt=?N^8X&F1SS6v#Xv^A^gE(d{j91Qzm;!mOPu0oP;mLk@1eeS z)l)bZylluW#NsiH8$t>lo%QfC*%e0rYRMRmDOOlW!ar#=vU}po;?@xkKN=uvK0mIb zK7NFYkV>%gIeiz?kk0C0fB*cURPxbVR@!dk#~_R#)5=rNsR?zGU*!j>ffCDMieOA_ z-B{6qQuCvIH4XBbd?LOm_p`khf**Pw#k)k+&gNzx#bky(Zl3ElOzFW=;JTUsQcM&A z6Ga;m5<)S)=F?%=>&uqravqMQiM8M#F?UylW7v-2kA4P_3$G{zj3+ZSWp*2NMpf>}hXlNla5qrMq#w;0X+2{bLa@^`pGW)u<%Aq<5rchnh@jlwiK3F0H!R z;p~Dxd&eO7ljI#)p`*sIUX7K2X$KnLOH+UF8;xppn|GGo7_D!#P5R5rDn>5Zk(hWL z48KNe$U!VkDcuBoe9gTzbtMrvb=9f_Xyc@LIHv=!a>G37j3Zefbl&E9)ST z6Wk}o862&L%r;jEoDac6*pn=$j}ko&wKn5&CZ5q~%6{Wv zL-H#jW-D1}Tm9LlW?8wYU911;yp&{qd_a-oi(D99c$T^^9_~s?jvdc|h6erE0 zdLc8(-jirD3WRhO%C8;h9x;PZu&!|%*HMY(3L`{7&Es^5jBZm2nnr-ON}xMJZ{T_< z#A3C^ob&93V&8u1GQo1QN|qIKA-L&pMpS`SG%2IB`At*t3Fc)vR8i5xZwLHhfgjb8 z)~z(Z(K*RV#sSJ_AqpG4~Awq*c!@~uCfCnf%d;e6meIhCq!hV*^* zr5aZT!B;(LQ0w9*)tN(_=I=DuXD45kM+-7>zA598(Ay?S*<_kjy5?hfioqXvolSeK zoJ)7ap>m_6vTv96^DH)B3NjQ{w+f0)H<~yZ>Wa^;an@kC_lIx6 z$~Td0vAIWzZK@isUU8KV^JTv{#Uhs`wQZ)qf7bDIOUun#iVE4z7)j~8_{cD4L_pPt zyW#hxHvRH<)a^o#uLYHx+pYd7&Zl(DX8f8p@X^iD&x+&DZh(wqWg@SC<|`r<#z#g* z6qG&5TEG1knlgXL{IIG!9`tpDPm zHtyS(@^li{(H0<}sMI2^57sKX)%D5LYf63OuY)VQBk<@c^XZ;p#1o|N$KML1H@a5X z6{NGVuSi~l4D#h!AN$(AbvOWroeL}A{>&Ny&sraN*qL;v-VU?&9dnoQ(O#{j4&2|< zr8=1B820~)#oe5>!gZ+|@QS`zY}mortF5`CEZ;w}(65;da+ScHAz&$*AWNwe-bu^Y z6SApQcU(YZQ`2#FT4a1VF3sf@TiyR$c(^L+@rIum$5;EI6xK+`-Z#Ot zC~+bY)n4eus-MuACqJs=BoE~FYqsW)M@SZkK+&8X6iu6H3m_RqI7OkU95&ww5*bCv zGe>H?Cj2OJ)q>9nTi4WuAoa?yJKEt$rJVm4@EXfVhaF*E`*VvOlj4B$dvJM zYQMnNZYuA+eDz~ui#Ir^pP@C_idwGQ|6zmH6p00l6fyRcE39uyrE{|p>z!8kIr|r1 zSZmKkv`oY93+wzerGCp%C#zqjF2`>dlD#MiWn^8QrbIsQ_~6y*1Fv(G%4qVuMXQnd zYKzS`v8B|y886}|6M1o$W3wJ5cgOquw0I}z>_FlN|F#UPJMs@Ysr!@D zGWr;rkS_zQMZ>qhhqh(B_NU+P^P_3+*4&@C*p8Lf!(bNGwF_oii9P@^GmVF$c`{0m z%MNc@JM)*Vz&oBv--BK={hCR=>~j+`(i5@-`gYBv;J>}z7P*ynS|65EuSun^D`fhz z(xA{Ze&H91gT;E+-H5!v4{B}(>iYj^jjh5tf_0GF@Xmj4rKt2>d9Eqdfpa%S@t-88 zre{0Xu-ji+e~-)FK_aIoXExi|JSpD$et>drbga~2nnYFw~qA{ z_Zg*DqSoKxzHnRjRIA?RZ@%jg!1#K~d6sswEveTGUy)mXCr-|lu4u$^5TcrKWxUp` zN+us3=AlPq=6rL-g`y>Nv|iH_afa2uThXp^o}cYtA?m7;c>GvR_U8BgbC_u5rIN(2 z_umM#0;y6V5N9CfXD|CLcRmpTB|jX9i&lj@R+kQs(U;hn)qa|5V8}gDAU))dItQAoO|+_({U$-3UbnNL1uSl=}A+fZ%#+bDSs0t5Vs-jW~SCWgr0o4)u{DcjpBJH zZWIe^He=@)Q&umeCQuH6SiJExdp3Ecbm^XE0sM5J64BZE*9f`!SD(V@gVi)IpVMS^dp7hXQrk_v z>~0fQGgIEQ;=#dx%ir}Bj>Kx&X`}ox7Dyd3i(UaST=d3nE2Lns!rdHu`e)}5O{ca4!>0;9=%}kPf&sf zdAaH51Z;44XWaLX{f41@h``0_8oQ>f6X^X#{-1o={}i$OuTSV>he$sWi`Ketuw&-tZowj>jiWJ<;jtm@g_opX(@?dFQJ+N~N-nM=%7ruje*kB;a$ z{L)9KA3OY5517f}0m#tR)m8n4dYy>}B=aGz2LMoA&)RP{C5hu@!NuzXLu^^X`h~x! z{k66I9uf}s8)K?bhh4HUH;MLzHWB>TCJLgHv&LZwYD~) zNWsB?WnVy_8hN@XdLe?~34WCc6bJyGAcvyLO81LRYe7NvELv$%(b;jZ8!D%uPjh~T zPDSb(mLb~#312Orw>xb7AU`TBxe$;=M-IcmnaHG*Qj(iHU@*;Ndf=Sa;paz9y?|$# z+#8oIxD=`cp7U*+Sll zQpUWrqGIl0Ic<=rs*1`#wBO8(IgTpnLC9!8_7;_hm{?K^l!=#jccU8{2%I(w|2F3^ z>x$sl%GZGB!|GMPBwz{UOU?_cupKnI}PdTkH0d5Uo4nEzra5CcFbX%<&h z+}P|*1MOky&6db|4*p-&H5Q3OuweUauAJs{9pjxRds0+;mJ~vOOQ0_$U_V{Svs4Y{m~(CKc_EhHYNZ)6J};+CfbmI6;XZVrou|g?YGSy zN+u=}*W+{Cr41KNYpWFXd~^T81D6v?f{|F@b}r-T%!&bh5?Gzl<-+uD_RUqC92VT zd&$-dY;xxB(P7Lnb+X|^B90eb+)fs)Q1RZL-vU(yU+ymMF3f~G#09<5j@N{hH1OJ` z;Hp5c!dYc8RWX_#q*+PKsE0v#= z_&_vdb=50X;bEah_4-Opk_0`*@>OVlg`tc^5YU{iKH2ZbWCsO(FYd-FsIB!T%WnJr z-NbBM$!1AIetH9R@OqA7X=!P*c`gPn_Z)zo?avIWO>ZCrC|VWx>^V62nBA*faK?c~b(|#^={<1hlpq z+MNjk60Fn6QUinzRenwd;@}uZk!8=9C6_eZu0n5xUnz`yrO=vy0D)5K7(nYg+#QmB z{mLrtwr~J~20qX}bdp7n0BNq#RKCh4tY5_#(rW=DI?8CugtDlp>%k-{FK@5ki(m@* zdenGM@2f21zaFgURWsX4uj6?tYHBUu)5!VywyCLY?~U@Se)?2xo5`Hz##SREm&TEYg@@l27+sgy}0FY3z*()wV5)RM8@~OqyA}KCz`Fw+4$Xf=> zg~#9WHLn_0D$=6sJF{?y@kk0>ws27<4{MW^Cf(X4Hu7sN4g3$osX$cy841as7|~~d z@c_gy42XC68+>y7YQF(wt&F6(KxQi%THK-uI0oc^*L1J1L7&`#*IV`j9nUCyPP+t; z42ZBWx8g84O{HV?B>Y^lrR;?$*qKU8zq`aGCA-#Mto8H;w+C5 z*EYEA;$UG5RlNGtzI{M8yx64R<1618W;QX#>HMw!ml*i?>-zteeIVX}`rcHoJEBDF z^$6q1`*sD^^!DzQX=40jljtM^COxMG?Anr-ov7$wZ+OjO{R|KxoZdcI$n1?v2U381 zecvqeqn#u5<$^k+OD($KU<+l(YuEE2|6OTh1{J>MjK|Af0&m|Dq^=*etWADC8;E@~ zG~}3vjwJK$l>#&cR3F?t5dI*e=M^@Mg_0 z*@1z9);2b1Z{JFgg#0ckOD-)-4&w{!L&3m!Kj8WYXx-g5HZ};=ob7{yRTULel0@S2 zGIDb7)RY4jfdl+Jn$A5wHKjVO;{SkrZq`sy!T7jtPVsL@J})Y;+8~Ara0>rdnHKOL z|CRUu?+UIMXXC!9l_{hz1jPfxbmpm7kSD;UF4`dsUt3J)gjlO&qOO;puc+$q)y;g4 zQ=Mk3ztr^(2q z1NX$~I5tM!+K+7gt(2zW6`!pmec`jWMv z_7LX^ek7;hd~FA_4A=JX@&8XMxoXxBGhddC{=m~O zlybeP+dx_kuBbMeozd96PleOeYj4ZzC`tPu-%&Fc6(SaFKf9%v?^!$Z>GLF8UA8NP z@^+6rdZw(5goXlKk)QAmNM8QgI;2{}a646EH|rqGXT|(-8JTYWI{^oP0n64aHJptC z+cyfdCDF=FELkrrzhqijU69(vc{Yn5ddUqLfbIe@QIL^~&0xmn+L#FYR-xV4Z0*v- z=hpe0n`(rEvI57YCBp03{8c5iXW++cVYKcGO{aMP%KO5%3%5&*?t6dYHSiW&w;z|= zXmZl%%$C?XNATGF9g@>z76K{n3tN0o@9o1oX|v%Ct@Vqo2lYq$M1cOcmDMv6GIf-p1V?9ycO9wG<_;1kF21&J?h!@1*V#2T_vV@H0MMVkNqN>_tMo6l%4>+Wkd_}e z5W4~zcbnJ!LKLRw0Vc9%3DdPxw(aCDFZb`okb4A0fMM^ z(*{}4+6j$84?DKo{avabq=FYbsZTy`!qn-0Le)*-34%A=>bK}a^79)x=S!2CxB%>W zna{yr5mBk*e|fLZKbzA{;NmTTgV0D{m!&S9Md?wWnB7{G{l`w8lAZ-9AJV(mtvO0_ zlWd?lu)5ZE*z%F04PE#pNxfrCQnvRr;B?(PIQDY0`4H>(=tHcahCh_KyDUTL!JK__ zvPblvAjWy3nK{cC0AhTlQfiksg7xgQc#k^v3TL|s4=555m6uhLQDNnpT~~rpWdBWe z1Qiy{NctC)D6z-%#~MHsv*I$uKS}EK)IJwPh?{6b1gTMT5*xRkt%vVDRWWiM`V{6@&fFoa7 zI#0Pp5e)w%L!rt3hl3voG#{oQY-^d%UN?OMYGLxuPaYc66DHwm7?@U6?6Dui}S|*N`Ss5&>w(2l+mBur; z-rRAPhB|K4QS`A_YIRY-q8ILRVl^|>r4{_YVO%#qQr<~L&mkq_8JnpOj`a&39isn8 zxJ{VGx(-z(FZm=sx5rW`(^_Ti-cWxiM_0iYt%Dmk(ghUPEk0eZx)v@DG5E;;eAA-8 z9hVaSyIXYOM1s_fk?nuNrbwESXG(?p@M~00?I1PWQ=enL4OtPs*j+U*y%A=bzc3G1 zSe;V#IFDsGrB181+Ny1-@aSg>=Vc$BkWf^T60OP192a&wLa(zVMmghQr8$|XA5&Y2k)6s9Ts5doi<03RROQWdcEunRbM2*h%XD2F{T*&%7SA@GL7 zD=WI>E}NpFqOhSz(+EP5+OID8Yf<(8p~U(H37^}yKiXd35f}-Ql~j_b6f+3?zW^)L BB2@qY literal 15218 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 diff --git a/html/classcore_1_1ConsoleServer-members.html b/html/classcore_1_1ConsoleServer-members.html index 01f3174..dc38f98 100644 --- a/html/classcore_1_1ConsoleServer-members.html +++ b/html/classcore_1_1ConsoleServer-members.html @@ -1,9 +1,9 @@ - + - + My Project: Member List @@ -29,18 +29,21 @@
tag
- + +/* @license-end */
active (defined in core::Socket)core::Socket blackListcore::TCPServer - bufferSize (defined in core::Socket)core::Socket - check(std::string request)core::Commandvirtual - commandscore::TCPServer - connect(IPAddress &address) (defined in core::TCPSocket)core::TCPSocket - ConsoleServer(EPoll &ePoll, IPAddress address) (defined in core::ConsoleServer)core::ConsoleServer - ctx (defined in core::TLSServer)core::TLSServer + check(std::string request)core::Commandvirtual + commandscore::TCPServer + connect(IPAddress &address) (defined in core::TCPSocket)core::TCPSocket + ConsoleServer(EPoll &ePoll, IPAddress address) (defined in core::ConsoleServer)core::ConsoleServer ePoll (defined in core::Socket)core::Socketprotected - eventReceived(struct epoll_event event)core::Socket - getDescriptor()core::Socket - getName() (defined in core::Command)core::Command - getSocketAccept(EPoll &ePoll) overridecore::ConsoleServervirtual - getSocketAccept() (defined in core::TLSServer)core::TLSServer + eventReceived(struct epoll_event event, pid_t threadId)core::Socket + getBufferSize() (defined in core::Socket)core::Socketprotected + getDescriptor()core::Socket + getName() (defined in core::Command)core::Command + getSocketAccept(EPoll &ePoll) overridecore::ConsoleServervirtual ipAddress (defined in core::TCPSocket)core::TCPSocket logSend(std::string out) override (defined in core::ConsoleServer)core::ConsoleServer name (defined in core::Object)core::Object @@ -90,42 +91,40 @@ $(function() { onDataReceived(std::string data) overridecore::TCPServerprotectedvirtual onDataReceived(char *buffer, int len) (defined in core::Socket)core::Socketprotectedvirtual onRegister()core::Socketvirtual - onRegistered() (defined in core::Socket)core::Socketvirtual - onUnregister()core::Socketvirtual - output(TCPSession *session)core::TCPServer - core::TCPSocket::output(std::stringstream &out)core::TCPSocketvirtual - core::Command::output(Session *session)core::Commandvirtual - processCommand(std::string command, TCPSession *session, std::stringstream &data) overridecore::TCPServerprotectedvirtual - receiveData(char *buffer, int bufferLength)core::Socketprotectedvirtual - removeFromSessionList(TCPSession *session) (defined in core::TCPServer)core::TCPServer - sessionErrorHandler(std::string errorString, std::stringstream &out) (defined in core::TCPServer)core::TCPServervirtual - sessionscore::TCPServer - setBufferSize(int length) (defined in core::Socket)core::Socketprotected - setDescriptor(int descriptor)core::Socket - setName(std::string name)core::Command - shutdown(std::string text="unknown")core::Socket - shutDown (defined in core::Socket)core::Socketprotected - Socket(EPoll &ePoll) (defined in core::Socket)core::Socket - Socket(EPoll &ePoll, std::string text) (defined in core::Socket)core::Socket + onRegistered()core::Socketvirtual + onUnregister() (defined in core::Socket)core::Socketvirtual + onUnregistered()core::Socketvirtual + output(TCPSession *session)core::TCPServer + core::TCPSocket::output(std::stringstream &out)core::TCPSocketvirtual + core::Command::output(Session *session)core::Commandvirtual + processCommand(std::string command, TCPSession *session, std::stringstream &data) overridecore::TCPServerprotectedvirtual + receiveData(char *buffer, int bufferLength)core::Socketprotectedvirtual + removeFromSessionList(TCPSession *session) (defined in core::TCPServer)core::TCPServer + sessionErrorHandler(std::string errorString, std::stringstream &out) (defined in core::TCPServer)core::TCPServervirtual + sessionscore::TCPServer + setBufferSize(int length) (defined in core::Socket)core::Socketprotected + setDescriptor(int descriptor)core::Socket + setName(std::string name)core::Command + shutdown(std::string text="unknown")core::Socket + shutDown (defined in core::Socket)core::Socketprotected + Socket(EPoll &ePoll, std::string text="")core::Socket tag (defined in core::Object)core::Object tag (defined in core::Object)core::Object TCPServer(EPoll &ePoll, IPAddress address, std::string text="")core::TCPServer TCPSocket(EPoll &ePoll) (defined in core::TCPSocket)core::TCPSocket TCPSocket(EPoll &ePoll, std::string text) (defined in core::TCPSocket)core::TCPSocket - TLSServer(EPoll &ePoll, IPAddress address)core::TLSServer - whiteListcore::TCPServer - write(std::string data)core::Socket - write(char *buffer, int length) (defined in core::Socket)core::Socket - ~Socket() (defined in core::Socket)core::Socket - ~TCPServer()core::TCPServer - ~TCPSocket() (defined in core::TCPSocket)core::TCPSocket - ~TLSServer()core::TLSServer + whiteListcore::TCPServer + write(std::string data)core::Socket + write(char *buffer, int length) (defined in core::Socket)core::Socket + ~Socket()core::Socket + ~TCPServer()core::TCPServer + ~TCPSocket() (defined in core::TCPSocket)core::TCPSocket
diff --git a/html/classcore_1_1ConsoleServer.html b/html/classcore_1_1ConsoleServer.html index 49db0af..dfb319e 100644 --- a/html/classcore_1_1ConsoleServer.html +++ b/html/classcore_1_1ConsoleServer.html @@ -1,9 +1,9 @@ - + - + My Project: core::ConsoleServer Class Reference @@ -29,18 +29,21 @@ - + +/* @license-end */
Inheritance graph
- - - - - - + + + + + + +
[legend]
@@ -87,16 +91,17 @@ Collaboration diagram for core::ConsoleServer:
Collaboration graph
- - - - - - - - - - + + + + + + + + + + +
[legend]
@@ -110,14 +115,6 @@ void  - - - - - - - @@ -146,12 +143,10 @@ void  - - - - + + + + @@ -159,11 +154,12 @@ void  - + - - - + + + - + +virtual void  + - - + + + + @@ -197,10 +197,6 @@ std::string 
logSend (std::str
 
TCPSessiongetSocketAccept (EPoll &ePoll) override
 
- Public Member Functions inherited from core::TLSServer
 TLSServer (EPoll &ePoll, IPAddress address)
 
 ~TLSServer ()
 
-TCPSessiongetSocketAccept ()
 
- Public Member Functions inherited from core::TCPServer
 TCPServer (EPoll &ePoll, IPAddress address, std::string text="")
 
connect (virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from core::Socket
Socket (EPoll &ePoll)
 
Socket (EPoll &ePoll, std::string text)
 
 Socket (EPoll &ePoll, std::string text="")
 
 ~Socket ()
 
void shutdown (std::string text="unknown")
 
void setDescriptor (int descriptor)
connect ( 
int getDescriptor ()
 Get the descriptor for the socket.
 Get the descriptor for the socket.
+
 
bool eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
bool eventReceived (struct epoll_event event, pid_t threadId)
 Parse epoll event and call specified callbacks. More...
 
int write (std::string data)
 
@@ -173,14 +169,18 @@ void write (char *buff void output (std::stringstream &out)
 
virtual void onRegister ()
 Called when the socket has finished registering with the epoll processing. More...
 Called before the socket has registered with the epoll processing. More...
 
-virtual void onRegistered ()
onRegistered ()
 Called after the socket has been registered with epoll processing.
 
virtual void onUnregister ()
 Called when the socket has finished unregistering for the epoll processing. More...
+virtual void onUnregister ()
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
bool needsToWrite ()
 
getName ()
- - - @@ -215,10 +211,6 @@ SSL_CTX * IPAddress  - - - @@ -238,6 +230,9 @@ std::string  + + @@ -290,7 +285,7 @@ bool 

Additional Inherited Members

- Public Attributes inherited from core::TLSServer
-SSL_CTX * ctx
 
- Public Attributes inherited from core::TCPServer
IPAddressListblackList
 
ctx
ipAddress
 
- Public Attributes inherited from core::Socket
-class {
bufferSize
 
bool active = false
 
tag void setBufferSize (int length)
 
+int getBufferSize ()
 
virtual void onDataReceived (char *buffer, int len)
 
shutDown = false< diff --git a/html/classcore_1_1ConsoleServer__coll__graph.map b/html/classcore_1_1ConsoleServer__coll__graph.map index e047392..28a0bee 100644 --- a/html/classcore_1_1ConsoleServer__coll__graph.map +++ b/html/classcore_1_1ConsoleServer__coll__graph.map @@ -1,12 +1,13 @@ - - - - - - - - - - + + + + + + + + + + + diff --git a/html/classcore_1_1ConsoleServer__coll__graph.md5 b/html/classcore_1_1ConsoleServer__coll__graph.md5 index bf2975f..ffa96da 100644 --- a/html/classcore_1_1ConsoleServer__coll__graph.md5 +++ b/html/classcore_1_1ConsoleServer__coll__graph.md5 @@ -1 +1 @@ -3dbb00c890c3ec9870b2b842bc328eca \ No newline at end of file +3035b937b5b504e05ae1d063ba02a4ac \ No newline at end of file diff --git a/html/classcore_1_1ConsoleServer__coll__graph.png b/html/classcore_1_1ConsoleServer__coll__graph.png index d4abe427064d27d8c3fd4d2c346d486f081a6422..1db634eea81a3f3545e5bf4c7cb978fd62de64c3 100644 GIT binary patch literal 47083 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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 diff --git a/html/classcore_1_1ConsoleServer__inherit__graph.map b/html/classcore_1_1ConsoleServer__inherit__graph.map index 333df3b..b8bef8f 100644 --- a/html/classcore_1_1ConsoleServer__inherit__graph.map +++ b/html/classcore_1_1ConsoleServer__inherit__graph.map @@ -1,8 +1,9 @@ - - - - - - + + + + + + + diff --git a/html/classcore_1_1ConsoleServer__inherit__graph.md5 b/html/classcore_1_1ConsoleServer__inherit__graph.md5 index e92f488..910dba8 100644 --- a/html/classcore_1_1ConsoleServer__inherit__graph.md5 +++ b/html/classcore_1_1ConsoleServer__inherit__graph.md5 @@ -1 +1 @@ -dfe79bb59a4f703062cac7963c84dead \ No newline at end of file +7fc103513ac72f7cdde7ab68eba6c9db \ No newline at end of file diff --git a/html/classcore_1_1ConsoleServer__inherit__graph.png b/html/classcore_1_1ConsoleServer__inherit__graph.png index 30d16a7532d10518c4f7d1df7219a2c2237e0f3f..667a40531b878da16c7b2f7e1b70390ddff1fa9f 100644 GIT binary patch literal 18119 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⪚+Uq7ZjD4R3Ud2)h;?t|JV55StUL_ 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%0A8OcO&5PNcufX3GKSRp9>(hgYE|zr!>m){1 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 x(=C^{Pb2?ZPW%3M! diff --git a/html/classcore_1_1ConsoleSession-members.html b/html/classcore_1_1ConsoleSession-members.html index 6ee066d..e1f69ff 100644 --- a/html/classcore_1_1ConsoleSession-members.html +++ b/html/classcore_1_1ConsoleSession-members.html @@ -1,9 +1,9 @@ - + - + My Project: Member List @@ -29,18 +29,21 @@
- + +/* @license-end */
This is the complete list of members for core::ConsoleSession, including all inherited members.

- - - - - - - + + + + + + + @@ -84,55 +87,52 @@ $(function() { - + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + - + -
active (defined in core::Socket)core::Socket
bufferSize (defined in core::Socket)core::Socket
clear() (defined in core::TerminalSession)core::TerminalSession
clearEOL() (defined in core::TerminalSession)core::TerminalSession
connect(IPAddress &address) (defined in core::TCPSocket)core::TCPSocket
ConsoleSession(EPoll &ePoll, TCPServer &server) (defined in core::ConsoleSession)core::ConsoleSession
ePoll (defined in core::Socket)core::Socketprotected
eventReceived(struct epoll_event event)core::Socket
clear()core::TerminalSession
clearEOL()core::TerminalSession
connect(IPAddress &address) (defined in core::TCPSocket)core::TCPSocket
ConsoleSession(EPoll &ePoll, TCPServer &server) (defined in core::ConsoleSession)core::ConsoleSession
ePoll (defined in core::Socket)core::Socketprotected
eventReceived(struct epoll_event event, pid_t threadId)core::Socket
getBufferSize() (defined in core::Socket)core::Socketprotected
getDescriptor()core::Socket
getLines() (defined in core::TerminalSession)core::TerminalSession
grab (defined in core::TCPSession)core::TCPSession
name (defined in core::Object)core::Object
needsToWrite() (defined in core::Socket)core::Socket
NextLine(int lines) (defined in core::TerminalSession)core::TerminalSession
onConnected(std::stringstream &out)core::TCPSessionprotectedvirtual
onConnected()core::TCPSessionprotectedvirtual
onDataReceived(std::string data) overridecore::TCPSessionprotectedvirtual
onDataReceived(char *buffer, int len) (defined in core::Socket)core::Socketprotectedvirtual
onRegister()core::TLSSessionprotectedvirtual
onRegistered() (defined in core::TLSSession)core::TLSSessionprotectedvirtual
onUnregister()core::Socketvirtual
out (defined in core::TerminalSession)core::TerminalSession
output(std::stringstream &out)core::TLSSessionvirtual
PreviousLine(int lines) (defined in core::TerminalSession)core::TerminalSession
protocol(std::stringstream &out, std::string data) overridecore::ConsoleSessionprotectedvirtual
receiveData(char *buffer, int bufferLength) overridecore::TLSSessionprotectedvirtual
restoreCursor() (defined in core::TerminalSession)core::TerminalSession
saveCursor() (defined in core::TerminalSession)core::TerminalSession
scrollArea(int start, int end) (defined in core::TerminalSession)core::TerminalSession
send(std::string data)core::TCPSession
sendToAll(std::string data)core::TCPSession
sendToAll(SessionFilter filter, std::string data)core::TCPSession
server (defined in core::TCPSession)core::TCPSession
setBackColor(int color) (defined in core::TerminalSession)core::TerminalSession
setBufferSize(int length) (defined in core::Socket)core::Socketprotected
setColor(int color) (defined in core::TerminalSession)core::TerminalSession
setCursorLocation(int x, int y) (defined in core::TerminalSession)core::TerminalSession
setDescriptor(int descriptor)core::Socket
shutDown (defined in core::Socket)core::Socketprotected
shutdown(std::string text="unknown")core::Socket
Socket(EPoll &ePoll) (defined in core::Socket)core::Socket
Socket(EPoll &ePoll, std::string text) (defined in core::Socket)core::Socket
onRegister()core::Socketvirtual
onRegistered() overridecore::TCPSessionprotectedvirtual
onUnregister() (defined in core::Socket)core::Socketvirtual
onUnregistered()core::Socketvirtual
outcore::TCPSession
output(std::stringstream &data)core::TCPSessionvirtual
PreviousLine(int lines) (defined in core::TerminalSession)core::TerminalSession
protocol(std::string data) overridecore::ConsoleSessionprotectedvirtual
receiveData(char *buffer, int bufferLength)core::Socketprotectedvirtual
restoreCursor() (defined in core::TerminalSession)core::TerminalSession
saveCursor() (defined in core::TerminalSession)core::TerminalSession
scrollArea(int start, int end) (defined in core::TerminalSession)core::TerminalSession
send()core::TCPSession
sendToAll()core::TCPSession
sendToAll(SessionFilter filter)core::TCPSession
server (defined in core::TCPSession)core::TCPSession
setBackColor(int color) (defined in core::TerminalSession)core::TerminalSession
setBufferSize(int length) (defined in core::Socket)core::Socketprotected
setColor(int color) (defined in core::TerminalSession)core::TerminalSession
setCursorLocation(int x, int y)core::TerminalSession
setDescriptor(int descriptor)core::Socket
shutDown (defined in core::Socket)core::Socketprotected
shutdown(std::string text="unknown")core::Socket
Socket(EPoll &ePoll, std::string text="")core::Socket
tag (defined in core::Object)core::Object
TCPSession(EPoll &ePoll, TCPServer &server) (defined in core::TCPSession)core::TCPSession
TCPSession(EPoll &ePoll, TCPServer &server, std::string text) (defined in core::TCPSession)core::TCPSession
TCPSocket(EPoll &ePoll) (defined in core::TCPSocket)core::TCPSocket
TCPSocket(EPoll &ePoll, std::string text) (defined in core::TCPSocket)core::TCPSocket
TerminalSession(EPoll &ePoll, TCPServer &server) (defined in core::TerminalSession)core::TerminalSession
TLSSession(EPoll &ePoll, TCPServer &server) (defined in core::TLSSession)core::TLSSession
TCPSession(EPoll &ePoll, TCPServer &server, std::string text="") (defined in core::TCPSession)core::TCPSession
TCPSocket(EPoll &ePoll) (defined in core::TCPSocket)core::TCPSocket
TCPSocket(EPoll &ePoll, std::string text) (defined in core::TCPSocket)core::TCPSocket
TerminalSession(EPoll &ePoll, TCPServer &server) (defined in core::TerminalSession)core::TerminalSession
write(std::string data)core::Socket
write(char *buffer, int length) (defined in core::Socket)core::Socket
writeLog(std::string data) (defined in core::ConsoleSession)core::ConsoleSession
~ConsoleSession() (defined in core::ConsoleSession)core::ConsoleSession
~Socket() (defined in core::Socket)core::Socket
~Socket()core::Socket
~TCPSession() (defined in core::TCPSession)core::TCPSession
~TCPSocket() (defined in core::TCPSocket)core::TCPSocket
~TerminalSession() (defined in core::TerminalSession)core::TerminalSession
~TLSSession() (defined in core::TLSSession)core::TLSSession
diff --git a/html/classcore_1_1ConsoleSession.html b/html/classcore_1_1ConsoleSession.html index 6dbf12b..95b187f 100644 --- a/html/classcore_1_1ConsoleSession.html +++ b/html/classcore_1_1ConsoleSession.html @@ -1,9 +1,9 @@ - + - + My Project: core::ConsoleSession Class Reference @@ -29,18 +29,21 @@ - + +/* @license-end */
Inheritance graph
- - - - - - + + + + + +
[legend]
@@ -90,18 +93,18 @@ Collaboration diagram for core::ConsoleSession:
Collaboration graph
- - - - - - - - - - - - + + + + + + + + + + + +
[legend]
@@ -120,14 +123,11 @@ void  - + - + - + @@ -150,25 +150,18 @@ void  - - - - - - - - - - - - - - - + + + + + + + + + + @@ -180,12 +173,10 @@ void  - - - - + + + + @@ -193,11 +184,12 @@ void  - + - - - + + + - - + + + + + + +
writeLog (std::st
int getLines ()
 
-void clear ()
void clear ()
 
-void clearEOL ()
void clearEOL ()
 
-void setCursorLocation (int x, int y)
void setCursorLocation (int x, int y)
 
void setColor (int color)
PreviousLine (int
void scrollArea (int start, int end)
 
- Public Member Functions inherited from core::TLSSession
TLSSession (EPoll &ePoll, TCPServer &server)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from core::TCPSession
TCPSession (EPoll &ePoll, TCPServer &server)
 
TCPSession (EPoll &ePoll, TCPServer &server, std::string text)
 
void send (std::string data)
 
void sendToAll (std::string data)
 
void sendToAll (SessionFilter filter, std::string data)
 
TCPSession (EPoll &ePoll, TCPServer &server, std::string text="")
 
virtual void output (std::stringstream &data)
 
void send ()
 
void sendToAll ()
 
void sendToAll (SessionFilter filter)
 
- Public Member Functions inherited from core::TCPSocket
 TCPSocket (EPoll &ePoll)
scrollArea (int s void connect (IPAddress &address)
 
- Public Member Functions inherited from core::Socket
Socket (EPoll &ePoll)
 
Socket (EPoll &ePoll, std::string text)
 
 Socket (EPoll &ePoll, std::string text="")
 
 ~Socket ()
 
void shutdown (std::string text="unknown")
 
void setDescriptor (int descriptor)
connect ( 
int getDescriptor ()
 Get the descriptor for the socket.
 Get the descriptor for the socket.
+
 
bool eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
bool eventReceived (struct epoll_event event, pid_t threadId)
 Parse epoll event and call specified callbacks. More...
 
int write (std::string data)
 
@@ -206,50 +198,54 @@ void write (char *buff
void output (std::stringstream &out)
 
virtual void onUnregister ()
 Called when the socket has finished unregistering for the epoll processing. More...
virtual void onRegister ()
 Called before the socket has registered with the epoll processing. More...
 
+virtual void onUnregister ()
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
bool needsToWrite ()
 
- - - - - - - - - - + + - - + + + + + + + + +

Protected Member Functions

void protocol (std::stringstream &out, std::string data) override
 
- Protected Member Functions inherited from core::TLSSession
void receiveData (char *buffer, int bufferLength) override
 
void onRegister ()
 Called when the socket has finished registering with the epoll processing. More...
 
-void onRegistered ()
 
void protocol (std::string data) override
 
- Protected Member Functions inherited from core::TCPSession
virtual void onDataReceived (std::string data) override
 Called when data is received from the socket. More...
 
virtual void onConnected (std::stringstream &out)
 
+virtual void onRegistered () override
 Called after the socket has been registered with epoll processing.
 
virtual void onConnected ()
 
- Protected Member Functions inherited from core::Socket
void setBufferSize (int length)
 
+int getBufferSize ()
 
virtual void onDataReceived (char *buffer, int len)
 
virtual void receiveData (char *buffer, int bufferLength)
 
- - - + + @@ -258,10 +254,6 @@ std::stringstream  - - - @@ -282,10 +274,10 @@ bool 

Additional Inherited Members

- Public Attributes inherited from core::TerminalSession
-std::stringstream out
 
- Public Attributes inherited from core::TCPSession
Commandgrab = NULL
 
std::stringstream out
 
TCPServerserver
 
out< IPAddress ipAddress
 
- Public Attributes inherited from core::Socket
-class {
bufferSize
 
bool active = false
 
shutDown = false<

Detailed Description

ConsoleSession

-

Extends the session parameters for this TCPSocket derived object. Extend the protocol() method in order to define the behavior and protocol interaction for this socket which is a console session.

+

Extends the session parameters for this TCPSocket derived object. Extend the protocol() method in order to define the behavior and protocol interaction for this socket which is a console session.

Member Function Documentation

- -

◆ protocol()

+ +

◆ protocol()

@@ -296,19 +288,9 @@ bool shutDown = false< void core::ConsoleSession::protocol ( - std::stringstream &  - out, - - - - std::string  - data = ""  - - + data = "") - ) - @@ -319,7 +301,7 @@ bool shutDown = false<

Override the protocol method to manage and control the session communications in your inherited session. If you do not override this method then the Session default will process the 'commands' added to the server object using the processRequest method on the session input.

-

Reimplemented from core::TLSSession.

+

Reimplemented from core::TCPSession.

@@ -332,7 +314,7 @@ bool shutDown = false< diff --git a/html/classcore_1_1ConsoleSession__coll__graph.map b/html/classcore_1_1ConsoleSession__coll__graph.map index 8819783..c01935b 100644 --- a/html/classcore_1_1ConsoleSession__coll__graph.map +++ b/html/classcore_1_1ConsoleSession__coll__graph.map @@ -1,14 +1,14 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/html/classcore_1_1ConsoleSession__coll__graph.md5 b/html/classcore_1_1ConsoleSession__coll__graph.md5 index c2df77f..d081cdd 100644 --- a/html/classcore_1_1ConsoleSession__coll__graph.md5 +++ b/html/classcore_1_1ConsoleSession__coll__graph.md5 @@ -1 +1 @@ -2a7ca8496e4051856e49b851da4c5559 \ No newline at end of file +4a7e0cf373c73ff1f6cb91009905b7de \ No newline at end of file diff --git a/html/classcore_1_1ConsoleSession__coll__graph.png b/html/classcore_1_1ConsoleSession__coll__graph.png index 5a3f119ee641d9e6cc2fda69aced8317f1534bbd..0cb3eb96718716c8cc33617fe00b96e5277e7e54 100644 GIT binary patch literal 60303 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 literal 60415 zcmb4qbx@t(vLz8n&_Ey%JR!kdf=eK{ySux)CczzoyBsXIySux)ySp=+-@C8w+hPU!OZVzvLm3NK0yiba?3goKmadv7!k2|hG`H2qa z;Wkg=vO9*w(HrFAevvr6yv&k<@Edo5Uuu2P%^*#HhK63*+sm^LV(*%oib+lVRG|aj zS^Sx9H1db5tLu13ShgVpR>ha+FKOvUzdjET4lB(7`#gZ|Z#1#zk&)v*@kRVID zucPSr-IYRaMlwY&`4R)9OVqI!@9eREorG3)-Ha||vNc-$oo8w=dtL<9SH1{AwQ{bd zDl@?+F178;rlskxwWl7r(_Xwu1uxO^y+H4w2tK^W{jxbld;}ElV`zmt=K52BWg0MZS`(8X2?(Anh3htV@y?EhNg=9Rb9}pDjz$7En&G^)HBX?C^jVI z-p*kkRc zy&26ZN1v}deaJ}4f3oEuZgh#__bDykR=YfTwfAR%F*8L9GLbHYh6X(>r#~D7Ynzk% zW^r|H#@+Ow;?I}0c=krmk(7?VdYH^1X}5-pXJTtNaL=y78$d*EL*JitsfX%8iKV)0 zzwyu>98JU1y6{)!@T5pgW6+asWe&Cis}=0Mcu~MJG)k6vu3DCJm?|8{5k2MyHPw0Uln2S}MH{GIbvFc6xhH&g7JP(K2ut zmh!?bjaldM)l#sIvG<%7WMk3qq|}RKWv%S<(#x?9A*umF8;(YLLPt08gJe%rC5fxj z`5K!Z?x9e`Fxu@`HmI@yoPJ#+BZd+D*R)=X1+s4 ziuDJuY8{S}&)!jaA-59soF{g}pc7E5uUAffGQfI{vY65g{uBnB-~1U56lAu?8X1IU zaAckXR;KQ!@475%11C5LSVi^-z^e&FdIbL+cmGFdc8WdCVRKOK*N4});h$1P0h2t1 zQF@#FW3o^!&)$o;y)%BM_M2a!T3=SpkT*QaPo9n5!I^kM1_qzzW?yEO8JV207sSMD zryFB>dpgg@Xh=993uhD}@UG&^SK5#BmR38wuJ?$Og$v1>?&9JFFZ}$b;|Ba0m{}^? zThg3I9ndf10r&;FO~>meO<>ct@ijfapPUH#ee z!}>dOi0oBhApOeD4PmO~W`EUsU(D&My^@F&TI01gu1NI#-8f?~zh_G-pH#CcqmB@x zPApf`uRnxpCl?Qq+8uEECj8*tP6_!&yZ{2G3c zVc7eMN)0Yktq#+4$(_t-r7F+lMQ;>&{HEJv0b784-jD3DQul`uoSwfUhOx{iVm?S_ zVga?JV(5Xb!)XPjOtByo{6Z6B9GaR+nJmag`RIrdL8=wYpFK8O@3g^igo=sTr{R&* z0hUFlG+lE>@eZ$jQ&yKh)O_f8#q8%fIdPKsj|OMGzY0aFgRfD+oU(;RbRny&qOK<$ z&OS(LLay~Je>H{2t4jppuNEo~&Qb3Y2GAex&ulC8#0I*<4{lZiktD<>2n`rLV-y~6 zL=dMX4@B({4i3*Os2rQx7;vij)d!n2sOs0{w!6C0Kt@5jLocl<6B48O)aNF#jzg z94*%C>&b_`3%b29>5n8`_=E0i!hkhDpSV3=gH)j6QtEU@|Ia5z95A^E~=DKV)M#jasI`LR_h= zGgK&o(dPQt@pP+7#HOjaxsF1yIOYR6((1OMM3Z~)&QcTU;2;u9tUL%5l;Oaj(9quW zj>m8zcn!BXnCojARwt{2IBb`4xmR~5T}`o!W-9Sx$}pZGQjl4CN6S7_!6c_D^M$R< z7&-@zdNv2VQrjJObgFsZ9^EX1As=8O8{x?A#l0P1=3)*y4g*hNfSE={zI(!K^rUEn zipLzAOzzn+m?@JE+}&K`w3v#!;D+_+Y8@zFWNp9KtJHk?>@i>X%h$TYVO<|@uuT`7 z|0t;6M1TGvZ+W6E$e4u&AgKx1eeS&}e7&PZsLmiKPY##P)7`ue!^YnfDfF?J#2Y4> zz2RF_Yte+A*Fpl)EqA2fVo<#{kU8C#N&U(33Wj0hc;!SiWziFr_@&X}z02*TTK5QK zwD3C!&z-u?gPrqD_+n#O5l(Bt@uG37&|lHm@)Ynl_llTGO{NTmqivmb-LaYQ3~o+e zN#q;A!8$?xOi)S7I5J|udbT%}+OF;yeUCag&`TaEI)jNx!1t4GFZyU5Ek%?oa-+?E zh&>0N7;wlt=Ul$k*(d1?CDSsqaMWzGP*D6y=cD(~n&bA2etCR0^SYn`vD zyWT6Zku6aE&F!haRZykwzPis2-ovx_!L+-@Gv?X;7EK4YvMsOKWm+O*zE+Y?m*~8n z$R#W%HymAO19lQI&6hfG1OYzZD~Msn@7fWyKt-Z!VIgXx?~Q&B?OCs&jPO*^lHN+I zmpwEz-1JzLg$@jYVZ8BYG7tie!orELX)N z!{`*#A`iDuI``Lzuipsd;7R~T69(3L5ku`uXR%1t8FG+nye6a)FM?>M;h?E>dKg%LnB?IiO9ICM2K|m0}dBn_g;}in#Gbg z4ja({9C)@UES)q)1*}}BtB~H#_$q@an!x2F0&9K!ZkfT*M|A4Lp(M6&+kNH)Dm8b_ zt-&%QRd;?cse&+v8C41bf_R~b%HbjnRCW%LTwLNI;6ml*2R)MoZ8r~BLzedTsbH*f zBl<6Gg}Y$etf@)ktxJv?=Rg?O8qcve7U(I%t0Mm>1UC8jGTI&*IA9k4qhL+qaosr3DpVS@)f zkY{VqW_Zuebee{Fj_NL4;f_JiySP{|n({6N8vatdL~(lr^4arERrA1r(19VCR&qoT z_+it7eV9!4?^yPlJXPWW;SZF`VJKf_t=79=^M|^7QmTlLrgHPt{qBp&RQrX@v(7Kg zut9fq$VY3pi~pR|a^>BG4wwmELBnslj2AA8WJw≷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 - - - - - - + + + + + + diff --git a/html/classcore_1_1ConsoleSession__inherit__graph.md5 b/html/classcore_1_1ConsoleSession__inherit__graph.md5 index 1dff5f2..1dfe9ce 100644 --- a/html/classcore_1_1ConsoleSession__inherit__graph.md5 +++ b/html/classcore_1_1ConsoleSession__inherit__graph.md5 @@ -1 +1 @@ -3e603f5ffc8501706bc5122fe9441483 \ No newline at end of file +896c1d430070de8f002aa6ef3c12ad8c \ No newline at end of file diff --git a/html/classcore_1_1ConsoleSession__inherit__graph.png b/html/classcore_1_1ConsoleSession__inherit__graph.png index 92041167cd3be5b5388b1ccf4dda12028179e1f7..a36ac130d1d51fcb2a7724be081f5aaa4d0eb514 100644 GIT binary patch literal 13811 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 ax39h4IuU{B!r*^#0c0f=CF;bCKm9M52i1N6 literal 14987 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 z zWWWXY;E=O$XUDa>t=(Nqj=KSM?Ipm>cYRJ%V^srm*_*OULI2FQv}ns}Z(&Ye)Tk>u z4=M!SUCMz%`rxih>v!jjhf;uOegn?#6kgN4M%rbLT|M0~`^_*(J9wEdA@Q|3DA z&%>^e635~{mDLwZI z*Jg~GVtijeF0_b}dG`7p05zR+la29hpJe45DDgQpll9wwtV@!YwrFgL&*KG1wzZBl!by zgQ=Hqe9aUlo^@XoMnmv`P|g)_U0iVq;He2tuak?!O(GU#NS5ZiZ% z?*-#uj}xZK5=U~+Dv*jBUcBs9%|4cWiCAquX+zYU7Jc{wTC3sId!nq4NyI>2x5HCQ z(19|h(2RU*%CGzQheDP}v$Q9J@bS(!fIN58OocH+Dkzgj>7LP^?dma`rlz^aXV(1A z{0YX%{XmL16E<%C1F?&^`0UA2$!8k2t_h7+g-SMyW9pB?oX1_7`W=OtZkW91Ez9v2 z(Q6)FZ4Q<;^Q&7I zy1?62+C<5}ku zU|WIaig~c(p%#XdGm@=dsCq1fJn*`MavCv zYz_|*1iVeK${!qb_Sns=7#zHrnkvxZ?NIs<@fXPR&ko{W4%#2M`Ts3u$eZlcD^sEw zQIAw_@t()o-@o#BIC~?TY@(be5iKGlBxIVVw8+*N{yW*>+!y~^ zF|8m|A`Bhy@c6g^VF@vXDcCIYbAN;hAW>WiyF(1*1X;2;we#1cQ3aOBO~(bTmS_*% zNO+T-ygUo8;)b!bT0~9=+wL%LP=XZG5y3Kc6JwJoileuPuboav8S;8y4z*ZNDDPY) z!`!aklQ0of!HAP-&jx2gJ|7zd?2$=7_SyDtX3)&D{&cWIX~mC)BGE7bA|fILOHt;(

-T)H2w0jtvq<}wXk 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 Ih|!1t1w;DT4FCWD diff --git a/html/classcore_1_1EPoll-members.html b/html/classcore_1_1EPoll-members.html index 4043af8..1bd3095 100644 --- a/html/classcore_1_1EPoll-members.html +++ b/html/classcore_1_1EPoll-members.html @@ -1,9 +1,9 @@ - + - + My Project: Member List @@ -29,18 +29,21 @@
- + +/* @license-end */
check(std::string request)core::Commandvirtual EPoll()core::EPoll - eventReceived(struct epoll_event event)core::EPoll + eventReceived(struct epoll_event event, pid_t threadId)core::EPoll getDescriptor()core::EPoll getName() (defined in core::Command)core::Command isStopping()core::EPoll @@ -91,7 +94,7 @@ $(function() { diff --git a/html/classcore_1_1EPoll.html b/html/classcore_1_1EPoll.html index 84efa4d..8c2b402 100644 --- a/html/classcore_1_1EPoll.html +++ b/html/classcore_1_1EPoll.html @@ -1,9 +1,9 @@ - + - + My Project: core::EPoll Class Reference @@ -29,18 +29,21 @@
- + +/* @license-end */
Inheritance graph
- - + + +
[legend]
@@ -86,8 +90,9 @@ Collaboration diagram for core::EPoll:
Collaboration graph
- - + + +
[legend]
@@ -98,28 +103,28 @@ Public Member Functions - + - + - + - + - + - + - - - + + + - + @@ -138,7 +143,7 @@ std::string  - +

EPoll

Manage socket events from the epoll system call.

Use this object to establish a socket server using the epoll network structure of Linux.

-

Use this object to establish the basis of working with multiple sockets of all sorts using the epoll capabilities of the Linux platform. Socket objects can register with BMAEPoll which will establish a communication mechanism with that socket.

+

Use this object to establish the basis of working with multiple sockets of all sorts using the epoll capabilities of the Linux platform. Socket objects can register with EPoll which will establish a communication mechanism with that socket.

The maximum number of sockets to communicate with is specified on the start method.

Threads are used to establish a read queue for epoll. The desired number of threads (or queues) is established by a parameter on the start method.

Constructor & Destructor Documentation

@@ -193,8 +198,8 @@ std::string 

Member Function Documentation

- -

◆ eventReceived()

+ +

◆ eventReceived()

@@ -203,8 +208,18 @@ std::string 
void core::EPoll::eventReceived - + + + + + + + + + + +
 ~EPoll ()
 
bool start (int numberOfThreads, int maxSockets)
 Start the BMAEPoll processing. More...
 Start the BMAEPoll processing. More...
 
bool stop ()
 Stop and shut down the BMAEPoll processing. More...
 Stop and shut down the BMAEPoll processing. More...
 
bool isStopping ()
 Returns a true if the stop command has been requested. More...
 Returns a true if the stop command has been requested. More...
 
bool registerSocket (Socket *socket)
 Register a BMASocket for monitoring by BMAEPoll. More...
 Register a BMASocket for monitoring by BMAEPoll. More...
 
bool unregisterSocket (Socket *socket)
 Unregister a BMASocket from monitoring by BMAEPoll. More...
 Unregister a BMASocket from monitoring by BMAEPoll. More...
 
int getDescriptor ()
 Return the descriptor for the ePoll socket. More...
 Return the descriptor for the ePoll socket. More...
 
void eventReceived (struct epoll_event event)
 Dispatch event to appropriate socket. More...
 
void eventReceived (struct epoll_event event, pid_t threadId)
 Dispatch event to appropriate socket. More...
 
int processCommand (std::string command, TCPSession *session, std::stringstream &data) override
 Output the threads array to the console. More...
 Output the threads array to the console. More...
 
void resetSocket (Socket *socket)
getName ()

Public Attributes

int maxSockets
 The maximum number of socket allowed. More...
 The maximum number of socket allowed. More...
 
- Public Attributes inherited from core::Object
@@ -152,7 +157,7 @@ std::string tag tag tag ( struct epoll_event event)event,
pid_t threadId 
)
@@ -250,7 +265,7 @@ std::string tag

Returns a true if the stop command has been requested.

-

This method returns a true if the stop() method has been called and the epoll system is shutting.

+

This method returns a true if the stop() method has been called and the epoll system is shutting.

@@ -295,7 +310,7 @@ std::string tag

Output the threads array to the console.

-

The processCommand() method displays the thread array to the requesting console via the session passed as parameter.

+

The processCommand() method displays the thread array to the requesting console via the session passed as parameter.

Parameters
@@ -362,7 +377,7 @@ std::string 

Start the BMAEPoll processing.

-

Use the start() method to initiate the threads and begin epoll queue processing.

+

Use the start() method to initiate the threads and begin epoll queue processing.

Parameters
sessionthe session to write the requested data to.
tag
@@ -389,7 +404,7 @@ std::string 

Stop and shut down the BMAEPoll processing.

-

Use the stop() method to initiate the shutdown process for the epoll socket management.

+

Use the stop() method to initiate the shutdown process for the epoll socket management.

A complete shutdown of all managed sockets will be initiated by this method call.

@@ -448,7 +463,7 @@ std::string  diff --git a/html/classcore_1_1EPoll__coll__graph.map b/html/classcore_1_1EPoll__coll__graph.map index 2dd6f68..9a1176e 100644 --- a/html/classcore_1_1EPoll__coll__graph.map +++ b/html/classcore_1_1EPoll__coll__graph.map @@ -1,4 +1,5 @@ - - + + + diff --git a/html/classcore_1_1EPoll__coll__graph.md5 b/html/classcore_1_1EPoll__coll__graph.md5 index 888ccec..aa8204c 100644 --- a/html/classcore_1_1EPoll__coll__graph.md5 +++ b/html/classcore_1_1EPoll__coll__graph.md5 @@ -1 +1 @@ -5100dbe7e02384bc36f1eefb02760f18 \ No newline at end of file +83c2161f1721cc0c84500e948d57da02 \ No newline at end of file diff --git a/html/classcore_1_1EPoll__coll__graph.png b/html/classcore_1_1EPoll__coll__graph.png index 1af8f754732fd251c507966802f4c4494a78c179..b680b443600e8dcbbcad49250392b253d6784f63 100644 GIT binary patch literal 5528 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 diff --git a/html/classcore_1_1EPoll__inherit__graph.map b/html/classcore_1_1EPoll__inherit__graph.map index 2dd6f68..9a1176e 100644 --- a/html/classcore_1_1EPoll__inherit__graph.map +++ b/html/classcore_1_1EPoll__inherit__graph.map @@ -1,4 +1,5 @@ - - + + + diff --git a/html/classcore_1_1EPoll__inherit__graph.md5 b/html/classcore_1_1EPoll__inherit__graph.md5 index 067e9e9..aa8204c 100644 --- a/html/classcore_1_1EPoll__inherit__graph.md5 +++ b/html/classcore_1_1EPoll__inherit__graph.md5 @@ -1 +1 @@ -e2aa4627285840b91c6ac05a5f7213fa \ No newline at end of file +83c2161f1721cc0c84500e948d57da02 \ No newline at end of file diff --git a/html/classcore_1_1EPoll__inherit__graph.png b/html/classcore_1_1EPoll__inherit__graph.png index 1af8f754732fd251c507966802f4c4494a78c179..b680b443600e8dcbbcad49250392b253d6784f63 100644 GIT binary patch literal 5528 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 diff --git a/html/classcore_1_1INotify-members.html b/html/classcore_1_1INotify-members.html index 8e9b5e2..40cdcec 100644 --- a/html/classcore_1_1INotify-members.html +++ b/html/classcore_1_1INotify-members.html @@ -1,9 +1,9 @@ - + - + My Project: Member List @@ -29,18 +29,21 @@
numberOfThreadsthe number of threads to start for processing epoll entries.
tagtag
- + +/* @license-end */
This is the complete list of members for core::INotify, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - +
active (defined in core::Socket)core::Socketprivate
addWatch(std::string watch) (defined in core::INotify)core::INotify
bufferSize (defined in core::Socket)core::Socketprivate
ePoll (defined in core::Socket)core::Socketprivate
eventReceived(struct epoll_event event)core::Socketprivate
getDescriptor()core::Socketprivate
inAccess(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inAttrib(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inCloseNoWrite(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inCloseWrite(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inCreate(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inDelete(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inDeleteSelf(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inModify(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inMovedFrom(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inMovedTo(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inMoveSelf(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inOpen(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
INotify(EPoll &ePoll) (defined in core::INotify)core::INotify
name (defined in core::Object)core::Objectprivate
needsToWrite() (defined in core::Socket)core::Socketprivate
onDataReceived(char *buffer, int len) override (defined in core::INotify)core::INotifyvirtual
core::Socket::onDataReceived(std::string data)core::Socketprivatevirtual
onRegister()core::Socketprivatevirtual
onRegistered() (defined in core::Socket)core::Socketprivatevirtual
onUnregister()core::Socketprivatevirtual
output(std::stringstream &out) (defined in core::Socket)core::Socketprivate
receiveData(char *buffer, int bufferLength)core::Socketprivatevirtual
addWatch(std::string watch) (defined in core::INotify)core::INotify
inAccess(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inAttrib(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inCloseNoWrite(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inCloseWrite(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inCreate(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inDelete(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inDeleteSelf(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inModify(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inMovedFrom(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inMovedTo(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inMoveSelf(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
inOpen(std::string name) (defined in core::INotify)core::INotifyinlinevirtual
INotify(EPoll &ePoll) (defined in core::INotify)core::INotify
onDataReceived(char *buffer, int len) override (defined in core::INotify)core::INotifyvirtual
core::Socket::onDataReceived(std::string data)core::Socketprivatevirtual
removeWatch(int wd) (defined in core::INotify)core::INotify
setBufferSize(int length) (defined in core::Socket)core::Socketprivate
setDescriptor(int descriptor)core::Socketprivate
shutdown(std::string text="unknown")core::Socketprivate
shutDown (defined in core::Socket)core::Socketprivate
Socket(EPoll &ePoll) (defined in core::Socket)core::Socketprivate
Socket(EPoll &ePoll, std::string text) (defined in core::Socket)core::Socketprivate
tag (defined in core::Object)core::Objectprivate
write(std::string data)core::Socketprivate
write(char *buffer, int length) (defined in core::Socket)core::Socketprivate
~INotify() (defined in core::INotify)core::INotify
~Socket() (defined in core::Socket)core::Socketprivate
~INotify() (defined in core::INotify)core::INotify
diff --git a/html/classcore_1_1INotify.html b/html/classcore_1_1INotify.html index 9651ce2..ff0c2d1 100644 --- a/html/classcore_1_1INotify.html +++ b/html/classcore_1_1INotify.html @@ -1,9 +1,9 @@ - + - + My Project: core::INotify Class Reference @@ -29,18 +29,21 @@ - + +/* @license-end */
Inheritance graph
- - + + +
[legend]
@@ -83,10 +87,11 @@ Collaboration diagram for core::INotify:
Collaboration graph
- - - - + + + + +
[legend]
@@ -150,7 +155,7 @@ virtual void 
inOpen (s diff --git a/html/classcore_1_1INotify__coll__graph.map b/html/classcore_1_1INotify__coll__graph.map index b1d41e1..8d93182 100644 --- a/html/classcore_1_1INotify__coll__graph.map +++ b/html/classcore_1_1INotify__coll__graph.map @@ -1,6 +1,7 @@ - - - - + + + + + diff --git a/html/classcore_1_1INotify__coll__graph.md5 b/html/classcore_1_1INotify__coll__graph.md5 index fe5b975..79ac55a 100644 --- a/html/classcore_1_1INotify__coll__graph.md5 +++ b/html/classcore_1_1INotify__coll__graph.md5 @@ -1 +1 @@ -d615bb68e8a6be5cf37964a14420474d \ No newline at end of file +ccaa7ceaddb0f8aaafbf87edf5feba32 \ No newline at end of file diff --git a/html/classcore_1_1INotify__coll__graph.png b/html/classcore_1_1INotify__coll__graph.png index 473cbe3f66d544b3aedf63c84f2eb751b34ea376..55769f7a5bbfaf516dea826543fa1023fe21beb3 100644 GIT binary patch literal 13259 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 Y*k?^k>5j$lw{rk;Qp%DwuZ%+e2X^4`EC2ui literal 12833 zcmd6ObyQr>v*$2OfWcvKw_t(b?k>S0!Cit&aCZw%aCg_>1lJJU-8Hzo?0om_`|ZB- z-kv?Xf9;t$=k~dMtGaG=cXfTL>V_*RNTDDSAOZjY6d7r873j4a0Dv(@fP=PzHtj~C z7dWF&QsRKOe||ab#XkT5GJuS@h?-l*Nv5lY+Til*SsjXmFnU2)UWq|(ALi&dCWMfB zU0fcchNeSiWN#jYhc~xxO`~^^iA5n~kYvx+TH=m<#=5iM*dCz7ABt zOdy7)&X8yM@}MDsi<}aAps85a;4fc3!@hWVZX8EYC!-INg6|ue2dZXB3J~@z*}1px zj5<#{@x@e9sSW9@!5i&Yb6myuC9hqaAUH1HEPuQDEBj{yW?ouZz1zP*Yk^PQR_915 z_>XYW^3_EM7FNg}#mSsVU{om`<(8M= zS_CAL0EJPa&4a(8$$`BX+F|i~Qh+aKx*%UtArPth-#=Q+M7r%624}|+{%nmKl7=!o z*y$g3n>cD0NK&J7#)W9v{759=y=utNOP5_X8sPv5%?+mXde=6HG)=d7%r=m!U3C?o z&st@zYg=VdF|D`BkztxO1d%O6cYk@W0o6 zDMNEc){-g4oTA$`q8dHk6er%xDgaVY-01SwU!bpkPR?k4cA3n+ZhTT&I4D*L803SRtus#5%F-slow#+P2dONckKa)~V#vzydC!N+>wX0L!&@Bc z16ND7*reTH+cneTIQOR<(>cKcD;R0*?m=y>Z`SlGm}uMDOmt=mAN1|iGu?jy4J2=~&s;AX`P+$5b$ektOcYm!eTX;Fl)_qpaGNf46ytYv+CuEYZPQP!## z{aNKGrE8Yu-GxkAJfrCCkkW`gBnk+KWe-kQrLcvnnxs0qGm1(|y;<6+IQaluT4&?% zZ_MYr1~OfgcQ!7-kAp#7>jQoWrA%vX)A*fCdf`Xd`6|086*@$yO&E4Ll~{g{AC1lu z{wlAwhP$aNHYdMPl}&xKg&k=9?AT6JUNA?E$E6j)aV2VhuRxEP*R=5i9|=8i5rGpx zb{1Ys>F?~=+4HLXS2|`nrqFRNKr%`K%{@3^M}XxcEz$?Gpsj^W_5z*d&_a=RW~Y8^ za~NSrOo_a5*!?zX1l44JOYEiCw&*B$_ZD|0r;-g`6+UKQW+9*QVf-=E7Ds9KWIsRy5p6DUwnWD2 zkk9aazloLe6FrIk;!^~~d_2CEy(XQDXPHMOLV;MYcY8gT;RlJ&Z)(hJv4;NJK=0td>z!nJ8TN z&K^`0VjPsar!GK-0PN}MLC3>0fBX?a=hK8oA zNM$N%lnnU8-Z5Kie9Die0iu#Bh$Md;GoR{14umC&$dQGB-n~nOJ~vTg2+z%Z-J8UC zB~rlh3}payPS1s*a|4Z@VR7gJhmeSS8>vI zl9YV;G+_z0u;9^XyGL_6dF1JMzEmtI+?}cY7TsbG-Kqg&#SN9c7rp=DTjg}3eK_tZn-hDKi%#%QYz;D%7mdS=pP{wO4S}0tiH8i zZEn8Jm1HRAXN5*Y2$X5R*QJQ-TI+ymw9Q12l3Ff~8?I%pSOdux62PPB1#7+BH~YyJ zin!f(#>}FJDAAfAppvMV+K|ObPt@ch8yb@4h=rOpOpVqOL5ZM>6BqF>oAP#dm*93g z*NXZ>$Z_c2+{(+ZOo$KwC{+uHBBaUtgj-#lI9w|XCGdT9hhf#+O(u^+SZKY;CP<`7 z{>0+hDCEbAD@_G7VFiaF@VRCMezCgo24{TJXaK9xquidhKZ~nM$4KV)$5GB(v6}$^ zlv09du6G0IAYByb8uxj*@vX641qB657(ZUid!a{>S1f^O6bHze#wRK!)1vSJtxIIw z3#8($S{w8FZ}712E`1x_nde8(G3Q()Fslkwirtd>HiFt>-%<`1pZT5YO({!@8g!@6wEG3^aI6V#KbCCq!w{kr6r8T`;GXR*0gnh}cK7$AE;q^tr>Dc}`M$ufG&`)X z#B+b{$^o0;7y<$2D+@T~t}FKVdC;hz

AFCmiyDU(>o?M81?=nl>gp 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 - - + + + diff --git a/html/classcore_1_1INotify__inherit__graph.md5 b/html/classcore_1_1INotify__inherit__graph.md5 index d573144..b389cbb 100644 --- a/html/classcore_1_1INotify__inherit__graph.md5 +++ b/html/classcore_1_1INotify__inherit__graph.md5 @@ -1 +1 @@ -0dc5338bf2f693f8fb086fcab1450564 \ No newline at end of file +94cf621ee3c18bd667ce6909db5dea53 \ No newline at end of file diff --git a/html/classcore_1_1INotify__inherit__graph.png b/html/classcore_1_1INotify__inherit__graph.png index 1335acbd97573879fa572b427f1b47bd40597583..c1e2e367e3c2d623d13028bd4784501723497041 100644 GIT binary patch literal 4965 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 delta 4448 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Ȼc~z^Y!2#!|1A3ii4`r#tn0Gvt>`n=(^*QjS7*_I zb@Ry6)qjC3diEwOhcWcZyHRwtq6Jwr?L*V;JUmJ7jOat7Le9}6O_>{%ZI5fkbxVIY z7#y9WzZ(orhr(qs1ee7SToyxcSq#BtF@#adD$d9-bOgO1_<5F0ChN!?IzuX#V{k?W zt_~k==qPO>H#b+Xt=XA1V88(Q`1t5GkUp`vdw&+)m2j>Fd0R`B>6UE!GU z7hgodrAu%R3BjlZ3k)4cml#*!n9}TQ6kNUx07#9BGH@E*V^p%z_U?sPT=OYZVQMPw z-MC@kM7qVOWL=4lhEh@Ud6ify#nrug4V*}~7>%r=v^11lzg|DBl*@71$htzKk##jT z7Jp)C<4-h8v$IiHdkr%Nj6)VtO&2JaH<~S$N|6>DYoJiN$0%goPEJO7etxt0O1T`V zk&z&k9=^R|0E|MGx-PJeisEA2PD<+FMEZewSt^ABX|b_TH0c8CFp)};78BFKsq_Q$ zvT{zGz@z*3Arfd;$>m6kjcs;4V-eE7;Yd2lCE!&`fawLbn ziCMEg#iJsYQY8n9s2-xg2d84_$r=8|H3!EW^YO<7MMvX97TR35O2##Jp`Q z;ii7{Je_0QvLvH0W11KTzxWy_?zKgi92I31s6TPUgWx&e6Ey{3<)~Je!os}c2Ix%e||C0_TLj_E%Bcqi-#a;s3=t%P9TnSW!Y zpFhGbDr(mC<9k>z+Z+EgV;+LH97axE1#NX*ou=+g)C4k0P^bDvCmZj9u&SP3BVw3=KzkXdp&pevNhi&42;`k0@romPXWy9?&8 znhVRME!cSA4w?_ZDv&RKx-XW7FNa%CH!Kfdj&TjUI_WqpZ`3A*^Q3W*CLhP8DgYpq zCneyVr3XA5HH2#=?U$vvhJy#I;PvKgjO=fL{==srVD&1@bgnHNt4PD|351sd=VGj_ zIm~UxU~b?`P#r#mYYG5jYfM|X5R*p^hNUDO@xMtiW1%-(tju74;V=+nL;{tlN)P;}o4&sx|01&PqxaU!PGx8KLTGAlUtfBY9F?r(#B|l08Ff5 zTX(dn1a}KBAY!(E2evfWgs8_9l(ws4iUb2+c?SV!1F>y=1fE`R(;&Z=d@V&f921@s z2jRAK+OkvM;+ z1O-|0C`Tqu%>@15@&e1mm_-1UR=C$ z55?I@*tIr)5dVt4S##^H%E$Rb=aFA`;b}Up1(B5(mMs~NdwZgBw(h1xTRy5p<)fCJ zV$u;4@ti6FVLPv3#N-LE(5)+7oTU;t&ixR9_UG``;(732y#qNeOYyGEzINpjIL-Y4 zZwVk>Sc0sA!6`pRUf`cr# z6}9!VWHK3wii-G0B&|k?j2{EA`i?)s-y4q}ZCHc5yE`HxBH-)m+qB8J>Sq}gc_r@O zK7#0fLl59Kb#$9VX@kqs5sE86Vez8vD0qGm=8fv6mu)aTpmAqH@^m1=V*>TM4Sr@Z z1ee7SToyxcSq#BtF@)gV;L)Q;HGYSU)A6W%g2D3Fr;P!DuTMuAUAcB6hCgm%2`-Bv mxGaW{05Gna=ElqE{{t7tfxxm)azFq8002n`MNUMnLSTYsC51fz diff --git a/html/classcore_1_1IPAddress-members.html b/html/classcore_1_1IPAddress-members.html index fd983d4..d7627c8 100644 --- a/html/classcore_1_1IPAddress-members.html +++ b/html/classcore_1_1IPAddress-members.html @@ -1,9 +1,9 @@ - + - + My Project: Member List @@ -29,18 +29,21 @@

- + +/* @license-end */ - + +/* @license-end */
Inheritance graph
- + +
[legend]
@@ -83,7 +87,8 @@ Collaboration diagram for core::IPAddress:
Collaboration graph
- + +
[legend]
@@ -136,7 +141,7 @@ std::string  diff --git a/html/classcore_1_1IPAddressList-members.html b/html/classcore_1_1IPAddressList-members.html index 4d47b63..8d59b01 100644 --- a/html/classcore_1_1IPAddressList-members.html +++ b/html/classcore_1_1IPAddressList-members.html @@ -1,9 +1,9 @@ - + - +My Project: Member List @@ -29,18 +29,21 @@
tag
- + +/* @license-end */ - + +/* @license-end */
std::map< std::string, IPAddressgetList ()   - -bool add (IPAddress ipAddress) -  + +void add (IPAddress ipAddress) +  bool remove (IPAddress ipAddress)   @@ -94,7 +97,7 @@ bool contains (std::st diff --git a/html/classcore_1_1IPAddress__coll__graph.map b/html/classcore_1_1IPAddress__coll__graph.map index 7eca7d2..81aa07c 100644 --- a/html/classcore_1_1IPAddress__coll__graph.map +++ b/html/classcore_1_1IPAddress__coll__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/html/classcore_1_1IPAddress__coll__graph.md5 b/html/classcore_1_1IPAddress__coll__graph.md5 index 25ec95e..63ac5ab 100644 --- a/html/classcore_1_1IPAddress__coll__graph.md5 +++ b/html/classcore_1_1IPAddress__coll__graph.md5 @@ -1 +1 @@ -3b3fbb00dc006532931123df36fd8468 \ No newline at end of file +156ef09bd41be803b2f51d7f424cd841 \ No newline at end of file diff --git a/html/classcore_1_1IPAddress__coll__graph.png b/html/classcore_1_1IPAddress__coll__graph.png index 4ca1e1f40d948a97105011818c12c71f0d5e0a68..bb94f98ccc6513e1bc57e0d2bcefd47a0a48f2d9 100644 GIT binary patch literal 3907 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 Xq(m$r`F`r}*9p*4*N0TA*+u^kex^GV diff --git a/html/classcore_1_1IPAddress__inherit__graph.map b/html/classcore_1_1IPAddress__inherit__graph.map index 7eca7d2..81aa07c 100644 --- a/html/classcore_1_1IPAddress__inherit__graph.map +++ b/html/classcore_1_1IPAddress__inherit__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/html/classcore_1_1IPAddress__inherit__graph.md5 b/html/classcore_1_1IPAddress__inherit__graph.md5 index 9fc789d..63ac5ab 100644 --- a/html/classcore_1_1IPAddress__inherit__graph.md5 +++ b/html/classcore_1_1IPAddress__inherit__graph.md5 @@ -1 +1 @@ -af05ea810e19e939cc00405a63da9dfe \ No newline at end of file +156ef09bd41be803b2f51d7f424cd841 \ No newline at end of file diff --git a/html/classcore_1_1IPAddress__inherit__graph.png b/html/classcore_1_1IPAddress__inherit__graph.png index 4ca1e1f40d948a97105011818c12c71f0d5e0a68..bb94f98ccc6513e1bc57e0d2bcefd47a0a48f2d9 100644 GIT binary patch literal 3907 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 Xq(m$r`F`r}*9p*4*N0TA*+u^kex^GV diff --git a/html/classcore_1_1Object-members.html b/html/classcore_1_1Object-members.html index 7ad76cf..3c02168 100644 --- a/html/classcore_1_1Object-members.html +++ b/html/classcore_1_1Object-members.html @@ -1,9 +1,9 @@ - + - + My Project: Member List @@ -29,18 +29,21 @@
- + +/* @license-end */ - + +/* @license-end */
Inheritance graph
- - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + +
[legend]
@@ -113,7 +117,7 @@ std::string  diff --git a/html/classcore_1_1Object__inherit__graph.map b/html/classcore_1_1Object__inherit__graph.map index 3ababec..65d5838 100644 --- a/html/classcore_1_1Object__inherit__graph.map +++ b/html/classcore_1_1Object__inherit__graph.map @@ -1,21 +1,22 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/html/classcore_1_1Object__inherit__graph.md5 b/html/classcore_1_1Object__inherit__graph.md5 index 0d3c9be..88d4587 100644 --- a/html/classcore_1_1Object__inherit__graph.md5 +++ b/html/classcore_1_1Object__inherit__graph.md5 @@ -1 +1 @@ -a9cce15cc34832b431df91662c11b71d \ No newline at end of file +5a2b724a1e8a7d2243ff22dd57444659 \ No newline at end of file diff --git a/html/classcore_1_1Object__inherit__graph.png b/html/classcore_1_1Object__inherit__graph.png index 99816f04da960123dc59cde4890ad23172fde1a1..35be2c757517cf7c2c57c6995aeb0a51c591066b 100644 GIT binary patch literal 53330 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 literal 47078 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 + - + My Project: Member List @@ -29,18 +29,21 @@
tag
- + +/* @license-end */ - + +/* @license-end */
Inheritance graph
- + +
[legend]
@@ -82,7 +86,8 @@ Collaboration diagram for core::SessionFilter:
Collaboration graph
- + +
[legend]
@@ -110,7 +115,7 @@ std::string  diff --git a/html/classcore_1_1SessionFilter__coll__graph.map b/html/classcore_1_1SessionFilter__coll__graph.map index 9c18031..f35924b 100644 --- a/html/classcore_1_1SessionFilter__coll__graph.map +++ b/html/classcore_1_1SessionFilter__coll__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/html/classcore_1_1SessionFilter__coll__graph.md5 b/html/classcore_1_1SessionFilter__coll__graph.md5 index 5b37d0c..e75907b 100644 --- a/html/classcore_1_1SessionFilter__coll__graph.md5 +++ b/html/classcore_1_1SessionFilter__coll__graph.md5 @@ -1 +1 @@ -808a9f2c332a110e5262a651ca2ff7c1 \ No newline at end of file +49ec60c1d28ae09032cf4b8ee15c98a8 \ No newline at end of file diff --git a/html/classcore_1_1SessionFilter__coll__graph.png b/html/classcore_1_1SessionFilter__coll__graph.png index 8512724310b8f7e913d562bd37bb459c84c751c0..f68f200817346fb10ce10a75ab5e9a05bb909360 100644 GIT binary patch literal 3675 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 HZ9@MC^))5m literal 3447 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 diff --git a/html/classcore_1_1SessionFilter__inherit__graph.map b/html/classcore_1_1SessionFilter__inherit__graph.map index 9c18031..f35924b 100644 --- a/html/classcore_1_1SessionFilter__inherit__graph.map +++ b/html/classcore_1_1SessionFilter__inherit__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/html/classcore_1_1SessionFilter__inherit__graph.md5 b/html/classcore_1_1SessionFilter__inherit__graph.md5 index 9e8a557..e75907b 100644 --- a/html/classcore_1_1SessionFilter__inherit__graph.md5 +++ b/html/classcore_1_1SessionFilter__inherit__graph.md5 @@ -1 +1 @@ -c829fe9289b5779616664f8a6bcd9c0b \ No newline at end of file +49ec60c1d28ae09032cf4b8ee15c98a8 \ No newline at end of file diff --git a/html/classcore_1_1SessionFilter__inherit__graph.png b/html/classcore_1_1SessionFilter__inherit__graph.png index 8512724310b8f7e913d562bd37bb459c84c751c0..f68f200817346fb10ce10a75ab5e9a05bb909360 100644 GIT binary patch literal 3675 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 HZ9@MC^))5m literal 3447 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 diff --git a/html/classcore_1_1Socket-members.html b/html/classcore_1_1Socket-members.html index 9563454..7b4fd22 100644 --- a/html/classcore_1_1Socket-members.html +++ b/html/classcore_1_1Socket-members.html @@ -1,9 +1,9 @@ - + - + My Project: Member List @@ -29,18 +29,21 @@
tag
- + +/* @license-end */
This is the complete list of members for core::Socket, including all inherited members.

- - - + + + - - - - - - - + + + + + + + - - + + - +
active (defined in core::Socket)core::Socket
bufferSize (defined in core::Socket)core::Socket
ePoll (defined in core::Socket)core::Socketprotected
eventReceived(struct epoll_event event)core::Socket
ePoll (defined in core::Socket)core::Socketprotected
eventReceived(struct epoll_event event, pid_t threadId)core::Socket
getBufferSize() (defined in core::Socket)core::Socketprotected
getDescriptor()core::Socket
name (defined in core::Object)core::Object
needsToWrite() (defined in core::Socket)core::Socket
onDataReceived(std::string data)core::Socketprotectedvirtual
onDataReceived(char *buffer, int len) (defined in core::Socket)core::Socketprotectedvirtual
onRegister()core::Socketvirtual
onRegistered() (defined in core::Socket)core::Socketvirtual
onUnregister()core::Socketvirtual
output(std::stringstream &out) (defined in core::Socket)core::Socket
receiveData(char *buffer, int bufferLength)core::Socketprotectedvirtual
setBufferSize(int length) (defined in core::Socket)core::Socketprotected
setDescriptor(int descriptor)core::Socket
shutDown (defined in core::Socket)core::Socketprotected
onRegistered()core::Socketvirtual
onUnregister() (defined in core::Socket)core::Socketvirtual
onUnregistered()core::Socketvirtual
output(std::stringstream &out) (defined in core::Socket)core::Socket
receiveData(char *buffer, int bufferLength)core::Socketprotectedvirtual
setBufferSize(int length) (defined in core::Socket)core::Socketprotected
setDescriptor(int descriptor)core::Socket
shutdown(std::string text="unknown")core::Socket
Socket(EPoll &ePoll) (defined in core::Socket)core::Socket
Socket(EPoll &ePoll, std::string text) (defined in core::Socket)core::Socket
shutDown (defined in core::Socket)core::Socketprotected
Socket(EPoll &ePoll, std::string text="")core::Socket
tag (defined in core::Object)core::Object
write(std::string data)core::Socket
write(char *buffer, int length) (defined in core::Socket)core::Socket
~Socket() (defined in core::Socket)core::Socket
~Socket()core::Socket
diff --git a/html/classcore_1_1Socket.html b/html/classcore_1_1Socket.html index eb01ceb..af2cf5d 100644 --- a/html/classcore_1_1Socket.html +++ b/html/classcore_1_1Socket.html @@ -1,9 +1,9 @@ - + - + My Project: core::Socket Class Reference @@ -29,18 +29,21 @@ - + +/* @license-end */
Inheritance graph
- - - - - - - - - - - - - + + + + + + + + + + + + + +
[legend]
@@ -99,32 +103,32 @@ Collaboration diagram for core::Socket:
Collaboration graph
- - - + + + +
[legend]
- - - - + + + + - + - + - - - + + + - + +virtual void  + - - + + + +

Public Member Functions

Socket (EPoll &ePoll)
 
Socket (EPoll &ePoll, std::string text)
 
 Socket (EPoll &ePoll, std::string text="")
 
 ~Socket ()
 
void shutdown (std::string text="unknown")
 
void setDescriptor (int descriptor)
 Set the descriptor for the socket. More...
 Set the descriptor for the socket. More...
 
int getDescriptor ()
 Get the descriptor for the socket.
 Get the descriptor for the socket.
+
 
bool eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
bool eventReceived (struct epoll_event event, pid_t threadId)
 Parse epoll event and call specified callbacks. More...
 
int write (std::string data)
 
@@ -134,24 +138,24 @@ void write (char *buff void output (std::stringstream &out)
 
virtual void onRegister ()
 Called when the socket has finished registering with the epoll processing. More...
 Called before the socket has registered with the epoll processing. More...
 
-virtual void onRegistered ()
onRegistered ()
 Called after the socket has been registered with epoll processing.
 
virtual void onUnregister ()
 Called when the socket has finished unregistering for the epoll processing. More...
+virtual void onUnregister ()
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
bool needsToWrite ()
 
- - - @@ -168,8 +172,11 @@ Protected Member Functions + + - + @@ -189,13 +196,69 @@ bool  - + + + + + + + + + + +

Public Attributes

-class {
bufferSize
 
bool active = false
 
void setBufferSize (int length)
 
+int getBufferSize ()
 
virtual void onDataReceived (std::string data)
 Called when data is received from the socket. More...
 Called when data is received from the socket. More...
 
virtual void onDataReceived (char *buffer, int len)
shutDown = false<

Detailed Description

Socket

The core component to managing a socket.

-

Hooks into the EPoll through the registration and unregistration process and provides a communication socket of the specified protocol type. This object provides for all receiving data threading through use of the EPoll object and also provides buffering for output data requests to the socket.

-

A program using a socket object can request to open a socket (file or network or whatever) and communicate through the streambuffer interface of the socket object.

-

The socket side of the Socket accepts EPOLLIN event and will maintain the data in a buffer for the stream readers to read. A onDataReceived event is then sent with the data received in the buffer that can be read through the stream.

+

Hooks into the EPoll through the registration and unregistration process and provides a communication socket of the specified protocol type. This object provides for all receiving data threading through use of the EPoll object and also provides buffering for output data requests to the socket.
+

+

A program using a socket object can request to open a socket (network or device) and communicate through the streambuffer interface of the socket object.

+

The socket side of the Socket accepts EPOLLIN event and will maintain the data in a buffer for the stream readers to read. A onDataReceived event is then sent with the data received in the buffer that can be read through the stream. Only sockets that send events to epoll can be used with this object.

When writing to the stream the data is written into a buffer and a EPOLLOUT is scheduled. Upon receiving the EPOLLOUT event then the buffer is written to the socket output.

-

Member Function Documentation

- -

◆ eventReceived()

+

Constructor & Destructor Documentation

+ +

◆ Socket()

+ +
+
+ + + + + + + + + + + + + + + + + + +
core::Socket::Socket (EPollePoll,
std::string text = "" 
)
+
+

Constructor

+
Parameters
+ + + +
ePollThe EPoll socket descriptor.
textA title for this socket.
+
+
+ +
+
+ +

◆ ~Socket()

+ +
+
+ + + + + + + +
core::Socket::~Socket ()
+
+

Destructor

+ +
+
+

Member Function Documentation

+ +

◆ eventReceived()

@@ -204,8 +267,18 @@ bool 
shutDown = false< bool core::Socket::eventReceived ( struct epoll_event event)event,
pid_t threadId 
)
@@ -276,15 +349,15 @@ bool shutDown = false<
-

Called when the socket has finished registering with the epoll processing.

+

Called before the socket has registered with the epoll processing.

The onRegister method is called before the socket is registered with ePoll so objects extending the Socket definition can initialize the socket before receiving events. Evoked when the descriptor is set using setDescriptor for the socket.

-

Reimplemented in core::TCPSession, and core::TLSSession.

+

Reimplemented in core::TLSSession.

- -

◆ onUnregister()

+ +

◆ onUnregistered()

@@ -293,7 +366,7 @@ bool shutDown = false< - + @@ -307,7 +380,7 @@ bool 
void core::Socket::onUnregister void core::Socket::onUnregistered ( ) shutDown = false<

Called when the socket has finished unregistering for the epoll processing.

-

The onUnregister method is called whenever the socket is unregistered with ePoll and socket communcation events will be stopped. The default method will close the socket and clean up the connection. If this is overridden by an extended object then the object should call this method to clean the socket up.

+

The onUnregistered method is called whenever the socket is unregistered with ePoll and socket communcation events will be stopped. The default method will close the socket and clean up the connection. If this is overridden by an extended object then the object should call this method to clean the socket up.

@@ -367,7 +440,7 @@ bool 
shutDown = false<

Set the descriptor for the socket.

-

setDescriptor establishes the file descriptor for the socket and registers the socket on the EPoll controller. setDescriptor will invoke the onRegister() event.

+

setDescriptor establishes the file descriptor for the socket and registers the socket on the EPoll controller. setDescriptor will invoke the onRegister() event.

@@ -418,7 +491,7 @@ bool 
shutDown = false< diff --git a/html/classcore_1_1Socket__coll__graph.map b/html/classcore_1_1Socket__coll__graph.map index 5d5b731..88e030c 100644 --- a/html/classcore_1_1Socket__coll__graph.map +++ b/html/classcore_1_1Socket__coll__graph.map @@ -1,5 +1,6 @@ - - - + + + + diff --git a/html/classcore_1_1Socket__coll__graph.md5 b/html/classcore_1_1Socket__coll__graph.md5 index adf45fb..14829d4 100644 --- a/html/classcore_1_1Socket__coll__graph.md5 +++ b/html/classcore_1_1Socket__coll__graph.md5 @@ -1 +1 @@ -69112406f6e1b169165eaf15d0d8693f \ No newline at end of file +c0f47b406c7ff76945bd289ef7e198f8 \ No newline at end of file diff --git a/html/classcore_1_1Socket__coll__graph.png b/html/classcore_1_1Socket__coll__graph.png index 50d6e28970eca344711072530d9088a0b4e2124d..fec35603b50cd04dbc0023a359052ed8e7b4f4d6 100644 GIT binary patch literal 11305 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 literal 10987 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 - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/html/classcore_1_1Socket__inherit__graph.md5 b/html/classcore_1_1Socket__inherit__graph.md5 index 01198a1..5c3ac3c 100644 --- a/html/classcore_1_1Socket__inherit__graph.md5 +++ b/html/classcore_1_1Socket__inherit__graph.md5 @@ -1 +1 @@ -7ef660fbc96e2f0002243bed1d5353f3 \ No newline at end of file +f73296e2ab61d2bedb4fadf8f8d76fd0 \ No newline at end of file diff --git a/html/classcore_1_1Socket__inherit__graph.png b/html/classcore_1_1Socket__inherit__graph.png index 4090821a05dc1a22864c59292ffd8f73b08ef2b8..37b75e3477b6dd115774f8620d879711f29c0b6d 100644 GIT binary patch literal 30057 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 literal 23688 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 diff --git a/html/classcore_1_1TCPServer-members.html b/html/classcore_1_1TCPServer-members.html index 9452d81..d64dbed 100644 --- a/html/classcore_1_1TCPServer-members.html +++ b/html/classcore_1_1TCPServer-members.html @@ -1,9 +1,9 @@ - + - + My Project: Member List @@ -29,18 +29,21 @@

- + +/* @license-end */
active (defined in core::Socket)core::Socket blackListcore::TCPServer - bufferSize (defined in core::Socket)core::Socket - check(std::string request)core::Commandvirtual - commandscore::TCPServer - connect(IPAddress &address) (defined in core::TCPSocket)core::TCPSocket - ePoll (defined in core::Socket)core::Socketprotected - eventReceived(struct epoll_event event)core::Socket + check(std::string request)core::Commandvirtual + commandscore::TCPServer + connect(IPAddress &address) (defined in core::TCPSocket)core::TCPSocket + ePoll (defined in core::Socket)core::Socketprotected + eventReceived(struct epoll_event event, pid_t threadId)core::Socket + getBufferSize() (defined in core::Socket)core::Socketprotected getDescriptor()core::Socket getName() (defined in core::Command)core::Command getSocketAccept(EPoll &epoll)core::TCPServervirtual @@ -86,23 +89,23 @@ $(function() { onDataReceived(std::string data) overridecore::TCPServerprotectedvirtual onDataReceived(char *buffer, int len) (defined in core::Socket)core::Socketprotectedvirtual onRegister()core::Socketvirtual - onRegistered() (defined in core::Socket)core::Socketvirtual - onUnregister()core::Socketvirtual - output(TCPSession *session)core::TCPServer - core::TCPSocket::output(std::stringstream &out)core::TCPSocketvirtual - core::Command::output(Session *session)core::Commandvirtual - processCommand(std::string command, TCPSession *session, std::stringstream &data) overridecore::TCPServerprotectedvirtual - receiveData(char *buffer, int bufferLength)core::Socketprotectedvirtual - removeFromSessionList(TCPSession *session) (defined in core::TCPServer)core::TCPServer - sessionErrorHandler(std::string errorString, std::stringstream &out) (defined in core::TCPServer)core::TCPServervirtual - sessionscore::TCPServer - setBufferSize(int length) (defined in core::Socket)core::Socketprotected - setDescriptor(int descriptor)core::Socket - setName(std::string name)core::Command - shutdown(std::string text="unknown")core::Socket + onRegistered()core::Socketvirtual + onUnregister() (defined in core::Socket)core::Socketvirtual + onUnregistered()core::Socketvirtual + output(TCPSession *session)core::TCPServer + core::TCPSocket::output(std::stringstream &out)core::TCPSocketvirtual + core::Command::output(Session *session)core::Commandvirtual + processCommand(std::string command, TCPSession *session, std::stringstream &data) overridecore::TCPServerprotectedvirtual + receiveData(char *buffer, int bufferLength)core::Socketprotectedvirtual + removeFromSessionList(TCPSession *session) (defined in core::TCPServer)core::TCPServer + sessionErrorHandler(std::string errorString, std::stringstream &out) (defined in core::TCPServer)core::TCPServervirtual + sessionscore::TCPServer + setBufferSize(int length) (defined in core::Socket)core::Socketprotected + setDescriptor(int descriptor)core::Socket + setName(std::string name)core::Command shutDown (defined in core::Socket)core::Socketprotected - Socket(EPoll &ePoll) (defined in core::Socket)core::Socket - Socket(EPoll &ePoll, std::string text) (defined in core::Socket)core::Socket + shutdown(std::string text="unknown")core::Socket + Socket(EPoll &ePoll, std::string text="")core::Socket tag (defined in core::Object)core::Object tag (defined in core::Object)core::Object TCPServer(EPoll &ePoll, IPAddress address, std::string text="")core::TCPServer @@ -111,7 +114,7 @@ $(function() { whiteListcore::TCPServer write(std::string data)core::Socket write(char *buffer, int length) (defined in core::Socket)core::Socket - ~Socket() (defined in core::Socket)core::Socket + ~Socket()core::Socket ~TCPServer()core::TCPServer ~TCPSocket() (defined in core::TCPSocket)core::TCPSocket
@@ -119,7 +122,7 @@ $(function() { diff --git a/html/classcore_1_1TCPServer.html b/html/classcore_1_1TCPServer.html index 9417626..7d4863f 100644 --- a/html/classcore_1_1TCPServer.html +++ b/html/classcore_1_1TCPServer.html @@ -1,9 +1,9 @@ - + - + My Project: core::TCPServer Class Reference @@ -29,18 +29,21 @@
- + +/* @license-end */
Inheritance graph
- - - - - - + + + + + + +
[legend]
@@ -91,14 +95,15 @@ Collaboration diagram for core::TCPServer:
Collaboration graph
- - - - - - - - + + + + + + + + +
[legend]
@@ -133,12 +138,10 @@ void  - - - - + + + + @@ -146,11 +149,12 @@ void  - + - - - + + + - + +virtual void  + - - + + + + @@ -197,10 +205,6 @@ Public AttributesIPAddress  - - - @@ -222,6 +226,9 @@ Protected Member Functions + + @@ -494,7 +501,7 @@ bool 
connect (virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from core::Socket
Socket (EPoll &ePoll)
 
Socket (EPoll &ePoll, std::string text)
 
 Socket (EPoll &ePoll, std::string text="")
 
 ~Socket ()
 
void shutdown (std::string text="unknown")
 
void setDescriptor (int descriptor)
connect ( 
int getDescriptor ()
 Get the descriptor for the socket.
 Get the descriptor for the socket.
+
 
bool eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
bool eventReceived (struct epoll_event event, pid_t threadId)
 Parse epoll event and call specified callbacks. More...
 
int write (std::string data)
 
@@ -160,14 +164,18 @@ void write (char *buff void output (std::stringstream &out)
 
virtual void onRegister ()
 Called when the socket has finished registering with the epoll processing. More...
 Called before the socket has registered with the epoll processing. More...
 
-virtual void onRegistered ()
onRegistered ()
 Called after the socket has been registered with epoll processing.
 
virtual void onUnregister ()
 Called when the socket has finished unregistering for the epoll processing. More...
+virtual void onUnregister ()
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
bool needsToWrite ()
 
ipAddress
 
- Public Attributes inherited from core::Socket
-class {
bufferSize
 
bool active = false
 
void setBufferSize (int length)
 
+int getBufferSize ()
 
virtual void onDataReceived (char *buffer, int len)
 
shutDown = false< diff --git a/html/classcore_1_1TCPServer__coll__graph.map b/html/classcore_1_1TCPServer__coll__graph.map index 1207a40..ec3aa71 100644 --- a/html/classcore_1_1TCPServer__coll__graph.map +++ b/html/classcore_1_1TCPServer__coll__graph.map @@ -1,10 +1,11 @@ - - - - - - - - + + + + + + + + + diff --git a/html/classcore_1_1TCPServer__coll__graph.md5 b/html/classcore_1_1TCPServer__coll__graph.md5 index f30d23c..e7e71e7 100644 --- a/html/classcore_1_1TCPServer__coll__graph.md5 +++ b/html/classcore_1_1TCPServer__coll__graph.md5 @@ -1 +1 @@ -3feaddc5f29c199ea67975f439e6fce2 \ No newline at end of file +e812285cad995aee8aca01cf476355f5 \ No newline at end of file diff --git a/html/classcore_1_1TCPServer__coll__graph.png b/html/classcore_1_1TCPServer__coll__graph.png index ea36462497a20571916cdd126d1cd35130edfa27..0a405a96d029e987c861313dd3872b54e2993ec8 100644 GIT binary patch literal 41516 zcmcG$WmHws7cY8HT0m5~k94bam!NbWI;9(=8|g-nlI|`Ek(Tc6?(S~5%m4q~JMMk& z!~62y=EE7|jIqz&YpuEFoWEEE%gKB~M>VYJWd z&k9vlI+&Cg_LakWl2cHmhZ*}l|@7;7|I0z)2J0AwV%a0IpgcP1#UQ+Qq6XoLOW>PKp z-p7J?v%{Iep0~EO5fc%epPzSQ2s8fr^~>NB1X2Z+D zQ00I7NenY=@XLk1|MO|VFB-@W^PkGCI?XB+D(C_(5A81b`d6TSm^@!AWNM_3Tm(|2 z4Tx>z@0WfmC}ci^czX+#yngXfyWL`|iT;fg)j`wc`NbIFosr`;9%p)&-!WS96XCm# z)HBDyeWryNnLj6c$;8jTaQPskK_EWxc9R`KH!0pfp>*^l^P2PWuc3b5e>y}y@;M-J z_do2ZH@7L=FTT~^;BP4mUa;vsJ)4#*gh0lhPr(=ix5TVTX4*7G#25Noj29Lxh@gJQ z_X(DsgE;D^6@^rMc|;-1l$cR(xZ6A)!h^gYjc_WnreQ}Sk3=TM=?rCGR(WlQe!P7K zZ4cHmpfapHMYzhFioFtMg1Iszo|MQ<=qAdluls8WIMtv*{cw4w*Yz^!^0KY3nz6m| zD!d4uuTROR^f$C0SUt_f$G93K>`V{8j`Bi>gDg9xD_3JZZXDy4k(;#cY>6`u$#zDB zCpz%Q{~eQ+A!^F{>v7bUy^h3_vdB!x{dDvtIVB0N(pb-CrrX09SL3n1TYrTxaKK5x z-P3WJoMTvj^(Pw9NO&U$i7KB`TEuYVR6|&MWGqgKrJ>i3+U)O8wym|hGTwHNYOkrS zmAqAf_7sB1luKfq>*%|O;)?t_V%t38z+Gw zaMJBL($%w2{XSdZ{Wd&HVoO_PS>QZNDq&4|8VYd+wCH)4znkC3gL2WJqQgqtIX{`O zQ^_o*?tyD#|0FKrjHXAPr-u2P`vc)-6oQ3@E~g^Xgv%v!ZKyD^ozDEP+-QMxV>L{7o&4x;<0X{PcsY3}z#~VWuWUt0y{-!K|OIUT2%A$cK@$ zxh{}wa~}*C{O0q51&6Jhk(PN9Kgo=`XF~bHbM=krRK{NCPA&>pzvCb+D}cH4(7DAc zaIgq#!h_&~*Y{@3Da}z%OjK5|Q}Z$Yh*-k^lsY^-x$Ge>bH^T;e0E_+CnBO46<}8C zkJ%bCu9SW7oW#gr;+n{5t5;j#4ZlAs)X(59jDXI8aeJA^vBY;idrd>+1nOCeioBxM zqeEwo@y1_VTr}}^b}4anZbTJnq3)+w>KO(EqV%k~FlW{+qQV2~&#}F*jQHbRW#6Wi zc)oJF`Ahr>defSx!-VlxpX}}n$p{tKFvqB;6Dp}0%X4pLo-M2TBu%-*yVdb9PbPEy zLd>_Pt4wLNmzm!M1sdZ>%dH}<4+%J~nj@B6FIW2V{_x~I3#em~A!xAkt^W{!sqO5t z(OSv;;jD>&n#b;eoKV18^46OB%UNF-*#Gh{Z4A*D5J5ipYev6e{};HPZm86ZUpC5_ z4wTlh9C%zx8-MhWBl|3G%+Im5j!21U3w2doWqS;T*!sj1%xf&J*^3XPj(xC)E1W{fD($m0UGC30fC_EVgUIlhc2f z+2#}$1d@nMj{K+Kkq0k8>yM4l{v|xL0^^VRJW-nCgsc$F!PGv=YaAS^m`SjAjo%?o z)4hr{EvOCZDc(ZFgFu3C^I;{JTT2Kjh^dOH{I!v2Gx8u+W9kmN(zox|uIaa6R49UE z{r9iK|CvnxuRMzd(;C>g;}kNatUnZjKui{Ntwh^M1Uwm5NkT(srpmmCSvvRQ*DTnN zj+(~;&{@pN5q!u<`1?nOzq7xWPanG}cAFF4+1YV*b$w=y1A$!o7=I)5*7JE1eR7MA z7L$;8u2!5K9nI71{#jU9MbuDLd(oDpEVIQiLCTVi&D!U0QITR%QL~bY*TxBaZC+!1 zJTC7GGzca--g66Y8r)Ycw(diz^@W9PCagWaNK;dMP?~LufcMJ9oMQ=-)BF9Rp@{l; zBI>iMq8*|l`k7g4w`}I6?d|UQrJGf}j97FK?`|-17#6O|V4}nA|kGm2-_=lOw*xlXJ`@|cRh&OG4N8+Eadso~wqLhVwT8z#pD7Llg@Gf@r z-|Gr~QdC6$=EVf6t*TrR&B{Ph7|NT7_4OFrT3)~JAtC!o9D94IMwX2Y`T5a3*|I-J z%{xM%;ig=SCFRyje|secnU_om(A(aHb+w_RDIsE1?aWP$wzRh}R3$Uc#|IO-;RVj7`W;KhHuK zr_8Z4r!Wm$_3?1Vb}T*fl;#jvVg#X*w{MaLw0^CQHn?nY5|PA*P7$@gTi-TOzgpiK zQZ%Wue#7U?yShD+Aa?n|BH>{;;}T7*(T;z|{&ulZpMp|Pfd=B8nXVi~#Zo!lrhnD* zn;S}G~%^4PV%H(vmh|cmSi$p_O6I z*!d7BJlcHJ}9MtWN(GJG|>4(Bwozjd`#$w5{ugh4+ly>j#&yo`>!DORb{gJ-M(l6Cy z*|e`_q$?-Rcb5zFjD~C#Iy^kSE@!t>R`_l2(AqwH2>GJ_Bk9ov?1yc^lGoL%tG!?j zkbVAol_(-l2>f~rg;pP8t2(f4jTZ!lAGto>Kc?^yPNeSR;%#qio9rGmGLtQTNE)zo z2V06vLaykew5TXMg~4o#?-~|%4qlkfR*)ShFA~y^x}%Ut*#e%7B z9m5$Zn8K{Hkw-q+6j>r56>kZ6+~yoQU<>CL7T%ukP%)^O=%y3kZHr)j*3$B9LmW!< zU0l@4%EY0klXyu`rGKqYWQ>_gNPH+Ptgz=MhWhCxG&a6kLi)P4 z+H}ka)nplGWDUy%X~Ah%GNydx2YLIrG(SJl~g#i&FZ@ z59AqD5E+{-zOoq^Lq0xYyzYP8`|-LGMZZ2>`wsnp6%;I`J}VW<8>67WTcS?K#fE7& z-8YD99nEv~j+{(Ii6Q#3n=3cdt8C`xVAuVz2n};zs2W0oK>QFVRo{MsVb|+4mk@Jr zlW?;(ZFZ04r9C_hAtBzLZ=aag*12<;EdCYD0o$!(_5LQWsI;^qA|g69 zHAI(m&F~i|A^SY1>$whd8B-FwOHZ!^YPl^)bBJJuRjYS<{a?stX2qMC(s~MX8`-@_ zE8;;+h*t?%^UKW@9uV;LJqqw^@9ZqaG;2-b&|y}$7m|^o<8-#4Dn0O<#f3obNx+6B zgF-K+e(_8m49j1()!Lux6AD+E+NU>)%9?u zd?lc~{yD^Z>0eB1GBr8d=KK2oij??jKZKHRZJA*qp!O?yv|dw)V(C~lxK?3ZX79Ap>~ zj3g>7Ec5T*ATB%2Yo?5GrGS7!g8_Rvx$m=;T}OYv{hBIkCSo<|nybOjZU@ML7QB?f zOhss7Vu;;V9cnfkIeB$eRcoC_NKpTGsH4*%gOYNbgVPd-6~uRAFJ`oJ87UVo`$X<|KT48^_0Leeo}6DmFH|qmU{p^-zQ$-sK=Y)U~#TRGXKD zlOBzi5T>Qls?EKOjBu_FiJdnjcxypoDZw76%h33} zpBaN?w=>%E%tBFITnq*~j8F0D`C?w=wKXVgeNDpHz78&2-sP9JMU}j}&Cca3OfZ%!&__ z(Uf|rsal#^B?yauYHM*E%wXY*jf{u$Y6f~42M3L~ahUKBWXy3o=xq54cW8%N^{!W| z$vjx^wNGXfbbj9x6X!vI`TB?v36QYZZ(EHX<-JQeLeAf_)Wrf$~*&h)t8rMv2q~l5MB&kfm&&w-}t@m z9mmv1WRLp<#_UUt?s26x5M@J&6HWt(ML(#B=^6Ye;o%?yAZBQOTZZ-zGNGWIztYA9 z3mX#hL8;ylM(8VacI8z6)o`%h>8Hmn{9@x>#QsMJ#1^4i;&`!nh}Zd@>&yoyVq(e+ zM+37$p$&CdmYs3dTn+B!?u6(3AM$cPGDx~hx-tr0eCQAe(oQk2{sfZN!@haVP@ggS z-RSuE*+#eXZ_o9u=bgE1mLoWEPa$!LaI!OaL4bAI+Q_M;-PA4QG%{blkFzJKvynmqj<8VrCt&xn3sknF!^6hJ6 zEv=36@}F>UB=t^9#P7d&DJ#F935Gyc;ml(HV#5D2kjDaVfZh-4tFW+hW*V9!u+K(wwhXABL4x4&Vb9*YetowsKYDpUo*-3c;yOO27#ACR ze=KAX0M}euH69V9x_q!;Ihg$2bWA2>BnJxd#*!<7C#TM{ZwnwC%f0wrJ%Ov1hZmrx zYSQeHL|Z|E@L3`Hm(@afrEwmg$8E=igNB90hkq|Q4yOBE9ODZWr5NpUUGJc~gJB_+ zVyDf6iK2&v`WGd|_Kgjfi13;L|CaM#YVzKj()lRXG*dV6NlZ+*T}wl4r@<{AI%&77 z1ly2FPN>rF>OR{_b9UaBkip5DvxY!MywxWZa&n4e>C3{1W)@~3CFh(2u!fVEDGr*zkdM#+@BFidHH}Ch=PKYzW#;NQTta{ zQLQINC?^Lc<()=d)fwfG#SXUVt-f@gPr=6I6P zi=!q2G?H2koK+S7Vj;c6SAD`giQ^L%PF$H5PuM)(K?IYuZ#BrpGS z0};5vx32@28N8MC7smX92y+BQqzb+4k^qnNEji zCpjb?KV6xv>u|w|-)nHLZUVQ>uPMRRcYJ)Em34io!ITmVsZdQA4C$$m&hhDSuC;Bg z8_WPE8{!OHyR3qOmCf-&jwBKxenC{q2BEpR)+-$q%cZ7=leMnQ{a4WJ{2**>+QAgU z3McFGMD-#qVVf2ogoua;gFJ}0`f^>NsZH|nm4LNr0gKC5*^0`0vfBdhNK%1_@NjIy zNMtBM_&au{!|C_3qB#>dg~!LoRaLA2ya;mHXiczoMRrk8xQ7R+3g#*1_d9K;yB+J= zJFuxJDA+H_At42pm%od0m=crIQ^JR!W)3rJ?)G)lprVB(uyo~!AZdZ8wNFlZx2-gK zqI*R?hp1EM!=%eCW<;f>J8JE;dN5AuMMPi@4mVpv&C$dFY5P6vgb>p6@-orwf-zT$ zat%&8J31nwpvV=0EdNGRg-t?FuOpF7r7PTScXA+MpW%LHj<6M=tn_Lh^$D83c%7K& zFOL^fx)r|TeT$3l$g^mu^ZfS7G6T2xW;w4p; z489efpW@jf{eJ9)Nuo<1j45nnM9ecPkTA65=m+j?W>^#|_?NWN` z5{pCp`|X{P;FM|u!x(9#;zphEpf{MSISZMcAHUIg;TvvC-tm7%;_+5<4ZZj&l z=L<$4wNF#Se=biijH9z}kA+m^7#+ErhV8_c?-fW%qJ7UsBhcl?Z0FoLXnFP)s+%9> zCeoZ6gOUKHAXM2nm)2z^@RVq499N*cG{GUTzD^}-iC>)e{#=PWa(ROnh0pWEgcER8^uj$hCHdFT zV#0dZ(94$*tg-3lvdwpQ%ml*Qt^O|tZc`z{i9#iXDh_OU#zWFspGYZqKI=ES#TS(D z9UaV}y*i&rP`|JZ^-bRUCY4MESd<*mG|mUIA4$K;(ll!Zg69(z3rQK?DdNAirxYpb7ncPojcjK><$(&&~N3vnVW6AcF1Vi&nvfv@l z0>QiJY7rJqx;%s;h4#k=rat134DoP%6hZ>b@xZgIqFrn(dwQPw_4(Qz10>Vp%Y$l= zf>Q-#e^rb^d0q%38|E6(CMM)h7UO>$+hZGi3AGY7!dRH@|E_I^ItD%-cq@^+Fc-S3 zh@V4wIVh`HPjZVEACJt@X=hT9nP^7KKvW zTy=a*Xz<|;0Qijn{fEl;JDjLXkB|3P)WdWF+V|#)s>1xa=@T-QVUq6kBA=(M^K{1W z#j-};`E40(m{)PA6uNNani!ReoBP*?!I7cbG>0@_9kIM5`cq@^vpyo?^^6)ps92kY z<;B`s!Ph&fUSAgcu>IT?BvjN~7DpDsd=tq}TS>Osk>uCqB%)Gp>TVr% zdG^KAo>A*!K2kh~O$RQMm5U3PJrw?5w{_C8u?ot2&94zsmRzJ6wZzWF#qZqJg^gP@ zbDzGwkfmOaS#Rd6w>XURGefAm{4U=Z?Ra+-Ai$vH5ccQC z*_3F^E5-w2Z+28OY|=msQEDn91caMWlP|xws~a2jK>ZU(q5R#SuF=ouG+DziJti?^ z|MxQFJrt>Pd(`CiO@#kYGRpqsr^jk)uQ+EYR4gbbEBab(^OCRC;lsr#EVQJnF@2q|;Pg8&4#h-_n%$ zsmJbNkmO`+w#dxkd{*VXDIZmMW=yJS9%nFESk04-UdHefWe3P>f^a z$XyT$0$xxC=;1PH9-o}N5~72&BWtQW_>l#Ph6nr}RkE8`~^80e#ZXlqxF7~XY zk|yUSmDBba2BsS8ZQbvucFmY(00k+io38v&ZlU%kGxHpD(%l%NZ!s{aEZF0}gfarG z6e?J9yLo$o8x>{!+v*}JDvFFpGIV>dXnU8g?H%a#*}kd!V+#N8jb!pZ!?WdO-P83R zpBWh$t>(=${O&X|(j_(y6D4;U^ePIx zyl7r7?L2&qnScJw&Z^_L>8f)_ZzNw`VhXqyU#{r6Hv^N0r-mFE2>*)>s(Nx7Ih7_9ASBLzcJ#34eBm3IdlRVkEUW>oXI;ZaL zmw+X3;e9rtQ&dBpwJJ_P zu*U;t*_+;ds)DK9Cze9}@>90BMPFjWRful)P_zsL^p85&OTF4oXP9US;IyvkLR z6D2xVj^Do34hY~cdKf`@lT1O;#ON!7iQE+oB6gyv%>Jn95C9J~hKTP1D3HHLRU_)L z$;pI7?oKDG-^9es42)mlP*a~J;6WEFGJ_f#DpuM6$*SU>7Acdb@1AF`tfVycxD`#A z(bH4A^hC?d%%v*kR&T8#jMnys2-@p>^4{}XM1L4 zHKkK#Lv^U(Bi?j$6b~ek*Ewnt;@_xy-@rk_$8pRjPS)O^oX~3gz8>BwxfweeX^WA` zd$>D7s_;dYRKxF^a(bF7^REUp)@M=CxT70vYymB7Th4|^(#q%0$(u;!RpLqcX212U z-;p7G)B6mjxTPg~qX!NmJ(1|8b`~2YkA;W#-Z(-s5W_tc+fo|TUT!D$Iw$6+eKKKr zSjXiV&-seTB{NW@vNKw|l#N9Z_TtF_8RqrWIJ@CKS?tLy1E%Y0>Q9OYs)JBNABJgbE;(0#uJNEHwrPxoi3 zAO(HQ(hJ3X2{5ii-q^0yl2n%71)nBNt!I;G%cpN+q4{YAP>hLQi9by*_l$cCMlpq@ zs2cS@EdbV0`_Hk##ct8F2VMw7dN{ydw-u<+|MdcxO`LAv=42;$J+LJJ*489I(Y3L9F;N&2vRhYaiigG>pl8p0@c0nPX0A=< zw>hvkw6bi^ZDekaNx(feR(aOsp&v;asaA>Diw#*fc_X5SoB^gzrHm?>^S!u?O!Pj( z+ljnLLuY4ATU*1u`l-xPrlX@H$F)v+QPBdx_km4_mUZI%Cy^ix>D$PVzBd|TcwfiH zIt3C&m90bd;lf+wms+0}Tv)$bsDcty0OM_ko*V0K1XlP2=IbIg84-OWv|HFZzAwCQV%(c%G zLGrV}Gtmi4D^-(WMUS5xF<;Zr_1Yg&14nCGDa^A)O^FUXmsgd72cNB)_T4iRMxL;=g3v)&5D*5xZCshpu3k<($=5&W1XcSMBODGCd_4){gslYIn=lzxN5) z`FCMWCA z43Psu{`%Ojc6+Moy&>V!R6If6DV!&A^769_3%^~gYkp5oj44KhxK538$Rv*2UF>H3 zBiC(L_0H-LA*?X^GMJE1O+`gWjfLr0($vllt%mw8Ac3G@?|`gPX{_HB@gO3cd87Z_ z<4%3Cc5EF~>O}79sSs?DIOb;O+w&}=D-4K9!=z@>KWfird9lJ!#OzSE%FxP+*lNl1 z?7?S|f|m`A?3ai?U|mHd#}T2Fx;E$!}%b z+G`(#ElZ2@u80F6N1Ri1ykRJL7T`&wK$7bR3D6gD#>~8CyA0FV*p8Ogh$R5doI#z{ z1|%O)Q|j$^TqM6hAOz!P<`WqrBS%Zdpd&m@*_fEL-_Or0DH%5lfYWJ|ko^2PM$t&i{pXK&@iob9G+AohM{=Kn0q6*(CB_W}kYIA0FPkC6Dm)G8|*&zTl>hc@fJ#)KS^LO1UXt`HH+S`7j~TRI z3P9Y+&c=A|mfkI2?Av zqN7!Lc%E1I9t%y@;6p)r0}apoALwP9_tucW$@#v5+eH@6SBL5*k2}j3)Z$<8e!Eo0 z2Y$)};sdYy^nDR41ft`fDqU-{;&O1bltPo73p+1FK!h871@s<4!ya4uimyt zRlnkE=>r6={r%{!$PNo_htHpjV`F8yB3y;dmL?|XxVe8Bt?3Fy#l>+tn1uuf2h?0O zWoK)`{YDei5E)Rvc#+#yXZ&*pT==A{2ZeW)YTg2w3p{9Z1}b`>}<^Bhvkt`x5wX! zlH(mMf)XRZ5+xJB0$CnpT6Au<1c^&U=rownCrK)dBn{J@g9JFSA zx_sdod801y%v<8yC!s@Uwm#Q84zT?Au*ZEj3m>vSq&4>Ow)5Y=C#8Wa>G9BUS(i9> zrN15<00DR&M_acJp-+`IK5uIJB?`|1oHPNqw7XTbzaHjs*-2sS?&)lkT>!7;cDwMw z6RC&*RSlm_L}!kilc|#CNo4z@qCb@S%*LnVX!(e3)0|!c@cQ`gzX;6G5>WC#7X7|# zxV|oHJ={K7qp&=15f|qYHWLtNE_ON^;B&R;9%Oo@fD5TomM(>n)^K*$l5`i}O!P~J z^4s1DQE}+&2-I37y{To(QxZ_s&HeDUfr9N%jZ~nwGlmeRA?~NbnG%54Whj{gl`?B&c34WR1+Ws^Sg_td>KiGULSWOoxfHB|{F?23T^?EK4G6|KFGJjAZ zalO^Jb6)I$qH>Q}FK*c#Tfs!2W8`_;`BxgmCrpw4Z#0!fu?eY>CmH#Xydur2caNHN zc6S&*%Q6GLuPu%VeQ(0N5}AATtBbO7-_=nwbpz8^J4v_8`Stax_tbex&W(`aTUHme zcPwm@Bkdonjj)vywaaWhy-eP4{p7OOXKAzUOJoTjK$}tfDat8qPd?^|=65_FGd|i* zTlx%jLCt=;`6I)Af2xbWyn0ri@tZ;0bJY@_`Oz1!h z4tPDNA8kRw=Q$+a{_esPuEW9DMo%in`3m0)nth3;y{O`+Qd3UbzW&$D+U|Wh<~xO3 zo>I5$zfx$VWd=K5E%`1rAzuU%l|)@49AVqs^lbSgXX28SNOiUoY`aKN!m5Xiskfxjb=kzok4v7ih;UZB!k9oGI zIa6Of9{2o{E=k;_bQykfw4>rgyLEAOZL#^Do4vQa$nDEc+kk2~PJ(GM&xb9e-rlRHHCxb4yX$zW=|=tI6DIKL)z+B$ zW&I3j@QE-y62D8uUV~=_JFcN?$J#0CXSJIjg;kt9)d@t6Rf)K_-PAGAPo^g;$O9%<=PK|IiAS)81B;H=>0@k&c4J33+kDe!i?ul?g1;LSmQEt_ByGk{Z%!VL+M0Zsn$6&_k* zjnmZk@2V}OzSNk(!D`k^MnOi1x|Tp72Rult>R%sbdis>Hyu8j1kDpv;tQ}jm5W%IlOzw2h#13JtvzcKl9yxFp-(M}Kv`FC}pl5s{0Esvs}_Hf3O` z()jKrJb8R zsP;B?dw-mc5FPZhn`5n4PUw)>_q!ygmzOvm5uI<#OJ}mQixza> zcUb8ApP$=Tkl#nt*Du^&Ov$FY<6$lXTw{Nr{!G~9SeNHD%lV#h$HwWGFZ>up)AH?F zch~kM`MQico`A9#N*MXn-uPTlT0l!>XK&BV#U%Jk z#7CRGK9PY!e<`V+ZtYH7KR%RTWBJu6?jVt z?7_alBiUIMVY@a*PV;81mNf;Bq^Jg6rj`)h9gegG{$S~XhwNe|-NE2xJ~H0iYJ4Wc|?6YpwHzsj1OYQyhg+{>rXdN}A5&E{s484u_F|Q(tUJ z;EC7mVD?4D2Z-RSFN#IlDT4!ED#3OrVc%3m<%;~i%vLR0uwV86?4mIG23r#I63L@v{JYKkpHF@^%6Fve{7*DwPbv{fu zqnLrmC~WQV;i+7eNa2}*A+~^5>S^5@O)S2AqeS+YH&UapgH&XqmVQ19jTdZeXo)TzG|mXRq`DZ9)**H-zT zxc3Lw4pv+FKvLuUJa+`K+jY;6Aqpxu?~h;PinK|FXz!JR?V7RalLHHZ0VX^k;J!O* z;cCBDve)c4uvFo3mS_3Fr+uRRys~e>MA<>%gopVLto8tsSZiBa@Si2X=J@$3y?j}S26^k3ot+>fW3&!- zh3J&Q=j?JY&`tA}2LqBRvY-w-&iJsR%HCqlLn=cVd1OmQ1Dt3gfwM=`wi*WU%7DZM z+3@Me%b>KVJw7)#v$`5%r>3~+M|?cDn`2^eaW()G4GkYE)*xhWu}WaP?5{3VBs|Q` zFyRZCGUoYzm-J_fJ|7!J9ZJI;xx55aS$<(JfP^8r^;CfI0!WzALD^YeK8nxFlRG{% zlE9(7sw!lk6B6`H)EwrbTwUiM7W3>m^rOD6YKo|pE?s*0&R)^=4HqK9!s~&OMDwZF zfCMmnmw!!Kp(9Y#-@n@4&QRfdpPrNB{CIzUfB!+Cxh*z!eM$1U;B@|V5gatzgl57x zYb3$TqCuFkerPOq!e|r^PdJF_#4=4))kqv3hXGGcz6E#>#iofVskfTE(%1};{f!`# zM#jeJ8BkgO8SiR*{DKr74n8g}r`2|S3-)_XZ{>*0>RlegH#->QYzYcg5m{`!5j97w z;u>vY5rgf88OkVWg@yC$J&iuTSs|hH{<9;o^e6-brwet}Z_Jnn#Ip1}ZdDa*V#!~; zH~^@%#R8sBSOk!V!y`>7$fyJ^|LIi>${^;ilh^` zD$D%fJ(ilh{AMKquL4RNcS_w8p_XRx>Y5@@5P;XC2ynB2Q3M{BK>rs*idzu`kY}G3 zmN1q!n#;&+gcokRQekMciP_I!aqK1w>+2N81G`S^-OXxh9m2b-ds9AFN0o>e6fQ{L zm-ZIsd|J|%>aPHc>u$d@dbm9jtWrt=53fnZ^8(WP7O|S{$TBC4PElFWXP?Y+9OTu) z!mogPd8KeyW7Q}x_dRzXqKmGkCJuN`RIqEdfu{;^t1=+9W7&u9GeD62oyX}eFji|` z*%U!(dsP1nAMDRe1FN&&$YY5{85mdoC9;iHX{qwaNN_g8k7+!>X~BbP0<36&LFyiS z=Di#&RMP9AkzqwC=@`O3&{q^194sa$m;G0RiK*26a=*_Tju?Ki;%{x8dVK7!R9Rxk*wx6T?91+!+U z_4G*WdSM2XCsEDxB8`Q*i_J)ZexMe>Pv;*0`J)O7X52m&x@wilattls)*yO@vl>FW zc)m8UM@r#yhpQQvIFNlUQh7RR3)~-;`)1h&yu3$CvRI*Te+fVi0s9sxE}*&z3VH{E z#-%_}me*5i;guvL@gtfUb~-Y^>;lasgdB^YI-_K_BqT&)WAB5ShcKFmY=1B-qox*T z_Cj^sUr$vx-3h#GXQaUCDdqkEvifthR8shGU_zS7>gog(YaFwawTroAoL{5+PaOQ( zbo?V}Sy`|1ZTUVH)`^|5G@E2RjzP_Ht+Sl6vZL+o?kf=@jIvy1ttMVz!BuQ;fnYM^ z!_rLwxusUQX=Z;O?RYS*F$w^pR$VbM->hDX58QyWn~6z&S(&xuGuD>@;+XLMlOY$U zr>HMp6dh&3VEaIgGcdr?s=v$wHfS1OI5O3Dh{%aX^M3@Sq}e7*>K9ubwHrS7_0l=o z?M+9EAxE{Hn2k88lQJ`xEqQrl=TOR|r4|-5>>V_|WUqhr1>FqWgn&Ecx6wd(clQ*C zFhiNe6l$Y`WJ_>|@}-+qIK7nPzl8dmd3tVvn!`|jex$K@754+h5Sq2!-m!QMCQV~S2e@TSVLDtT+8 z6gQ~stu6{X+q_VbkJ19u&$8%tcbU}W(V^Qo8*s8{y-WA)A*__+jFkO9yjPP~5LHIH z{*2pc%k}8(=E5p1PYO2gkjlL?)CL?IAm)5`IbS=?s9}ZL&!s67Lb&7qV$ z<9L8KyuJItIf168h0jvY1lQ!R>I!*(41CWPr)TNGc;;!mP`BdmztPg-MEDf9z5Nj| zy)YQpO3v-eRKi9VgO_&blnyLNX%0@6wtkqcXZpWyxHL?9`U(@zlfTk5#Rz_s*+#p% z;CTD&Hc72N;)_b-%Nx7&ly4OcA;D+ue6k_PewfsbQ9ok_dU5Ay0=_iT z$=kg8VrdaUS=SrwCVbA6hdHGo60^QawX!r1ohu_`eAWtrfGkeXF$7gj^)}2^W^q@Uwr*kvGpDBAdFn1308i8*!F0A9bqK; zaPe~=D_u{Msm$xi5{S8LoQumnqyj)@8*;lW&RLpyfy=~t-F&r%gTyuU{3lz6v*`%6 zj6nCg(f%Iwl%?I6Fm-M0yn(h$clT!yCgFS5Q+y#v!mmg(##zD3 zB>eeXpUiJ7H#?4M(SBm?=^UVOMs@YX%XP;gfi+!TL+%+834O$gQ zt&3APHB%QKSSCn)g0}Tx|6lm(tt5K0VM{|64>}Pi;n%(9@I#$~|sX{HfZZA`_ zEJzWUcvHSBMn7HdSJY~}F2vrR6%o6Tm_2Cbp{gz?qy732y%tN7rDbNx6HZ$nPI7Fx zHE-$kWI{C)xa^-g7rY?h<~GNq-PA;rogjGL)Edm1?Vra8vk zx^5i_-=FK-o3cKjbhR4y1W50i8O)mth0V9 zT+j{lnU@t6IoOnwh9kbQfvX0m`Y^MB09C8Gm@Dmd_Fy8_PfeXSd4_C5udkowwLhKR z{N!0}yM|s-2|1?EhY5aHQZkq-#&_Hu&jJO$**!l$fA!%`%Gj7i!RK42&DRfewRY>@ zo?q!APzkbu?j7czoN1siCH;JW4V;SuMGJ=!wWRpowCoD_$Mx_wmm%gwinD+t-+hzEtvg%kk`>b%71TQUNm&YkCPq)>?OI< zd(}28{y0_-Xx>B3AG;Z%hYs7`Ci%T;`0Rei+^eu+7geJ-Iuu;X-46s@-o)uf>i2PcMKZ ziBvHrE?$7;%<5RRc|FjBJRXxjITAr=G>QP)?4P)=08If3YRE_Aj&}E$7z6vAFCQJ5 zzO7WK-^d(GQ9X1=p@6~*?4kVwjO08RCVSvUXDR#;qvzq-Wn~p#bGn*5o>Kql%#*tsX#J!F`$EBmIfI=0)`9~^g?p`Af zmo_E{ynp7N^1Ryl&(6QMmS#YVA6DSv%4u{%ii=Uwu4C2kels~XHb%rT2vmI<#lgQbaCdiypVnPl(R{l;Z0`4`0->(W<2EWn9tR| zb$cWbaI(t9c*2fE!#MKx$t8F03#FCz-7;|SS%o1bxl}b4Y5?#d%&5UHpB-fGeqj>M zKh}pim}=nT*nR!5^q-R{R}n-v@%s$vjF~1S&q{!mt|DGV1$1OKD+s`l_P2LaLTYiTl+_w-OU22zkpS<~s&5_8Ysvsoe#{C~dM^#RlW-prUg=p2A|u2eIannyl# zy@7%GT26c!8Gy>nusloi4_Es$4^&b%fRXG6+w{Bl2Zn{!uNjJ zn}X9Y?`JX+k1l@l60FUoC?$(z^U**#BDYJ_SgHX0JXwpRqTB%e)xZDr;BCX_a#|~b z1W=;5-*5;v3BW)=UvIOe8|1f?b7AM9ti#)SMAnJxVCpk?+GH$w86E)E!PqDlWeEAX zJYewr=-Jt8-JI4Er#^gmeRmZZ94^govrJN3khpc=&%3{sh8Gs`VQ%^znK024XE*C8g7 zG8*Dn)Mk=dT8*4S-7SR+TKjmLrH~oRjNYC0?b~jFqT=h<3PAP#G(d?UXf8aWesL>x z_`pUBjzutHH%L-So;4JQlo^BW&bLBH{= zvexOdU2|p7B8ZDqrdib;INr1%d5akyF+%Z<`$xctCj&(6IOzP7WeqskA{JqPd_`LR zbz=iygnvJZBRcgwM)^xc$ZYQ}Tgk-Mkc+4&Hc00eDdlDp!_=}(QfZ#2y|J}YR5>;D zl}Xu#I|ZF|n-w9o8(jPANus?*qt0yF|AV!!j>_t5+oV&vL0SYU>F$u0P6_D-=?3X; z5b5sj2I&r^q(Qp7YqszAelxSa`OTV{wdPs=r9S65XP>?Ax~}`WRY%Ji*SFeA)~fAV zV8ma}u^>Uqp`YJ*GOK)W;Mk@I6^altu$xlvSY55sltX(M)&9^iGKwq3{mk~a@uHTL zX1P8*BVsdqsL*l2WpuYGi+zg8(;Qp-vw`=T4*I1HjfrJUSd zB;4Dm&2Z@Z#ixE60FSh_88V;)>P~3ny$Sid6R4qoQ?az~5&FNI>?COE7H92AgnrZ9 zU%V~vR%nb9t}0FaT~cD;a~rc`_Gbp10T#K9+!K?s~3SIe@X4N{Gsp)7WNx7Jg z=W7!{gDC>9#)uuQnubcfaV3YVf;e2$)ope{IQ-id-*;j4J$%*Lb zkfxkyte*j`ST&%p9{5=ilv(>jB;BJ_)vO9obh$nu^;qwYUv545YZx%W!Bl8-Pc$*i z4Q4mScKMZ;0S&(}n&B1nhqHnUhYJf1g6Pk_MY~`Ky zAwF9h*li3OG%c(>nHUwKLwkEiv6^0kRxCCi9zazUIutI4@*6O)i;J`8ah|r^C+b{n z$~pfXn+K(%tL}G*{YQVkrmH7t{;x|NOML}g>KPme;#L+LleHOb4F6J;ES8(xPuJpq z_(Nj!Fj*a_>3MkMG8>}i7vjYd!-p`3ReXZ%T_{yI2Pgul7LIv50Ek0A(;L7Z)8(I@ z7Z#-b#%3+}ydObR`jJtg88%~*nqoGG&5|}wVnYqHp@s(jJcbsLw4VA_d-8 zq*0}A{`~J-MS3sez!5}a=J-utXm|9w<*uHV2!RI_2YaUp{EbDB?^0=77QcX!y zKL01!UMT~EZ`IX70Rf+F0$K3u{NV>cqd&L9I66!x|E72az5iHw&T;NAM4fa(1u)?0 zHs{ImL=~#8zZytra~aiNp6OQ>QPQc*;(TDJ<}Ol$QqeyfGEs&tp9(8ff-)Wq3&d?Y z=(2u(GR)1zx;YHR{9HTMZ-|BRUV8-OPQp+RLH|>hAI6YTGo{&e;n^3BX8=3lQD<9_ z8kvz(mlx4e9KX62=}wse9nLzoH-w!D6HFD@Om(v7R=uU=zT2Mlvg@9T^Icp82Ih;;^E3N7ugTPk#DIt$FZGS zXybi*5&e&AOvJPNBctQsb9=ish`$%o+)+xZWK5>~H6(7AiqXHJfSZxu>t!bOclg1> z_Q}=x!nw$(_W|cAZvau}_&hlo?s0m2&@YEs43QLP`|J4n>L4|wJ{6BK-Nhf=OX~Xi znZ!>MPj=JPkM`$}ecM%!MQf^RHK1zEz~BV40$B9?tL-Cc+!u~wy#Qq!T%u@KoCE6~ zz`QlX&dzR*@LwtlSEMZk>m4iHFJA**{7)f1Nd=&@upa!5eeUvn?s&LBy-Iq^tFys= z$s3^jEps49Nt~oaPo4RVdAh0DND;G-4`D`4ZQ*dy$V|wE*>aZV!+7QO{_IE9nMv>8 zDT~Rg8B|*x2*~nB>j!&0qdm8(xB2ofI-1qWFS?)^tT4yGOpuN2d~p&s)Bpcma|rQ+ z7p81&R8EXn<~(5EkTqZzxq5BYj)_(KB@O)$f6WCb2oMmJMiRLMEV^-KMdsocl*^m6yRRvhMBwDgr-mZPFk9o5~Yf&I>Jv0L_I0C8ytCqr2m9%M&1G7RrR1Q|^^@>$2mvh5BY=yCJ zdM(nqx?qc5&3nLNiu5nvz?%{4$7}arJkVt{x9)UrWwf2N-?V*bx&LF`gPlXD4nEVm5BxP%3}qhfEwy9ChkcW=)2HqiE@m z@=fi=MGU0}EgFcz=s87HjBrmkrt1N>^Oa-C$E5~TfX0I}k<>WjaJuOIo|$s5>-eWO zTp}xfjmm8I`Ly-&)jXqs1KN^nMx33)+qoRm(-{};X2ix>lqwEV_cuCUEQ3%?Pa8~= z#qUnK-`ZWl6OZ>GW|sw89NwNuL`BKuDY+3FIXg=&Hgw8=uR`E+Be zyLm(HuX66KW13!3n&WT*J`Picwq?Yhr5Yc&-Z$2#srgG>c9q3wAb&iDJBq0gBC~ptNPg{@S;u9X~CR^Opa;*-#yHB#AhY%LL z?WGTqeP~xRwdp!?6>(lwZKLV!m)?&Lxd~(lIlHGq?ed+k19$rIU9^a)yDUAR6=O58 zleGM>0_yk#k0)s?uQy9^!0PJqF!<;6fz26k+RdeWBWQR$a?dyyS8C*KO0FI&H~#=Z z^mW+o&%V0z&(8&njQ!07^S{E1szNs7=%%ddlV#tIIBdYLAF!GlnIWtQDWrw>7mRVQc7ITeTT+4vwh z7rnKdgw9A(oEMsHbA=6i$K-SDRH&<#aS+@F` zkaV|;yaXkyf2y@91%Uwd<1DP5otxgZA!c6^-t}%LkF@qvmjS&OF6eK>MuIimJ5UXj zyz>+;xkJJ3dSD%aYqb3Nt3CLo5<@CZ-lK4Vt+sfH;6t`T6=BE7%v9Y;S&2fAHr3ci zS;kU6m(ZNv017N*)}K97JLl~;#$Na4G~U;x%8$vcwp1#}bhS%2h^m~g5OfU;7^93B z%T(@EyI#pf)-S^I4-S?jTpn&W9~q8L#o1M6g$zi+ax+UnQ^EJs0}_>tpm(RjI}*&e z_}*S^c=%>C&+lAk!C${Jg6z}tCMv+xUQ_K=%ec>+iYB#amSH`#3(fXx2XlJ^tr;&Y zJ831_u{3M4%=bCTf$!e4m*<^F^srV~zY@TaP$3mUDRilq5VPd>{Jxy)sie&RNHcwxr0@oNiQZo<$3BbH3yy8*AvbCdkw@Bv=MZ_ z(DSgq-|8Aq_E~Wt*gC++aqifa==435FJvwsJIzKtnaFVSU$~2`X>Inr?iet4BbY#) z&~wXA5Mt9r?hGKfi`YwTGae5b?1j>`8I2`qcdu+xAMYey@|k?heeZAwBZ}N(*V4d& z6W^?GmKkagA{KXfNg**%P^_U?t6Cb=+N2?yY+scZuoMBGoRgU?sMDI?I;9D!hV@#QEd_a`^iovr*MkExDhpg?^CL6!lkJr!bP(KvW;1}=5>ygd6Uh4IcryV_(%!cVzsQ9Ta14)Wl1v5w5IHX^shtCJD zZ87g-?jVd%R*gk8v@}jN$t(XTW0qd?$|NKucJ(mkDduZal`MveSaRDT?F8r{x6bBX zhd}p?Gdg?XJNxczaZWyVz7e)$HTd2W%xbEuf0Pt>M5@wcEru+UIxeH+{?Iywku#!o zOEtP=tKMsHL08L9Os^Asj4qG3$U7c~)#T>#GMdPLC_B#(M4C0m)ojCrTpLqeB_)V$ z9G8~%KJic3km@TqAb21J4$pK9%W3N26vi;5Fh!GO?~bfWu(K<54g0+s z9v$o|`j&B?m$ivMq1&AILkoqR@-cx=vJ4A0b-rPsPUUW@+3ynKG1fYGXK zlm<8BofH~32_Z8z!6kZaqEewd=JIWS?dLL+Czt7F=${Y4XoOId3Ar|M<@UN~m9j5u zL@Q~=np2nSIhM+YKJ~3WWnHk-IZ7jXNObzN8VP=}`w`S_hgE28@S(5Ad3@24q zI>zu>j1FSRk2r0nn>6uhcQO3X!UvK^Cv)S$jH2m>9t3n~1E*H(2V%dru1?EN!lQWDv_9T>i z4G*|imZmT}ZwN549B`%}Z}YvMv>0?2eD2O2IBh#rPb(lHkaAg?k;peWmQ*O-U{>JF zo|0&doDuoKX%+v{FOCj?5q|~sxNd1$F7JKI`+?REkSaZ05+tcs95yYahk z2q$#T(n1STDIozNEbMkHB{{Cf1yBoIPGD#gS&WB;VH)tLn zjNN1VaXTL+TZ|AiPm@$vM-dQHUXG{%DC&>* zUoI=rpShSx@>oKK^!Y}R37lHL{P7Z;S4&OvYAFecseOn`O`HC_6*yx$7MuIICZ z$kcrcV!x@G8RlXi(Wq5_iNdFUSAVmy>g6totzS<#N_i_T=0~B@XT5`pm#0TBpewi6Z&0r9!B^x8$GYq zF7~o7$Vf zcyyTVKCyl*lKFLr{DSl5{p%Nj57x5Oyhw6M-_%0Tl^V1I(a%rUY!*38<|-C}8XXlc z?kPJ|J6~F)R|^!*TZBHS@5D$dGFuLbk-^?e^KEJBlk;)~pd~H&S1&~$zZ~LRvwL_3!t1LS}obmh!G-tqbBHXl*A%P@CbgLlFq9 zQi*LV52^}rTn&L7xCJ%w5SevYSwAqLG2j-Cl2G{k() zWR5y8x!S4xq}CsU8%`U*n~U;GKPZ3kOYOM`v!H~wF3t0;JfbRm{HdLHMpK&*J;t9q zJE#k_7NcOq1k_F1NsZ>_d<1f3Wnpk4F*+F zgbkHm9oB(A=prFP@(srB&n5?KStWl$#X=~})F3sdOVH3`a@>bKy)@*&3`2q zU64z*KkW-oa4#QZ%TvV`CH-uO=!RL0Fvt8**+da3m2KW5jyRaLT?l*WMJM#PZ$eT} zFZEDpALTE5QNqKm83yJsDsrssAxxH%wyu;=K8E@O!rpfg^3MvqPUEU4?{U(Ih|pk} zx61RxvPw(E3rjbD;L;{yVq*SoYc~G8mNAUf=F}A+@S}ii5RWpzaSRxOg<^+_n&UD( z-8ap|m$6?>*SCtBnwEYDT@k8gGACd51Q&i!*}r=@DKnG`|L9QWUT*#N& z4wDA$9UVN)cb=WUd;A3O{LtJcT;_5;;HTB4LVx@a3O=ME4D2(=;9^b}>G}}8(zlT~ zckf*Q8JUf&{<|M@GrT?<8httvd_MraHS!qkr8aUUGu^d3Iwc0lHxK|jY{u#>2^uT;_X(Hl~=BtIm3;5zb-)h*h+R65xykR?uEc3(!gjXmt z*rY|mIjHYnsmUb?WXv^qYX+2C z?b&ysA4iv$ZGh|98E*$X9u{B`AWA-;ZeXy*74Ga~P%iC^9Z;SS>wo{_ZDD5F%A6b} zE}j%CJ)?+#f^r3nJTDSN3dytvRHUk!T6W=p%4i4hAanJW>V1dE z(7YHR$Yh`2+$>Ge`~IU_5;j1LIHkn{zmp*hs%CX4oh0_Y9(>D-l*Pivss8gjwlh)t z;>*K#`^JDn4VCW-G#?PmEm;RqVT!&-4CEKzte3*?OFK9Kea(y4bV=E7V`bugk(>@j ziK`|ig=2^i&Qwq!gJ>3@bb%?&OgEe7=6;bGSaS($18sB_U=Lo zM+ew1q;K{~PcRBAT4>mc$Go5QHTaq}&c+K~pJI%9ReEIbbNxJ`<^;LU%qQcDUun)b ziuOC*I=Mdt{e$Xi*;#9C*7;2*N`zt689Ur9ND=Mn*hts4#)_ZF=x zN4eKNX)Qaj(SX78JHppTw*_;0V905fLD6mLtodnSfv`G)n4db3kC6gh7`s-SWSfZ)| z*HM1u>3GS$mN*KP9vg9On44I!x;=ZXo#OmCrZ|5hWia5d>^JfVpRCne9s0ODn}do8 z=d)ywwf>8Qh*Z{QTz>z`j*%g`rh1#N^>>q$drBfH7hH#H$vbyk!k$-JarQR8N%b6o z<|{eDFNcY(@B25yXm1!DBx*!3m(vf{T5d4}_r$VltzWF)-~H`Hd$05XA1pxys>4ZG z%I1Y42@c;-#`VM$$-6&wko%DKIA#gM+KKT!%0D_R+HpJoqk8ccC{7DYP94AIaTipM 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 A9{>OV literal 39679 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 diff --git a/html/classcore_1_1TCPServer__inherit__graph.map b/html/classcore_1_1TCPServer__inherit__graph.map index 0027ae9..1988cce 100644 --- a/html/classcore_1_1TCPServer__inherit__graph.map +++ b/html/classcore_1_1TCPServer__inherit__graph.map @@ -1,8 +1,9 @@ - - - - - - + + + + + + + diff --git a/html/classcore_1_1TCPServer__inherit__graph.md5 b/html/classcore_1_1TCPServer__inherit__graph.md5 index 5cf1c96..31f3378 100644 --- a/html/classcore_1_1TCPServer__inherit__graph.md5 +++ b/html/classcore_1_1TCPServer__inherit__graph.md5 @@ -1 +1 @@ -544c4cb05809c71627f2430f64a4f540 \ No newline at end of file +f2e58c4b3db94b30349d2b968980f7ed \ No newline at end of file diff --git a/html/classcore_1_1TCPServer__inherit__graph.png b/html/classcore_1_1TCPServer__inherit__graph.png index 5f8246b119bf2d31f403f3adabafcaf6e2c526be..3eaca527559ac6993ac1b8ce6e6d38d05a5561a3 100644 GIT binary patch literal 16733 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 + - + My Project: Member List @@ -29,18 +29,21 @@
- + +/* @license-end */
This is the complete list of members for core::TCPSession, including all inherited members.

- - - - + + + + - + - - - + + + + + - + - - - + + + - - - - - + + + - +
active (defined in core::Socket)core::Socket
bufferSize (defined in core::Socket)core::Socket
connect(IPAddress &address) (defined in core::TCPSocket)core::TCPSocket
ePoll (defined in core::Socket)core::Socketprotected
eventReceived(struct epoll_event event)core::Socket
connect(IPAddress &address) (defined in core::TCPSocket)core::TCPSocket
ePoll (defined in core::Socket)core::Socketprotected
eventReceived(struct epoll_event event, pid_t threadId)core::Socket
getBufferSize() (defined in core::Socket)core::Socketprotected
getDescriptor()core::Socket
grab (defined in core::TCPSession)core::TCPSession
ipAddress (defined in core::TCPSocket)core::TCPSocket
name (defined in core::Object)core::Object
needsToWrite() (defined in core::Socket)core::Socket
onConnected(std::stringstream &out)core::TCPSessionprotectedvirtual
onConnected()core::TCPSessionprotectedvirtual
onDataReceived(std::string data) overridecore::TCPSessionprotectedvirtual
onDataReceived(char *buffer, int len) (defined in core::Socket)core::Socketprotectedvirtual
onRegister() overridecore::TCPSessionprotectedvirtual
onRegistered() (defined in core::Socket)core::Socketvirtual
onUnregister()core::Socketvirtual
onRegister()core::Socketvirtual
onRegistered() overridecore::TCPSessionprotectedvirtual
onUnregister() (defined in core::Socket)core::Socketvirtual
onUnregistered()core::Socketvirtual
outcore::TCPSession
output(std::stringstream &data)core::TCPSessionvirtual
protocol(std::stringstream &out, std::string data)core::TCPSessionprotectedvirtual
protocol(std::string data)core::TCPSessionprotectedvirtual
receiveData(char *buffer, int bufferLength)core::Socketprotectedvirtual
send(std::string data)core::TCPSession
sendToAll(std::string data)core::TCPSession
sendToAll(SessionFilter filter, std::string data)core::TCPSession
send()core::TCPSession
sendToAll()core::TCPSession
sendToAll(SessionFilter filter)core::TCPSession
server (defined in core::TCPSession)core::TCPSession
setBufferSize(int length) (defined in core::Socket)core::Socketprotected
setDescriptor(int descriptor)core::Socket
shutDown (defined in core::Socket)core::Socketprotected
shutdown(std::string text="unknown")core::Socket
Socket(EPoll &ePoll) (defined in core::Socket)core::Socket
Socket(EPoll &ePoll, std::string text) (defined in core::Socket)core::Socket
tag (defined in core::Object)core::Object
TCPSession(EPoll &ePoll, TCPServer &server) (defined in core::TCPSession)core::TCPSession
TCPSession(EPoll &ePoll, TCPServer &server, std::string text) (defined in core::TCPSession)core::TCPSession
Socket(EPoll &ePoll, std::string text="")core::Socket
tag (defined in core::Object)core::Object
TCPSession(EPoll &ePoll, TCPServer &server, std::string text="") (defined in core::TCPSession)core::TCPSession
TCPSocket(EPoll &ePoll) (defined in core::TCPSocket)core::TCPSocket
TCPSocket(EPoll &ePoll, std::string text) (defined in core::TCPSocket)core::TCPSocket
write(std::string data)core::Socket
write(char *buffer, int length) (defined in core::Socket)core::Socket
~Socket() (defined in core::Socket)core::Socket
~Socket()core::Socket
~TCPSession() (defined in core::TCPSession)core::TCPSession
~TCPSocket() (defined in core::TCPSocket)core::TCPSocket
@@ -113,7 +116,7 @@ $(function() { diff --git a/html/classcore_1_1TCPSession.html b/html/classcore_1_1TCPSession.html index 1938a8c..bcf064c 100644 --- a/html/classcore_1_1TCPSession.html +++ b/html/classcore_1_1TCPSession.html @@ -1,9 +1,9 @@ - + - + My Project: core::TCPSession Class Reference @@ -29,18 +29,21 @@ - + +/* @license-end */
Inheritance graph
- - - - - - + + + + + + +
[legend]
@@ -91,34 +95,32 @@ Collaboration diagram for core::TCPSession:
Collaboration graph
- - - - - - - - - + + + + + + + + + +
[legend]
- - - - + + - - - - - - + + + + + + @@ -130,12 +132,10 @@ Public Member Functions void  - - - - + + + + @@ -143,11 +143,12 @@ void  - + - - - + + + - - - - + + + + + + + @@ -171,6 +175,8 @@ Public Attributes + + @@ -179,10 +185,6 @@ Public AttributesIPAddress  - - - @@ -197,19 +199,23 @@ std::string  - + - - - - - - - + + + + + + + + + @@ -228,10 +234,11 @@ bool 

Public Member Functions

TCPSession (EPoll &ePoll, TCPServer &server)
 
TCPSession (EPoll &ePoll, TCPServer &server, std::string text)
 
TCPSession (EPoll &ePoll, TCPServer &server, std::string text="")
 
virtual void output (std::stringstream &data)
 
void send (std::string data)
 
void sendToAll (std::string data)
 
void sendToAll (SessionFilter filter, std::string data)
 
void send ()
 
void sendToAll ()
 
void sendToAll (SessionFilter filter)
 
- Public Member Functions inherited from core::TCPSocket
 TCPSocket (EPoll &ePoll)
connect (IPAddress &address)
 
- Public Member Functions inherited from core::Socket
Socket (EPoll &ePoll)
 
Socket (EPoll &ePoll, std::string text)
 
 Socket (EPoll &ePoll, std::string text="")
 
 ~Socket ()
 
void shutdown (std::string text="unknown")
 
void setDescriptor (int descriptor)
connect ( 
int getDescriptor ()
 Get the descriptor for the socket.
 Get the descriptor for the socket.
+
 
bool eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
bool eventReceived (struct epoll_event event, pid_t threadId)
 Parse epoll event and call specified callbacks. More...
 
int write (std::string data)
 
@@ -156,12 +157,15 @@ void write (char *buff
void output (std::stringstream &out)
 
-virtual void onRegistered ()
 
virtual void onUnregister ()
 Called when the socket has finished unregistering for the epoll processing. More...
virtual void onRegister ()
 Called before the socket has registered with the epoll processing. More...
 
+virtual void onUnregister ()
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
bool needsToWrite ()
 
Commandgrab = NULL
 
std::stringstream out
 
TCPServerserver
 
ipAddress
 
- Public Attributes inherited from core::Socket
-class {
bufferSize
 
bool active = false
 
tag

Protected Member Functions

virtual void onDataReceived (std::string data) override
 Called when data is received from the socket. More...
 Called when data is received from the socket. More...
 
virtual void onRegister () override
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onConnected (std::stringstream &out)
 
virtual void protocol (std::stringstream &out, std::string data)
 
+virtual void onRegistered () override
 Called after the socket has been registered with epoll processing.
 
virtual void onConnected ()
 
virtual void protocol (std::string data)
 
- Protected Member Functions inherited from core::Socket
void setBufferSize (int length)
 
+int getBufferSize ()
 
virtual void onDataReceived (char *buffer, int len)
 
shutDown = false<

Detailed Description

TCPSession

-

TCPSession defines the nature of the interaction with the client and stores persistent data for a defined session. BMASession objects are not sockets but instead provide a communications control mechanism. Protocol conversations are provided through extensions from this object.

+

TCPSession defines the nature of the interaction with the client and stores persistent data for a defined session. BMASession objects are not sockets but instead provide a communications control mechanism. Protocol conversations are provided through extensions from this object.
+

Member Function Documentation

- -

◆ onConnected()

+ +

◆ onConnected()

@@ -242,8 +249,7 @@ bool shutDown = false< void core::TCPSession::onConnected ( - std::stringstream &  - out) + ) @@ -292,38 +298,6 @@ bool shutDown = false<

Reimplemented from core::Socket.

-
-
- -

◆ onRegister()

- -
-
- - - - - -
- - - - - - - -
void core::TCPSession::onRegister ()
-
-overrideprotectedvirtual
-
- -

Called when the socket has finished registering with the epoll processing.

-

The onRegister method is called before the socket is registered with ePoll so objects extending the Socket definition can initialize the socket before receiving events. Evoked when the descriptor is set using setDescriptor for the socket.

- -

Reimplemented from core::Socket.

- -

Reimplemented in core::TLSSession.

-
@@ -357,8 +331,8 @@ bool shutDown = false<
- -

◆ protocol()

+ +

◆ protocol()

@@ -369,19 +343,9 @@ bool shutDown = false< void core::TCPSession::protocol ( - std::stringstream &  - out, - - - - std::string  - data = ""  - - + data = "") - ) - @@ -392,12 +356,12 @@ bool shutDown = false<

Override the protocol method to manage and control the session communications in your inherited session. If you do not override this method then the Session default will process the 'commands' added to the server object using the processRequest method on the session input.

-

Reimplemented in core::TLSSession, and core::ConsoleSession.

+

Reimplemented in core::TLSSession, and core::ConsoleSession.

- -

◆ send()

+ +

◆ send()

@@ -405,8 +369,7 @@ bool shutDown = false< void core::TCPSession::send ( - std::string  - data) + ) @@ -415,8 +378,8 @@ bool shutDown = false<
- -

◆ sendToAll() [1/2]

+ +

◆ sendToAll() [1/2]

@@ -424,8 +387,7 @@ bool shutDown = false< void core::TCPSession::sendToAll ( - std::string  - data) + ) @@ -434,8 +396,8 @@ bool shutDown = false<
- -

◆ sendToAll() [2/2]

+ +

◆ sendToAll() [2/2]

@@ -444,23 +406,29 @@ bool shutDown = false< void core::TCPSession::sendToAll ( SessionFilter  - filter, - - - + filter) - std::string  - data  - - - - ) -

Use this sendToAll method to output the contents of the out stream to all the connections on the server excluding the sender session and the entries identified by the passed in filter object.

+
+
+

Member Data Documentation

+ +

◆ out

+ +
+
+ + + + +
std::stringstream core::TCPSession::out
+
+

Use out to send data to the session socket or other session sockets.

+

The documentation for this class was generated from the following files: