Exemple #1
0
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();
    }
}
Exemple #2
0
/**
 * 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;
		}
}
Exemple #3
0
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();
}
Exemple #4
0
void Device::sendExternalHeartbeat()
{
    onHeartbeat();
}