11 #ifndef __ThreadManager__ 12 #define __ThreadManager__ 14 #include "../Util/DelegateOneArgument.h" 15 #include "../Util/DelegateThreeArguments.h" 16 #include "../Core/Sockets/ISocketLayer.h" 18 #include "../Core/PacketHeader.h" 19 #include "../Util/ByteArray.h" 21 #include <boost/thread.hpp> 22 #include <boost/shared_ptr.hpp> 25 #pragma warning(disable:4786) // STL library: disable warning 4786; this warning is generated due to a Microsoft bug 42 typedef DelegateOneArgument<boost::shared_ptr<void> > ParameterizedThreadStart;
43 typedef DelegateThreeArguments<boost::shared_ptr<PacketHeader>, boost::shared_ptr<ByteArray>,
bool> WriteBinaryDataDelegate;
59 void EnqueueCustom(boost::shared_ptr<ParameterizedThreadStart> callback, boost::shared_ptr<std::map<
string, boost::shared_ptr<void> > > data);
60 void EnqueueDataCall(boost::shared_ptr<OnDataDelegate> callback, boost::shared_ptr<vector<unsigned char> > data);
61 void EnqueueSend(boost::shared_ptr<WriteBinaryDataDelegate> callback, boost::shared_ptr<PacketHeader> header, boost::shared_ptr<ByteArray> data, boost::shared_ptr<bool> udp);
87 void ProcessOutItem(boost::shared_ptr<map<
string, boost::shared_ptr<void> > > item);
88 void ProcessItem(boost::shared_ptr<map<
string, boost::shared_ptr<void> > > item);
96 boost::shared_ptr<boost::thread> inThread;
97 boost::shared_ptr<list<boost::shared_ptr<map<string, boost::shared_ptr<void> > > > > inThreadQueue;
98 boost::mutex inQueueLocker;
100 boost::shared_ptr<boost::thread> outThread;
101 boost::shared_ptr<list<boost::shared_ptr<map<string, boost::shared_ptr<void> > > > > outThreadQueue;
102 boost::mutex outQueueLocker;
Definition: IPAddress.cpp:15
Definition: BuddyOnlineState.h:15
Definition: SmartFox.cpp:24