Showing the changes to assignment-client/src/scripts/EntityScriptServer.cpp (1 of 6 files). Show all
Unified · Split
| @@ -80,9 +80,8 @@ EntityScriptServer::EntityScriptServer(ReceivedMessage& message) : ThreadedAssig · 79 unmodified lines | |||
| 80 | packetReceiver.registerListener(PacketType::EntityScriptGetStatus, this, "handleEntityScriptGetStatusPacket"); | 80 | packetReceiver.registerListener(PacketType::EntityScriptGetStatus, this, "handleEntityScriptGetStatusPacket"); |
| 81 | packetReceiver.registerListener(PacketType::EntityServerScriptLog, this, "handleEntityServerScriptLogPacket"); | 81 | packetReceiver.registerListener(PacketType::EntityServerScriptLog, this, "handleEntityServerScriptLogPacket"); |
| 82 | 82 | ||
| 83 | static const int LOG_INTERVAL = MSECS_PER_SECOND / 50; | 83 | static const int LOG_INTERVAL = MSECS_PER_SECOND / 10; |
| 84 | auto timer = new QTimer(this); | 84 | auto timer = new QTimer(this); |
| 85 | timer->setTimerType(Qt::PreciseTimer); | ||
| 86 | timer->setInterval(LOG_INTERVAL); | 85 | timer->setInterval(LOG_INTERVAL); |
| 87 | connect(timer, &QTimer::timeout, this, &EntityScriptServer::pushLogs); | 86 | connect(timer, &QTimer::timeout, this, &EntityScriptServer::pushLogs); |
| 88 | timer->start(); | 87 | timer->start(); |
| @@ -215,24 +214,15 @@ void EntityScriptServer::pushLogs() { · 126 unmodified lines | |||
| 215 | return; | 214 | return; |
| 216 | } | 215 | } |
| 217 | 216 | ||
| 218 | auto packet = NLPacket::create(PacketType::EntityServerScriptLog, buffer.size(), true); | ||
| 219 | packet->write(buffer.data(), buffer.size()); | ||
| 220 | |||
| 221 | auto nodeList = DependencyManager::get<NodeList>(); | 217 | auto nodeList = DependencyManager::get<NodeList>(); |
| 222 | 218 | for (auto uuid : _logListeners) { | |
| 223 | auto last = --std::end(_logListeners); | 219 | auto node = nodeList->nodeWithUUID(uuid); |
| 224 | for (auto it = std::begin(_logListeners); it != last; ++it) { | ||
| 225 | auto node = nodeList->nodeWithUUID(*it); | ||
| 226 | if (node && node->getActiveSocket()) { | 220 | if (node && node->getActiveSocket()) { |
| 227 | auto copy = NLPacket::createCopy(*packet); | 221 | auto packet = NLPacketList::create(PacketType::EntityServerScriptLog, QByteArray(), true, true); |
| 228 | nodeList->sendPacket(std::move(copy), *node); | 222 | packet->write(buffer.data(), buffer.size()); |
| 223 | nodeList->sendPacketList(std::move(packet), *node); | ||
| 229 | } | 224 | } |
| 230 | } | 225 | } |
| 231 | |||
| 232 | auto node = nodeList->nodeWithUUID(*last); | ||
| 233 | if (node && node->getActiveSocket()) { | ||
| 234 | nodeList->sendPacket(std::move(packet), *node); | ||
| 235 | } | ||
| 236 | } | 226 | } |
| 237 | 227 | ||
| 238 | void EntityScriptServer::run() { | 228 | void EntityScriptServer::run() { |