1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 22:37:35 +00:00

LookupServer: Use DuplexMemoryStream instead of BufferStream.

This commit is contained in:
asynts 2020-09-20 12:37:36 +02:00 committed by Andreas Kling
parent 3fa0bba4b4
commit 8f06e4aaa4

View file

@ -26,7 +26,7 @@
#include "DNSRequest.h"
#include "DNSPacket.h"
#include <AK/BufferStream.h>
#include <AK/MemoryStream.h>
#include <AK/StringBuilder.h>
#include <arpa/inet.h>
#include <ctype.h>
@ -77,22 +77,20 @@ ByteBuffer DNSRequest::to_byte_buffer() const
request_header.set_recursion_desired(true);
request_header.set_question_count(m_questions.size());
auto buffer = ByteBuffer::create_uninitialized(m_questions.size() * 4096);
BufferStream stream(buffer);
DuplexMemoryStream stream;
stream << ByteBuffer::wrap(&request_header, sizeof(request_header));
stream << ReadonlyBytes { &request_header, sizeof(request_header) };
for (auto& question : m_questions) {
auto parts = question.name().split('.');
for (auto& part : parts) {
stream << (u8)part.length();
stream << part;
stream << part.bytes();
}
stream << '\0';
stream << htons(question.record_type());
stream << htons(question.class_code());
}
stream.snip();
return buffer;
return stream.copy_into_contiguous_buffer();
}