MCPcopy Create free account
hub / github.com/KDAB/GammaRay / write

Method write

common/message.cpp:223–253  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

221}
222
223void Message::write(QIODevice *device) const
224{
225 Q_ASSERT(m_objectAddress != Protocol::InvalidObjectAddress);
226 Q_ASSERT(m_messageType != Protocol::InvalidMessageType);
227 static const bool compressionEnabled = qEnvironmentVariableIntValue("GAMMARAY_DISABLE_LZ4") != 1;
228 const int buffSize = m_buffer->data.size();
229 auto &compressedData = m_buffer->scratchSpace;
230 if (buffSize > minimumUncompressedSize && compressionEnabled)
231 compress(m_buffer->data.buffer(), compressedData);
232
233 const bool isCompressed = compressedData.size() && compressedData.size() < buffSize;
234 if (isCompressed)
235 writeNumber<Protocol::PayloadSize>(device, -compressedData.size()); // send compressed Buffer
236 else
237 writeNumber<Protocol::PayloadSize>(device, buffSize); // send uncompressed Buffer
238
239 writeNumber(device, m_objectAddress);
240 writeNumber(device, m_messageType);
241
242 if (buffSize) {
243 if (isCompressed) {
244 const int s = device->write(compressedData);
245 Q_ASSERT(s == compressedData.size());
246 Q_UNUSED(s);
247 } else {
248 const int s = device->write(m_buffer->data.buffer());
249 Q_ASSERT(s == m_buffer->data.size());
250 Q_UNUSED(s);
251 }
252 }
253}
254
255int Message::size() const
256{

Callers 15

writeAuditLogMethod · 0.80
writePropertyMethod · 0.80
sendServerAddressMethod · 0.80
sendServerLaunchErrorMethod · 0.80
extractMessagesFunction · 0.80
mergeMessagesFunction · 0.80
newConnectionMethod · 0.80
execCmdMethod · 0.80
server2clientMethod · 0.80
client2serverMethod · 0.80
doSendMessageFunction · 0.80
sendMessageFunction · 0.80

Calls 4

compressFunction · 0.85
writeNumberFunction · 0.85
bufferMethod · 0.80
sizeMethod · 0.45

Tested by 4

server2clientMethod · 0.64
client2serverMethod · 0.64
doSendMessageFunction · 0.64
sendMessageFunction · 0.64