Exemplo n.º 1
0
void GroupMessagingService::run()
{
    routing_table_ =
            sg::Service::instance()->getModulesManager().getModuleInterface<common::RoutingTable>(
                    "routing");

    // stubs
    sg::Stubs stubs(getServiceType());

    boost::shared_ptr<sg::WorkersPool> login_pool =
            getWorkersPoolsManager().registerPool<sg::SingleThreadStrategy>("login");

    stubs.registerMethod<methods::MethodOpen>(login_pool);
    stubs.registerMethod<methods::MethodClose>(login_pool);
    stubs.registerMethod<methods::MethodDropGrp>(login_pool);
    stubs.registerMethod<methods::MethodDropMember>(login_pool);
    stubs.registerMethod<methods::MethodAddMember>(login_pool);
    stubs.registerMethod<methods::MethodSetMemberRoleLevel>();
    stubs.registerMethod<methods::MethodGetOnlineMembersCount>(sg::Stubs::MethodAccessAllowAll);
    stubs.registerMethod<methods::MethodSendGrpChatMsg>(sg::Stubs::MethodAccessAllowAll);
    stubs.registerMethod<methods::MethodAckGrpChatMsg>(sg::Stubs::MethodAccessAllowClient);
    stubs.registerMethod<methods::MethodSendGrpSysMsg>(sg::Stubs::MethodAccessAllowOtherDomain);
    stubs.registerMethod<methods::MethodAckGrpSysMsg>(sg::Stubs::MethodAccessAllowClient);

    getRoutingTable()->startRoutingT<sg::ConnectionHandler>(stubs);


    LOG(info, "\n\n====== server start ("
            << getServiceType() << "_" << getServiceNumber() << "@" << getServiceDomain()
            << ") ======\n\n");
    waitForShutdown();
}
Exemplo n.º 2
0
void APNsTestService::run()
{
    routing_table_ = sg::Service::instance()->getModulesManager().getModuleInterface<common::RoutingTable>(
                  "routing");
    
    sg::Stubs stubs(getServiceType());

    routing_table_->startRoutingT<sg::ConnectionHandler>(stubs); 

    LOG(info, "\n\n====== server start ("
             << getServiceType() << "_" << getServiceNumber() << "@" << getServiceDomain()
             << ") ======\n\n");
}
Exemplo n.º 3
0
void MessagesStorageService::run()
{
    // stubs
    sg::Stubs stubs(getServiceType(),
            getWorkersPoolsManager().registerPool<sg::UnorderedThreadPoolStrategy>("roam", 8));

    sg::Service::instance()->getModulesManager().getModuleInterface<common::RoutingTable>(
                        "routing")->startRoutingT<sg::ConnectionHandler>(
                        		stubs);


    LOG(info, "\n\n====== server start ("
            << getServiceType() << "_" << getServiceNumber() << "@" << getServiceDomain()
            << ") ======\n\n");
    waitForShutdown();
}
Exemplo n.º 4
0
		void Service::toParametersMap(
			util::ParametersMap& pm,
			bool withAdditionalParameters,
			boost::logic::tribool withFiles,
			std::string prefix
		) const {

			// ID
			pm.insert(prefix + ATTR_SERVICE_ID, getKey());

			// Number
			pm.insert(prefix + ATTR_SERVICE_NUMBER, getServiceNumber());

			// Path id
			if(_path)
			{
				pm.insert(prefix + ATTR_JOURNEY_PATTERN_ID, _path->getKey());
			}
		}
Exemplo n.º 5
0
void SimulatorService::run()
{
    // push
    auto_ptr<base::net::FilterCreatorStrategyBase> push_ssl_filter;
    string push_pem_file = getProperties().getWithDef<string>("push.pem_file", "");
    push_ssl_filter.reset(new base::net::SSLFilterCreatorStrategy(push_pem_file)); 

    auto_ptr<base::net::HandlerCreatorStrategyBase> push_handler_creator;
    push_handler_creator.reset(new base::net::DefaultHandlerCreatorStrategyT<PushHandler>());

    base::net::Acceptor push_acceptor(getCommunicator().reactor(), base::net::OPT_NODELAY);
    push_acceptor.open(base::net::SockAddr(getProperties().get<string>("push.address")),
            -1, 
            auto_ptr<base::net::HandlerCreatorStrategyBase>(push_handler_creator.release()),
            push_ssl_filter);


    // feedback
    auto_ptr<base::net::FilterCreatorStrategyBase> fb_ssl_filter;
    string fb_pem_file = getProperties().getWithDef<string>("feedback.pem_file", "");
    fb_ssl_filter.reset(new base::net::SSLFilterCreatorStrategy(fb_pem_file)); 

    auto_ptr<base::net::HandlerCreatorStrategyBase> fb_handler_creator;
    fb_handler_creator.reset(new base::net::DefaultHandlerCreatorStrategyT<FeedbackHandler>());

    base::net::Acceptor fb_acceptor(getCommunicator().reactor(), base::net::OPT_NODELAY);
    fb_acceptor.open(base::net::SockAddr(getProperties().get<string>("feedback.address")),
            -1, 
            auto_ptr<base::net::HandlerCreatorStrategyBase>(fb_handler_creator.release()),
            fb_ssl_filter);

    LOG(info, "\n\n====== server start ("
            << getServiceType() << "_" << getServiceNumber() << "@" << getServiceDomain()                                                                                               
            << ") ======\n\n");
    waitForShutdown();
}