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); }
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(); }
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(); }