void Device::updateHeartbeat() { // ...this is probably all we'd like exposed from the outside...not this combination... if (heartbeatCounters[port] >= 8) { heartbeatCounters[port] = 0; onHeartbeat(); } }
/** * FUNCTION NAME: recvCallBack * * DESCRIPTION: Message handler for different message types */ bool MP1Node::recvCallBack(void *env, char *data, int size ) { /* * Your code goes here */ assert(size >= sizeof(MessageHdr)); MessageHdr* msg = (MessageHdr*) data; Address *src_addr = (Address*)(msg+1); size -= sizeof(MessageHdr) + sizeof(Address) + 1; data += sizeof(MessageHdr) + sizeof(Address) + 1; switch (msg->msgType) { case JOINREQ: onJoin(src_addr, data, size); onHeartbeat(src_addr, data, size); break; case PING: onHeartbeat(src_addr, data, size); break; case JOINREP: { memberNode->inGroup = 1; stringstream msg; msg << "JOINREP from " << src_addr->getAddress(); msg << " data " << *(long*)(data ); log->LOG(&memberNode->addr, msg.str().c_str()); onHeartbeat(src_addr, data, size); break; } default: log->LOG(&memberNode->addr, "Received other msg"); break; } }
SpotifyIO::SpotifyIO(QObject *parent) : QObject(parent) { nam = new QNetworkAccessManager(this); ws = new QWebSocket(origin, QWebSocketProtocol::VersionLatest, this); mediaPlayer = new MediaPlayer(this); QObject::connect(ws, SIGNAL(connected()), this, SLOT(onConnected())); QObject::connect(ws, SIGNAL(disconnected()), this, SLOT(onDisconnected())); QObject::connect(ws, SIGNAL(stateChanged(QAbstractSocket::SocketState)), this, SLOT(onStateChanged(QAbstractSocket::SocketState))); QObject::connect(ws, SIGNAL(textMessageReceived(QString)), this, SLOT(onTextMessageReceived(QString))); QObject::connect(ws, SIGNAL(binaryMessageReceived(QByteArray)), this, SLOT(onBinaryMessageReceived(QByteArray))); QObject::connect(ws, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(onError(QAbstractSocket::SocketError))); QObject::connect(ws, SIGNAL(sslErrors(QList<QSslError>)), this, SLOT(onSslErrors(QList<QSslError>))); heartbeat = new QTimer(this); heartbeat->setInterval(3 * 60 * 1000); QObject::connect(heartbeat, SIGNAL(timeout()), this, SLOT(onHeartbeat())); _state = DisconnectedState; Q_EMIT stateChanged(); }
void Device::sendExternalHeartbeat() { onHeartbeat(); }