Example #1
0
void TimeUnitTest::TestBritishShortHourFallback() {
    // See ticket #11986 "incomplete fallback in MeasureFormat".
    UErrorCode status = U_ZERO_ERROR;
    Formattable oneHour(new TimeUnitAmount(1, TimeUnit::UTIMEUNIT_HOUR, status));
    Locale en_GB("en_GB");
    TimeUnitFormat formatter(en_GB, UTMUTFMT_ABBREVIATED_STYLE, status);
    UnicodeString result;
    formatter.format(oneHour, result, status);
    assertSuccess("TestBritishShortHourFallback()", status);
    assertEquals("TestBritishShortHourFallback()", UNICODE_STRING_SIMPLE("1 hr"), result, TRUE);
}
Example #2
0
void SessionTimeTick::run()
{
    DWORD step = 0;
    SDWORD maxFrameNum = 100;
    while(!isFinal())
    {
        setRuning();
        s_currentTime.now();
        struct timespec tv_begin;
        clock_gettime( CLOCK_REALTIME,&tv_begin );
        QWORD begin = tv_begin.tv_sec*1000L + tv_begin.tv_nsec/1000000L;

        recordClient->doCmd();
        SessionServer::getInstance().doCmd();
        SessionTaskManager::getInstance().doCmd();

        if(m_oneSec(s_currentTime))
        {
            oneSec();
            if(m_fiveSec(s_currentTime))
            {
                fiveSec();
            }
            else if(m_tenSec(s_currentTime))
            {
                tenSec();
            }
            else if(m_oneMin(s_currentTime))
            {
                oneMin();
            }
            else if(m_fiveMin(s_currentTime))
            {
                fiveMin();
            }
            else if(m_oneQuarter(s_currentTime))
            {
                oneQuarter();
            }
            else if(m_oneClocker(s_currentTime))
            {
                oneHour();
            }
            else if(m_zeroClocker(s_currentTime))
            {
                zeroHour();
            }
            else if(m_fourClocker(s_currentTime))
            {
                fourHour();
            }
        }
        ++step;
        struct timespec tv_end;
        clock_gettime(CLOCK_REALTIME,&tv_end);
        QWORD end = tv_end.tv_sec*1000L + tv_end.tv_nsec /1000000L;
        m_frameTime = end - begin;
        if(maxFrameNum)
        {
            maxFrameNum -= 1;
            if(m_frameTime > m_maxFrameTime)
            {
                m_maxFrameTime = m_frameTime;
            }
        }
        else
        {
            maxFrameNum = 100;
            m_maxFrameTime = 0;
        }
        LogInfoCheckConditionOnly(m_frameTime <= 300,"会话服务器运行桢数过慢%lums",m_frameTime );
        if(m_frameTime < 10)
        {
            Thread::msleep(10 - m_frameTime);
        }
    }
    sessionFinal();
}
Example #3
0
void GateTimeTick::run()
{
	DWORD step = 0;
	SDWORD maxFrameNum = 100;
	while(!isFinal())
	{
		setRuning();
		QWORD begin = 0,end = 0; 
		struct timespec tv_begin;
		clock_gettime(CLOCK_REALTIME,&tv_begin);
		begin = tv_begin.tv_sec*1000L + tv_begin.tv_nsec/1000000L;
		
		GatewayServer::getInstance().doCmd();
		GateTaskManager::getInstance().doCmd();
		recordClient->doCmd();
		sessionClient->doCmd();
		if(m_oneSec(s_currentTime)) 
		{
			oneSec();
			if(m_fiveSec(s_currentTime))
			{
				fiveSec();
			}
			else if(m_tenSec(GateTimeTick::s_currentTime))
			{
				tenSec();
			}
			else if(m_oneMin(s_currentTime))
			{
				oneMin();
			}
			else if(m_fiveMin(s_currentTime))
			{
				fiveMin();
			}
			else if(m_oneQuarter(s_currentTime))
			{
				oneQuarter();
			}
			else if(m_oneClocker(s_currentTime))
			{
				oneHour();
			}
			else if(m_zeroClocker(s_currentTime))
			{
				zeroHour();
			}
			else if(m_fourClocker(s_currentTime))
			{
				fourHour();
			}
		}
		++step;
		GatewayServer::getInstance().checkFinal();
		struct timespec tv_end;
		clock_gettime(CLOCK_REALTIME,&tv_end);
		end = tv_end.tv_sec*1000L + tv_end.tv_nsec/1000000L;

		m_frameTime = end - begin;

		if(maxFrameNum)
		{
			maxFrameNum -= 1;
			if(m_frameTime > m_maxFrameTime)
			{
				m_maxFrameTime = m_frameTime;
			}
		}
		else
		{
			maxFrameNum = 100;
			m_maxFrameTime = 0;
		}
		if(m_frameTime > 300)
		{
			Global::logger->debug("服务器运行桢数过慢 当前桢:%lu ms",m_frameTime);
		}
		if(m_frameTime < 10)
		{
			Thread::msleep(10 - m_frameTime);
		}
	}
	gateFinal();
}