├── .gitattributes
├── .gitignore
├── README.md
└── zertco5
├── .cproject
├── .project
├── .settings
├── org.eclipse.core.resources.prefs
└── org.eclipse.core.runtime.prefs
├── GenCPP.py
├── SConstruct
├── concurrent
├── Concurrent.cpp
├── Concurrent.h
├── ConcurrentState.cpp
├── ConcurrentState.h
├── config.h
├── coroutine
│ ├── Coroutine.cpp
│ ├── Coroutine.h
│ └── config.h
├── rpc
│ ├── RPC.h
│ ├── RPCClient.h
│ ├── RPCClientConnection.cpp
│ ├── RPCConnection.h
│ ├── RPCHandlers.cpp
│ ├── RPCHelper.hpp
│ ├── RPCManager.cpp
│ ├── RPCManager.h
│ ├── RPCRouter.cpp
│ ├── RPCRouter.h
│ ├── RPCRouterClient.cpp
│ ├── RPCRouterClient.h
│ ├── RPCRouterManager.h
│ ├── RPCServer.h
│ ├── RPCServerConnection.cpp
│ ├── RPCSpec.cpp
│ ├── RPCSpec.h
│ ├── config.h
│ ├── details
│ │ ├── RPCDataProvider.h
│ │ ├── RPCFetcher.cpp
│ │ ├── RPCFetcher.h
│ │ └── RPCHelper.hpp
│ ├── sys_cmd.cpp
│ └── sys_cmd.h
└── update
│ ├── UpdateClient.cpp
│ ├── UpdateClient.h
│ ├── UpdateServer.cpp
│ ├── UpdateServer.h
│ └── config.h
├── config
├── Config.cpp
└── Config.h
├── core
├── Runtime.cpp
├── Runtime.h
├── RuntimeContext.cpp
└── RuntimeContext.h
├── db
├── Database.h
├── DatabaseInterface.h
├── DatabaseInterfaceManager.h
├── Query.h
├── details
│ └── DatabaseInterfaceImpl.hpp
├── io
│ ├── DataProvider.h
│ └── DataProviderManager.h
└── mongodb
│ ├── MongoDBAdapter.cpp
│ ├── MongoDBAdapter.h
│ ├── MongoDBCursor.cpp
│ ├── MongoDBCursor.h
│ ├── MongoDBQuery.h
│ ├── config.h
│ ├── details
│ └── MongoDBDataProvider.h
│ └── serialize
│ ├── BSONStream.cpp
│ └── BSONStream.h
├── details.h
├── game_configbase_sample.json
├── gch.py
├── log
├── Log.cpp
└── Log.h
├── main
├── GameBase.h
├── SConscript
├── details
│ └── GameBaseImpl.hpp
└── router_main.cpp
├── net
├── client
│ ├── ClientBase.h
│ ├── config.h
│ └── details
│ │ └── ClientBaseDetails.hpp
├── config.h
├── details
│ ├── ConnectionBaseDetails.hpp
│ ├── IOServiceDetails.hpp
│ ├── PersistConnectionDetails.hpp
│ └── SSLConnectionBaseDetails.hpp
├── server_config.h
├── tcp
│ ├── ConnectionBase.h
│ ├── IOService.h
│ ├── PersistConnection.h
│ ├── client
│ │ ├── ClientBase.h
│ │ ├── config.h
│ │ └── details
│ │ │ └── ClientBaseDetails.hpp
│ ├── config.h
│ ├── details
│ │ ├── ConnectionBaseDetails.hpp
│ │ ├── IOServiceDetails.hpp
│ │ ├── PersistConnectionDetails.hpp
│ │ └── SSLConnectionBaseDetails.hpp
│ └── server
│ │ ├── ServerBase.h
│ │ ├── config.h
│ │ └── details
│ │ └── ServerBaseDetails.hpp
└── udp
│ ├── ConnectionBase.h
│ ├── PackageConnection.h
│ ├── ServerBase.h
│ ├── config.h
│ └── details
│ ├── ConnectionBaseDetails.hpp
│ ├── PackageConnectionDetails.hpp
│ └── ServerBaseDetails.hpp
├── object
├── ActiveObject.h
├── ActiveObjectManager.h
├── ActiveObjectTraits.h
├── ObjectBase.h
├── ObjectTraits.h
├── PoolObject.h
├── SConscript
├── WorldObject.h
├── WorldObjectManager.h
└── details
│ ├── ActiveObjectImpl.hpp
│ ├── ActiveObjectManagerImpl.hpp
│ ├── PoolObjectDetails.hpp
│ └── WorldObjectManagerImpl.hpp
├── pch.h
├── serialize
├── Archiver.h
├── SConscript
├── Serializer.h
├── Serializer_fwd.h
├── Unserializer.h
├── Unserializer_fwd.h
├── config.h
└── details
│ ├── SerializerSTLDetails.hpp
│ └── UnserializerSTLDetails.hpp
├── suit
├── buff
│ ├── Buff.cpp
│ ├── Buff.h
│ └── BuffCeptor.cpp
├── event
│ ├── Event.h
│ ├── EventBus.h
│ ├── EventHandler.h
│ └── details
│ │ ├── EventBusImpl.hpp
│ │ └── EventHandlerImpl.hpp
├── location
│ └── geometric.h
├── period32
│ ├── period.h
│ └── period32.cpp
├── session
│ ├── Session.h
│ └── details
│ │ ├── CommandImpl.hpp
│ │ ├── SessionImpl.hpp
│ │ └── SessionManagerImpl.hpp
├── skill
│ └── Skill.h
└── utils
│ ├── RateValue.cpp
│ └── RateValue.h
├── test
├── buffer
│ ├── mem_test1.cpp
│ └── test1.cpp
├── circular_buffer_test1.cpp
├── concurrent
│ ├── context.cpp
│ ├── context2.cpp
│ ├── context3.cpp
│ ├── rpc_test1.cpp
│ ├── test1.cpp
│ └── test_perf1.cpp
├── database
│ └── test1.cpp
├── encrypt
│ └── test1.cpp
├── event
│ └── e1.cpp
├── http
│ ├── server.cpp
│ ├── test1.cpp
│ └── test2.cpp
├── log
│ └── test1.cpp
├── msgpack-test1.cpp
├── msgpack-test2.cpp
├── net
│ ├── client
│ │ ├── cli.cpp
│ │ └── client.cpp
│ ├── enet
│ │ └── test1.cpp
│ ├── server
│ │ ├── backgate_server.cpp
│ │ ├── gate_server.cpp
│ │ └── http_test1.cpp
│ └── udp
│ │ ├── cli.cpp
│ │ ├── client1.cpp
│ │ ├── client_bench.cpp
│ │ └── test1.cpp
├── object
│ ├── test1.cpp
│ └── test2.cpp
├── practice
│ ├── plot1.cpp
│ ├── spin_test1.cpp
│ ├── test1.cpp
│ ├── test2.cpp
│ ├── test3.cpp
│ ├── test4.cpp
│ ├── test5.cpp
│ ├── test6.cpp
│ ├── test7.cpp
│ └── test8.cpp
├── rpc
│ ├── cond_test1.cpp
│ ├── test1.cpp
│ ├── test2.cpp
│ ├── test3.cpp
│ └── update1.cpp
├── serialize
│ ├── bsonstream_test1.cpp
│ ├── bsonstream_test2.cpp
│ ├── msgpack_test1.cpp
│ ├── serialize_object_test1.cpp
│ ├── simple-bson-input.cpp
│ ├── simple-bson-output.cpp
│ ├── test1.cpp
│ └── test2.cpp
└── utils
│ └── tags_map_test1.cpp
├── third_parties
├── enet
│ ├── callbacks.h
│ ├── enet.h
│ ├── list.h
│ ├── protocol.h
│ ├── time.h
│ ├── types.h
│ ├── unix.h
│ ├── utility.h
│ └── win32.h
├── msgpack.h
├── msgpack.hpp
├── msgpack
│ ├── adaptor
│ │ ├── bool.hpp
│ │ ├── bool_fwd.hpp
│ │ ├── char_ptr.hpp
│ │ ├── char_ptr_fwd.hpp
│ │ ├── cpp11
│ │ │ ├── array.hpp
│ │ │ ├── array_char.hpp
│ │ │ ├── array_char_fwd.hpp
│ │ │ ├── array_fwd.hpp
│ │ │ ├── forward_list.hpp
│ │ │ ├── forward_list_fwd.hpp
│ │ │ ├── tuple.hpp
│ │ │ ├── tuple_fwd.hpp
│ │ │ ├── unordered_map.hpp
│ │ │ ├── unordered_map_fwd.hpp
│ │ │ ├── unordered_set.hpp
│ │ │ └── unordered_set_fwd.hpp
│ │ ├── define.hpp
│ │ ├── deque.hpp
│ │ ├── deque_fwd.hpp
│ │ ├── detail
│ │ │ ├── cpp03_define.hpp
│ │ │ ├── cpp03_msgpack_tuple.hpp
│ │ │ ├── cpp03_msgpack_tuple_fwd.hpp
│ │ │ ├── cpp11_define.hpp
│ │ │ ├── cpp11_msgpack_tuple.hpp
│ │ │ └── cpp11_msgpack_tuple_fwd.hpp
│ │ ├── fixint.hpp
│ │ ├── fixint_fwd.hpp
│ │ ├── float.hpp
│ │ ├── float_fwd.hpp
│ │ ├── int.hpp
│ │ ├── int_fwd.hpp
│ │ ├── list.hpp
│ │ ├── list_fwd.hpp
│ │ ├── map.hpp
│ │ ├── map_fwd.hpp
│ │ ├── msgpack_tuple.hpp
│ │ ├── msgpack_tuple_fwd.hpp
│ │ ├── nil.hpp
│ │ ├── nil_fwd.hpp
│ │ ├── pair.hpp
│ │ ├── pair_fwd.hpp
│ │ ├── raw.hpp
│ │ ├── raw_fwd.hpp
│ │ ├── set.hpp
│ │ ├── set_fwd.hpp
│ │ ├── string.hpp
│ │ ├── string_fwd.hpp
│ │ ├── tr1
│ │ │ ├── unordered_map.hpp
│ │ │ ├── unordered_map_fwd.hpp
│ │ │ ├── unordered_set.hpp
│ │ │ └── unordered_set_fwd.hpp
│ │ ├── vector.hpp
│ │ ├── vector_char.hpp
│ │ ├── vector_char_fwd.hpp
│ │ └── vector_fwd.hpp
│ ├── cpp_config.hpp
│ ├── detail
│ │ ├── cpp03_zone.hpp
│ │ └── cpp11_zone.hpp
│ ├── fbuffer.h
│ ├── fbuffer.hpp
│ ├── gcc_atomic.h
│ ├── object.h
│ ├── object.hpp
│ ├── object_fwd.hpp
│ ├── pack.h
│ ├── pack.hpp
│ ├── pack_define.h
│ ├── pack_template.h
│ ├── sbuffer.h
│ ├── sbuffer.hpp
│ ├── sysdep.h
│ ├── type.hpp
│ ├── unpack.h
│ ├── unpack.hpp
│ ├── unpack_define.h
│ ├── unpack_template.h
│ ├── util.h
│ ├── version.h
│ ├── version.hpp
│ ├── version_master.h
│ ├── versioning.hpp
│ ├── vrefbuffer.h
│ ├── vrefbuffer.hpp
│ ├── zbuffer.h
│ ├── zbuffer.hpp
│ ├── zone.h
│ └── zone.hpp
├── msgpack_fwd.hpp
└── rapidjson
│ ├── allocators.h
│ ├── document.h
│ ├── encodedstream.h
│ ├── encodings.h
│ ├── error
│ ├── en.h
│ └── error.h
│ ├── filereadstream.h
│ ├── filewritestream.h
│ ├── internal
│ ├── biginteger.h
│ ├── diyfp.h
│ ├── dtoa.h
│ ├── ieee754.h
│ ├── itoa.h
│ ├── meta.h
│ ├── pow10.h
│ ├── stack.h
│ ├── strfunc.h
│ └── strtod.h
│ ├── memorybuffer.h
│ ├── memorystream.h
│ ├── msinttypes
│ ├── inttypes.h
│ └── stdint.h
│ ├── pointer.h
│ ├── prettywriter.h
│ ├── rapidjson.h
│ ├── reader.h
│ ├── stringbuffer.h
│ └── writer.h
├── thread
├── SConscript
├── Thread.cpp
├── Thread.h
├── ThreadHandler.h
├── ThreadHandlerSet.h
├── ThreadLocal.h
├── ThreadPool.cpp
├── ThreadPool.h
├── ThreadSingleton.h
├── config.h
└── details
│ ├── RWLock.hpp
│ ├── ThreadHandlerDetails.hpp
│ ├── ThreadHandlerSetDetails.hpp
│ ├── ThreadSingletonDetails.hpp
│ └── ThreadSingletonImpl.hpp
├── todo.txt
├── utils
├── ExpiredObjectMap.h
├── Params.h
├── SConscript
├── Singleton.h
├── buffer
│ ├── MemoryPool.h
│ ├── SharedBuffer.cpp
│ ├── SharedBuffer.h
│ └── details
│ │ ├── MemoryAllocator.h
│ │ └── SharedBufferSerialization.hpp
├── collision
│ ├── DoubleTiles.h
│ └── QuadTree.h
├── condition
│ ├── BasicValue.h
│ ├── Condition.h
│ ├── KeysHolder.h
│ └── details
│ │ └── ConditionDetails.hpp
├── crypto
│ ├── Crypto.cpp
│ └── Crypto.h
├── details
│ ├── errors.hpp
│ ├── null.hpp
│ └── types.hpp
├── file
│ ├── FileManager.cpp
│ └── FileManager.h
├── group
│ └── Group.h
├── http
│ ├── HttpClient.cpp
│ ├── HttpClient.h
│ ├── HttpClientConnection.cpp
│ ├── HttpConnection.h
│ ├── HttpRequest.cpp
│ ├── HttpRequest.h
│ ├── HttpResponse.cpp
│ ├── HttpResponse.h
│ ├── HttpServer.cpp
│ ├── HttpServer.h
│ ├── HttpServerConnection.cpp
│ └── readme.txt
├── msgpack
│ ├── MsgPackStream.cpp
│ ├── MsgPackStream.h
│ ├── msgpack_stream_intend.cpp
│ └── msgpack_stream_intend.h
├── perf
│ ├── Performance.cpp
│ └── Performance.h
├── random
│ ├── Random.cpp
│ └── Random.h
├── rapidjson
│ ├── RapidJsonStream.cppt
│ └── RapidJsonStream.h
├── serializable
│ ├── SerializableObject.h
│ └── SerializeValues.hpp
├── simplehttp
│ ├── CookieParser.cpp
│ ├── HttpParser.cpp
│ ├── HttpParser.h
│ ├── HttpResponse.cpp
│ ├── HttpResponse.h
│ ├── HttpServer.cpp
│ ├── HttpServer.h
│ ├── QueryParser.cpp
│ ├── ServerConnection.cpp
│ ├── ServerConnection.h
│ ├── utils.cpp
│ └── utils.h
├── spinlock
│ └── SpinLock.h
├── string
│ ├── KeyString.cpp
│ └── KeyString.h
├── sys
│ └── System.h
├── tags
│ ├── TagsValue.h
│ └── details
│ │ └── Tags.h
├── time
│ ├── CPUTime.cpp
│ ├── CPUTime.h
│ ├── Tick.cpp
│ ├── Tick.h
│ ├── TimeType.cpp
│ ├── TimeType.h
│ ├── Timer.cpp
│ ├── Timer.h
│ ├── TimerManager.cpp
│ ├── TimerManager.h
│ └── details
│ │ ├── TickTypeSerialization.hpp
│ │ └── TimeTypeSerialization.hpp
├── tools
│ ├── SameThreadChecker.cpp
│ └── SameThreadChecker.h
├── types.cpp
├── types.h
├── updatelist
│ ├── DynamicList.h
│ └── UpdateList.h
└── uuid
│ ├── UUIDGenerator.cpp
│ └── UUIDGenerator.h
└── zertcore.h
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 |
7 | # Standard to msysgit
8 | *.doc diff=astextplain
9 | *.DOC diff=astextplain
10 | *.docx diff=astextplain
11 | *.DOCX diff=astextplain
12 | *.dot diff=astextplain
13 | *.DOT diff=astextplain
14 | *.pdf diff=astextplain
15 | *.PDF diff=astextplain
16 | *.rtf diff=astextplain
17 | *.RTF diff=astextplain
18 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Windows image file caches
2 | Thumbs.db
3 | ehthumbs.db
4 |
5 | # Folder config file
6 | Desktop.ini
7 |
8 | # Recycle Bin used on file shares
9 | $RECYCLE.BIN/
10 |
11 | # Windows Installer files
12 | *.cab
13 | *.msi
14 | *.msm
15 | *.msp
16 |
17 | # =========================
18 | # Operating System Files
19 | # =========================
20 |
21 | # OSX
22 | # =========================
23 |
24 | .DS_Store
25 | .AppleDouble
26 | .LSOverride
27 |
28 | # Icon must end with two \r
29 | Icon
30 |
31 | # Thumbnails
32 | ._*
33 |
34 | # Files that might appear on external disk
35 | .Spotlight-V100
36 | .Trashes
37 |
38 | # Directories potentially created on remote AFP share
39 | .AppleDB
40 | .AppleDesktop
41 | Network Trash Folder
42 | Temporary Items
43 | .apdisk
44 |
45 | #eclipse files
46 | .settings/
47 | .cproject
48 | .project
49 |
50 |
--------------------------------------------------------------------------------
/zertco5/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | zertco5
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.cdt.managedbuilder.core.genmakebuilder
10 | clean,full,incremental,
11 |
12 |
13 |
14 |
15 | org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
16 | full,incremental,
17 |
18 |
19 |
20 |
21 |
22 | org.eclipse.cdt.core.cnature
23 | org.eclipse.cdt.core.ccnature
24 | org.eclipse.cdt.managedbuilder.core.managedBuildNature
25 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
26 |
27 |
28 |
--------------------------------------------------------------------------------
/zertco5/.settings/org.eclipse.core.resources.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | encoding/=UTF-8
3 |
--------------------------------------------------------------------------------
/zertco5/.settings/org.eclipse.core.runtime.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | line.separator=\n
3 |
--------------------------------------------------------------------------------
/zertco5/concurrent/config.h:
--------------------------------------------------------------------------------
1 | /*
2 | * ConcurrentConfig.h
3 | *
4 | * Created on: 2014��11��22��
5 | * Author: Administrator
6 | */
7 |
8 | #ifndef ZERTCORE_CONCURRENT_CONFIG_H_
9 | #define ZERTCORE_CONCURRENT_CONFIG_H_
10 |
11 | #include
12 | #include
13 |
14 | // #define ZC_ENABLE_THREADHANDLER_MULTICAST
15 |
16 | namespace zertcore { namespace concurrent {
17 |
18 | /**
19 | * ConcurrentConfig
20 | */
21 | struct ConcurrentConfig
22 | {
23 | u32 thread_nums{0};
24 | };
25 |
26 | #ifdef ZC_ENABLE_THREADHANDLER_MULTICAST
27 | typedef dynamic_bitset<> thread_ids_flag_type;
28 | #else
29 | typedef tid_type thread_ids_flag_type;
30 | #endif
31 |
32 | namespace details {
33 | /**
34 | typedef ::boost::thread::id thread_id_type;
35 |
36 |
37 | * ThreadIndex
38 |
39 | struct ThreadIndex
40 | {
41 | thread_id_type index;
42 |
43 | explicit ThreadIndex() {
44 | index = this_thread::get_id();
45 | }
46 | explicit ThreadIndex(const thread_id_type& i) : index(i) {}
47 | explicit ThreadIndex(const ThreadIndex& ti) : index(ti.index) {}
48 |
49 | ThreadIndex& operator= (thread_id_type i) {
50 | index = i;
51 | return *this;
52 | }
53 | };
54 | */
55 | }
56 |
57 | }}
58 |
59 | /**
60 | namespace zertcore { namespace concurrent{
61 | typedef details::ThreadIndex thread_index_type;
62 | }}
63 | */
64 |
65 | namespace zertcore { namespace concurrent {
66 | }}
67 |
68 | #endif /* CONCURRENTCONFIG_H_ */
69 |
--------------------------------------------------------------------------------
/zertco5/concurrent/coroutine/Coroutine.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * Coroutine.cpp
3 | *
4 | * Created on: 2015年7月31日
5 | * Author: Administrator
6 | */
7 |
8 | #include "Coroutine.h"
9 |
10 | namespace zertcore { namespace concurrent { namespace co {
11 |
12 | FCell::ptr FCell::
13 | create() {
14 | return new FCell;
15 | }
16 |
17 | void FCell::
18 | release() {
19 | delete this;
20 | }
21 |
22 | }}}
23 |
24 | namespace zertcore { namespace concurrent {
25 |
26 | bool Coroutine::
27 | make(co::FCell::ptr cell, void (*f)(co::FCell::ptr, void *), co::FCell::ptr fc, void * params) {
28 | if (!cell) return false;
29 |
30 | ZC_ASSERT(-1 != getcontext(&cell->context));
31 | cell->context.uc_stack.ss_sp = cell->buffer;
32 | cell->context.uc_stack.ss_size = ZC_COROUTINE_BUFFER;
33 | cell->context.uc_link = ¤t_ctx_;
34 |
35 | makecontext(&cell->context, (void (*)())f, 2, fc, params);
36 | return true;
37 | }
38 |
39 | bool Coroutine::
40 | make(co::FCell::ptr cell) {
41 | if (!cell) return false;
42 |
43 | ZC_ASSERT(-1 != getcontext(&cell->context));
44 | cell->context.uc_stack.ss_sp = cell->buffer;
45 | cell->context.uc_stack.ss_size = ZC_COROUTINE_BUFFER;
46 | cell->context.uc_link = ¤t_ctx_;
47 |
48 | return true;
49 | }
50 |
51 | void Coroutine::
52 | jumpTo(co::FCell::ptr current) {
53 | ZC_ASSERT(-1 != swapcontext(¤t_ctx_, ¤t->context));
54 | }
55 |
56 | void Coroutine::
57 | jumpBack(co::FCell::ptr current) {
58 | current->flag = true;
59 | ZC_ASSERT(-1 != swapcontext(¤t->context, ¤t_ctx_));
60 | }
61 |
62 | }}
63 |
64 |
--------------------------------------------------------------------------------
/zertco5/concurrent/coroutine/Coroutine.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Coroutine.h
3 | *
4 | * Created on: 2015年7月31日
5 | * Author: Administrator
6 | */
7 |
8 | #ifndef ZERTCORE_CONCURRENT_COROUTINE_COROUTINE_H_
9 | #define ZERTCORE_CONCURRENT_COROUTINE_COROUTINE_H_
10 |
11 | #include
12 | #include "config.h"
13 |
14 | namespace zertcore { namespace concurrent {
15 | using namespace zertcore::object;
16 | }}
17 |
18 | namespace zertcore { namespace concurrent {
19 |
20 | /**
21 | * Coroutine
22 | */
23 | class Coroutine :
24 | public ThreadSingleton
25 | {
26 | public:
27 | bool make(co::FCell::ptr cell, void (*)(co::FCell::ptr, void *), co::FCell::ptr, void * params);
28 | bool make(co::FCell::ptr cell);
29 |
30 | public:
31 | void jumpTo(co::FCell::ptr current);
32 | void jumpBack(co::FCell::ptr current);
33 |
34 | public:
35 | co::FCell::ptr getLastFCell() {return last_fc_;}
36 | void setLastFCell(co::FCell::ptr fc) {last_fc_ = fc;}
37 |
38 | private:
39 | co::context_type current_ctx_;
40 | co::FCell::ptr last_fc_;
41 | };
42 |
43 | }}
44 |
45 |
46 | #endif /* CONCURRENT_COROUTINE_COROUTINE_H_ */
47 |
--------------------------------------------------------------------------------
/zertco5/concurrent/coroutine/config.h:
--------------------------------------------------------------------------------
1 | /*
2 | * config.h
3 | *
4 | * Created on: 2015年7月31日
5 | * Author: Administrator
6 | */
7 |
8 | #ifndef ZERTCORE_CONCURRENT_COROUTINE_CONFIG_H_
9 | #define ZERTCORE_CONCURRENT_COROUTINE_CONFIG_H_
10 |
11 | #include
12 | #include
13 | #include