9 #ifndef INCLUDE_FUNAPI_SERVICE_MULTICAST_SERVER_H_ 10 #define INCLUDE_FUNAPI_SERVICE_MULTICAST_SERVER_H_ 12 #include <boost/unordered_map.hpp> 19 typedef Uuid SessionId;
28 const Ptr<Session> & ,
29 Json * )> JsonMessageChecker;
33 const Ptr<Session> & ,
34 const Ptr<FunMessage> & )> ProtobufMessageChecker;
40 const Json & )> JsonMessageHook;
45 const Ptr<const FunMessage> & )> ProtobufMessageHook;
47 static void InstallJsonMessageChecker(
48 const JsonMessageChecker &json_message_checker);
50 static void InstallProtobufMessageChecker(
51 const ProtobufMessageChecker &protobuf_message_checker);
53 static void InstallJsonMessageHook(
const JsonMessageHook &hook);
55 static void InstallProtobufMessageHook(
const ProtobufMessageHook &hook);
59 typedef boost::unordered_map<
string ,
60 string > MulticastChannelTokenMap;
65 member_count = member_count_in;
72 typedef std::vector<MulticastChannelInfo> MulticastChannelInfoVector;
77 void CreateMulticastChannel(
const string &channel,
const string &token);
81 bool GetMulticastChannel(
const string &channel,
string *out_token);
85 size_t GetMulticastChannelTokenMap(MulticastChannelTokenMap *out);
89 void DisallowToCreateClientsideMulticastChannel();
92 void GetGlobalMulticastChannels(MulticastChannelInfoVector *out);
96 #endif // INCLUDE_FUNAPI_SERVICE_MULTICAST_SERVER_H_
Definition: multicast_server.h:62
boost::uuids::uuid Uuid
UUID type used throughout Funapi.
Definition: types.h:56
Definition: multicast_server.h:23