only have the ice-server respond if there was a matching conectee

This commit is contained in:
Stephen Birarda 2014-10-03 17:10:56 -07:00
parent 5203113b41
commit aa15ef7f85

View file

@ -114,6 +114,7 @@ void IceServer::sendHeartbeatResponse(const HifiSockAddr& destinationSockAddr, Q
QByteArray outgoingPacket(MAX_PACKET_SIZE, 0); QByteArray outgoingPacket(MAX_PACKET_SIZE, 0);
int currentPacketSize = populatePacketHeader(outgoingPacket, PacketTypeIceServerHeartbeatResponse, _id); int currentPacketSize = populatePacketHeader(outgoingPacket, PacketTypeIceServerHeartbeatResponse, _id);
int numHeaderBytes = currentPacketSize;
// go through the connections, sending packets containing connection information for those nodes // go through the connections, sending packets containing connection information for those nodes
while (peerID != connections.end()) { while (peerID != connections.end()) {
@ -142,9 +143,11 @@ void IceServer::sendHeartbeatResponse(const HifiSockAddr& destinationSockAddr, Q
} }
} }
// write the last packet if (currentPacketSize > numHeaderBytes) {
// write the last packet, if there is data in it
_serverSocket.writeDatagram(outgoingPacket.data(), currentPacketSize, _serverSocket.writeDatagram(outgoingPacket.data(), currentPacketSize,
destinationSockAddr.getAddress(), destinationSockAddr.getPort()); destinationSockAddr.getAddress(), destinationSockAddr.getPort());
}
} }
void IceServer::clearInactivePeers() { void IceServer::clearInactivePeers() {