mirror of
https://github.com/RGBCube/serenity
synced 2025-08-05 20:47:35 +00:00
Everywhere: Convert ByteBuffer factory methods from Optional -> ErrorOr
Apologies for the enormous commit, but I don't see a way to split this up nicely. In the vast majority of cases it's a simple change. A few extra places can use TRY instead of manual error checking though. :^)
This commit is contained in:
parent
140f1d9e55
commit
45cf40653a
79 changed files with 202 additions and 274 deletions
|
@ -27,10 +27,7 @@ ErrorOr<void> Client::drain_socket()
|
|||
{
|
||||
NonnullRefPtr<Client> protect(*this);
|
||||
|
||||
auto maybe_buffer = ByteBuffer::create_uninitialized(1024);
|
||||
if (!maybe_buffer.has_value())
|
||||
return ENOMEM;
|
||||
auto buffer = maybe_buffer.release_value();
|
||||
auto buffer = TRY(ByteBuffer::create_uninitialized(1024));
|
||||
|
||||
while (TRY(m_socket->can_read_without_blocking())) {
|
||||
auto nread = TRY(m_socket->read(buffer));
|
||||
|
|
|
@ -53,7 +53,7 @@ String InspectableProcess::wait_for_response()
|
|||
return {};
|
||||
}
|
||||
|
||||
auto data_buffer = ByteBuffer::create_uninitialized(length).release_value();
|
||||
auto data_buffer = ByteBuffer::create_uninitialized(length).release_value_but_fixme_should_propagate_errors();
|
||||
auto remaining_data_buffer = data_buffer.bytes();
|
||||
|
||||
while (!remaining_data_buffer.is_empty()) {
|
||||
|
|
|
@ -75,7 +75,7 @@ OwnPtr<Request> start_request(TBadgedProtocol&& protocol, ClientConnection& clie
|
|||
request.set_headers(headers);
|
||||
|
||||
auto allocated_body_result = ByteBuffer::copy(body);
|
||||
if (!allocated_body_result.has_value())
|
||||
if (allocated_body_result.is_error())
|
||||
return {};
|
||||
request.set_body(allocated_body_result.release_value());
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ void SpiceAgent::on_message_received()
|
|||
{
|
||||
ChunkHeader header {};
|
||||
read_n(&header, sizeof(header));
|
||||
auto buffer = ByteBuffer::create_uninitialized(header.size).release_value(); // FIXME: Handle possible OOM situation.
|
||||
auto buffer = ByteBuffer::create_uninitialized(header.size).release_value_but_fixme_should_propagate_errors(); // FIXME: Handle possible OOM situation.
|
||||
read_n(buffer.data(), buffer.size());
|
||||
auto* message = reinterpret_cast<Message*>(buffer.data());
|
||||
switch (message->type) {
|
||||
|
@ -118,7 +118,7 @@ void SpiceAgent::on_message_received()
|
|||
case (u32)MessageType::Clipboard: {
|
||||
auto* clipboard_message = reinterpret_cast<Clipboard*>(message->data);
|
||||
auto type = (ClipboardType)clipboard_message->type;
|
||||
auto data_buffer = ByteBuffer::create_uninitialized(message->size - sizeof(u32)).release_value(); // FIXME: Handle possible OOM situation.
|
||||
auto data_buffer = ByteBuffer::create_uninitialized(message->size - sizeof(u32)).release_value_but_fixme_should_propagate_errors(); // FIXME: Handle possible OOM situation.
|
||||
|
||||
const auto total_bytes = message->size - sizeof(Clipboard);
|
||||
auto bytes_copied = header.size - sizeof(Message) - sizeof(Clipboard);
|
||||
|
@ -209,7 +209,7 @@ SpiceAgent::Message* SpiceAgent::initialize_headers(u8* data, size_t additional_
|
|||
ByteBuffer SpiceAgent::AnnounceCapabilities::make_buffer(bool request, const Vector<Capability>& capabilities)
|
||||
{
|
||||
size_t required_size = sizeof(ChunkHeader) + sizeof(Message) + sizeof(AnnounceCapabilities);
|
||||
auto buffer = ByteBuffer::create_uninitialized(required_size).release_value(); // FIXME: Handle possible OOM situation.
|
||||
auto buffer = ByteBuffer::create_uninitialized(required_size).release_value_but_fixme_should_propagate_errors(); // FIXME: Handle possible OOM situation.
|
||||
u8* data = buffer.data();
|
||||
|
||||
auto* message = initialize_headers(data, sizeof(AnnounceCapabilities), MessageType::AnnounceCapabilities);
|
||||
|
@ -231,7 +231,7 @@ ByteBuffer SpiceAgent::ClipboardGrab::make_buffer(const Vector<ClipboardType>& t
|
|||
VERIFY(types.size() > 0);
|
||||
size_t variable_data_size = sizeof(u32) * types.size();
|
||||
size_t required_size = sizeof(ChunkHeader) + sizeof(Message) + variable_data_size;
|
||||
auto buffer = ByteBuffer::create_uninitialized(required_size).release_value(); // FIXME: Handle possible OOM situation.
|
||||
auto buffer = ByteBuffer::create_uninitialized(required_size).release_value_but_fixme_should_propagate_errors(); // FIXME: Handle possible OOM situation.
|
||||
u8* data = buffer.data();
|
||||
|
||||
auto* message = initialize_headers(data, variable_data_size, MessageType::ClipboardGrab);
|
||||
|
@ -249,7 +249,7 @@ ByteBuffer SpiceAgent::Clipboard::make_buffer(ClipboardType type, ReadonlyBytes
|
|||
{
|
||||
size_t data_size = sizeof(Clipboard) + contents.size();
|
||||
size_t required_size = sizeof(ChunkHeader) + sizeof(Message) + data_size;
|
||||
auto buffer = ByteBuffer::create_uninitialized(required_size).release_value(); // FIXME: Handle possible OOM situation.
|
||||
auto buffer = ByteBuffer::create_uninitialized(required_size).release_value_but_fixme_should_propagate_errors(); // FIXME: Handle possible OOM situation.
|
||||
u8* data = buffer.data();
|
||||
|
||||
auto* message = initialize_headers(data, data_size, MessageType::Clipboard);
|
||||
|
@ -267,7 +267,7 @@ ByteBuffer SpiceAgent::ClipboardRequest::make_buffer(ClipboardType type)
|
|||
{
|
||||
size_t data_size = sizeof(ClipboardRequest);
|
||||
size_t required_size = sizeof(ChunkHeader) + sizeof(Message) + data_size;
|
||||
auto buffer = ByteBuffer::create_uninitialized(required_size).release_value(); // FIXME: Handle possible OOM situation.
|
||||
auto buffer = ByteBuffer::create_uninitialized(required_size).release_value_but_fixme_should_propagate_errors(); // FIXME: Handle possible OOM situation.
|
||||
u8* data = buffer.data();
|
||||
|
||||
auto* message = initialize_headers(data, data_size, MessageType::ClipboardRequest);
|
||||
|
|
|
@ -73,10 +73,7 @@ ErrorOr<void> Client::drain_socket()
|
|||
{
|
||||
NonnullRefPtr<Client> protect(*this);
|
||||
|
||||
auto maybe_buffer = ByteBuffer::create_uninitialized(1024);
|
||||
if (!maybe_buffer.has_value())
|
||||
return ENOMEM;
|
||||
auto buffer = maybe_buffer.release_value();
|
||||
auto buffer = TRY(ByteBuffer::create_uninitialized(1024));
|
||||
|
||||
while (TRY(m_socket->can_read_without_blocking())) {
|
||||
auto nread = TRY(m_socket->read(buffer));
|
||||
|
@ -196,10 +193,7 @@ ErrorOr<void> Client::send_command(Command command)
|
|||
|
||||
ErrorOr<void> Client::send_commands(Vector<Command> commands)
|
||||
{
|
||||
auto maybe_buffer = ByteBuffer::create_uninitialized(commands.size() * 3);
|
||||
if (!maybe_buffer.has_value())
|
||||
return ENOMEM;
|
||||
auto buffer = maybe_buffer.release_value();
|
||||
auto buffer = TRY(ByteBuffer::create_uninitialized(commands.size() * 3));
|
||||
OutputMemoryStream stream { buffer };
|
||||
|
||||
for (auto& command : commands)
|
||||
|
|
|
@ -46,8 +46,8 @@ void Client::start()
|
|||
StringBuilder builder;
|
||||
|
||||
auto maybe_buffer = ByteBuffer::create_uninitialized(m_socket->buffer_size());
|
||||
if (!maybe_buffer.has_value()) {
|
||||
warnln("Could not create buffer for client (possibly out of memory)");
|
||||
if (maybe_buffer.is_error()) {
|
||||
warnln("Could not create buffer for client: {}", maybe_buffer.error());
|
||||
die();
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue