本文整理汇总了C++中ActionEvent::setTime方法的典型用法代码示例。如果您正苦于以下问题:C++ ActionEvent::setTime方法的具体用法?C++ ActionEvent::setTime怎么用?C++ ActionEvent::setTime使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ActionEvent
的用法示例。
在下文中一共展示了ActionEvent::setTime方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: read
bool CTReader::read()
{
ControllerInf *con = m_decoder.getController();
static bool start_sim = false;
static double timewidth = 0.0;
struct timeval start, eoa;
timeval now;
static double server_startTime = 0.0;
if (start_sim) {
//now = clock();
gettimeofday(&now, NULL);
double tmp_time = (double)(now.tv_sec - eoa.tv_sec) + (double)(now.tv_usec - eoa.tv_usec) * 0.001 * 0.001;
if (tmp_time >= timewidth) {
ActionEvent aevt;
double nowtime = (double)(now.tv_sec - start.tv_sec) + (double)(now.tv_usec - start.tv_usec) * 0.001 * 0.001;
nowtime += server_startTime;
aevt.setTime(nowtime);
timewidth = con->onAction(aevt);
gettimeofday(&eoa, NULL);
Controller *conn = (Controller*)con;
//conn->updateObjs();
}
}
SOCKET s = m_sock;
fd_set rfds;
struct timeval tv;
FD_ZERO(&rfds);
FD_SET(s, &rfds);
ControllerImpl* coni = (ControllerImpl*)con;
std::map<std::string, SOCKET> ssocks = coni->getSrvSocks();
std::map<std::string, SOCKET>::iterator it = ssocks.begin();
while (it != ssocks.end()) {
FD_SET((*it).second, &rfds);
it++;
}
tv.tv_sec = 0;
//tv.tv_usec = 100000;
tv.tv_usec = 1000;
int ret = select(FD_SETSIZE, &rfds, NULL, NULL, &tv);
if (ret == -1) {
perror("select");
return false;
}
else if (ret == 0) {
return true;
}
else if (ret > 0) {
if (FD_ISSET(s, &rfds)) {
int rbytes;
if (m_buf->datasize() == 0) {
rbytes = m_buf->read(s, 4);
#if 1
// sekikawa(FIX20100826)
if (rbytes < 0) {
if (errno == ECONNRESET) {
LOG_SYS(("connection closed by service provider [%s:%d]", __FILE__, __LINE__));
} else {
LOG_SYS(("socket error (errno=%d) [%s:%d]", errno, __FILE__, __LINE__));
}
throw ConnectionClosedException();
}
#endif
if (rbytes > 0) {
char *data = m_buf->data();
char *p = data;
unsigned short token = BINARY_GET_DATA_S_INCR(p, unsigned short);
if (token == COMM_DATA_PACKET_START_TOKEN) {
unsigned short size = BINARY_GET_DATA_S_INCR(p, unsigned short);
#if 1
// sekikawa(FIX20100826)
int rbytes2 = m_buf->read(s, size-4);
if (rbytes2 < 0) {
if (errno == ECONNRESET) {
LOG_SYS(("connection closed by service provider [%s:%d]", __FILE__, __LINE__));
} else {
LOG_SYS(("socket error (errno=%d) [%s:%d]", errno, __FILE__, __LINE__));
}
//.........这里部分代码省略.........